This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: .NET Component .DLL & .TLB Registration
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jan 07, 2010
09:46 AM
.NET Component .DLL & .TLB Registration
I currently have an Installshield MSI package that copies 3 .NET DLL files to an installation directory in C:\Program Files\[MyApp].
Currently, once the installer copies the files to the directory, a .vbs script is called that executes a batch file. This batch file uses RegAsm.exe to register the .dlls and type libraries (.tlb files).
Due to recent security changes on the corporate network this no longer works. The files are copied properly, but when the installer (which is running with elevate priviliges on Vista workstations), shells out to the .vbs script to register the controls & type libraries, the .vbs script is not running with the elevated privileges like the installer. Therefore, the controls do not get registered.
To remedy this problem I would like to do away with the .vbs & batch files, and simply execute the registration commands from within the the installer package (which is running with elevated permissions.
What is the best way to accomplish this with Installshield 2010 Pro?
Here is a sample of the code I would need to execute from within the installer package:
[code]
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase [MyControl].dll /tlb:[MyControl].tlb[/code]
Thanks for any help in advance.
Currently, once the installer copies the files to the directory, a .vbs script is called that executes a batch file. This batch file uses RegAsm.exe to register the .dlls and type libraries (.tlb files).
Due to recent security changes on the corporate network this no longer works. The files are copied properly, but when the installer (which is running with elevate priviliges on Vista workstations), shells out to the .vbs script to register the controls & type libraries, the .vbs script is not running with the elevated privileges like the installer. Therefore, the controls do not get registered.
To remedy this problem I would like to do away with the .vbs & batch files, and simply execute the registration commands from within the the installer package (which is running with elevated permissions.
What is the best way to accomplish this with Installshield 2010 Pro?
Here is a sample of the code I would need to execute from within the installer package:
[code]
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase [MyControl].dll /tlb:[MyControl].tlb[/code]
Thanks for any help in advance.
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jan 07, 2010
10:14 AM
I essentially have the same problem below see thread - "admin area custom actions..." Except i created installscript custom actions that call regasm.exe.
Nobody responded. So my workaround was to instead of creating an MSI, I create a setup.exe instead. This way, you can right click and 'Run as Administrator'
If you run your custom actions as 'Deferred Custom Actions' (Note: not in the system context as others suggest) it works.
I know this is not the suggested way to do it, but it does work. Barring any answers to my question in my thread, this is the only way i've gotten it to work.
I have my custom action code in my thread also. You can take a look i there. This works on Vista and Windows 7 flawlessly.
Nobody responded. So my workaround was to instead of creating an MSI, I create a setup.exe instead. This way, you can right click and 'Run as Administrator'
If you run your custom actions as 'Deferred Custom Actions' (Note: not in the system context as others suggest) it works.
I know this is not the suggested way to do it, but it does work. Barring any answers to my question in my thread, this is the only way i've gotten it to work.
I have my custom action code in my thread also. You can take a look i there. This works on Vista and Windows 7 flawlessly.