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
- :
- DLL self-register on vista: HRESULT -2147220473
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
Jun 02, 2009
10:15 AM
DLL self-register on vista: HRESULT -2147220473
Hi,
I am having a problem with DLL self-registration:
--------------------------------------------------------------------------
Error 1904.Module C:\Program Files\\\System\A.dll failed to register. HRESULT -2147220473. Contact your support personnel.
MSI (s) (20!18) [01:23:22:561]: Product: -- Error 1904.Module C:\Program Files\\\System\A.dll failed to register. HRESULT -2147220473. Contact your support personnel.
--------------------------------------------------------------------------
Some additional info:
1) setup works fine on WinXP
2) after self-reg error messages on Vista, I can run regsvr32 and register all of my DLLs without any problems
Installshield support gave me 2 options:
1) make my own custom actions that call regsvr32.exe on my DLLs
2) use ExtractAtBuild bit on components that contain my DLLs so that registry is uploaded at build time and installed that way
I do not like either one of the options. First one will require me to write 30+ custom action calls and is a bit of a hack. I do not like the second one because the DLLs may do other stuff and call other things in their reg routine (so the method may not even work).
I cannot figure out what is causing these issues. I want to get to the bottom of this issue: what is causing this? Why is the stock self-registration method not working?
-igor.
I am having a problem with DLL self-registration:
--------------------------------------------------------------------------
Error 1904.Module C:\Program Files\
MSI (s) (20!18) [01:23:22:561]: Product:
--------------------------------------------------------------------------
Some additional info:
1) setup works fine on WinXP
2) after self-reg error messages on Vista, I can run regsvr32 and register all of my DLLs without any problems
Installshield support gave me 2 options:
1) make my own custom actions that call regsvr32.exe on my DLLs
2) use ExtractAtBuild bit on components that contain my DLLs so that registry is uploaded at build time and installed that way
I do not like either one of the options. First one will require me to write 30+ custom action calls and is a bit of a hack. I do not like the second one because the DLLs may do other stuff and call other things in their reg routine (so the method may not even work).
I cannot figure out what is causing these issues. I want to get to the bottom of this issue: what is causing this? Why is the stock self-registration method not working?
-igor.
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jun 02, 2009
11:39 AM
You can try using the MSI or the InstallShield self registration options. However, if both of these fail, there is nothing that can be done to change the behavior. In our experience, regsvr32.exe on Windows Vista (and newer) is shimmed which allows certain DLLs to register when they otherwise fail when calling their DllRegisterServer entry point (you can view the shims applied to regsvr32.exe with the Microsoft Application Compatibility Toolkit). The shims allow access checks to WRP protected resources to succeed where they would otherwise fail. If any of the DLLs that are failing to register are attempting to write/modify Windows protected files or registry keys, this is likely the cause of the failure.