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: Error 1904 registering ocx in 64 bit builds (Vista and Windows Server 2008)
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
‎Sep 28, 2009
08:07 AM
Error 1904 registering ocx in 64 bit builds (Vista and Windows Server 2008)
I have an installscript msi project. It was upgraded from devstudio9 to installshield 2009 and installshield 2010. It builds installs for 64 bit installations. I set one component to self register and it works for XP 64 but not windows server 2008 64 or vista business 64. I've tried not self registering and running regsvr32 at the end of the installation from the script without any luck. I've tried disabling the UAC and still no luck. The only way I can get the file to register is to manually register it.
The error is "error 1904... HRESULT -2147010895"
Any ideas, I've searched all over this site and could not find a solution.
The error is "error 1904... HRESULT -2147010895"
Any ideas, I've searched all over this site and could not find a solution.
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 28, 2009
11:30 AM
The error detail from the posted HRESULT provides this information: "The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail."
If you are attempting to self-register a file that depends on Win32 side-by-side assemblies like the Visual C++ runtime, the assemblies are not committed to the machine until after InstallFinalize runs. Since all self-registration actions run before InstallFinalize commits the installation, the dependencies required to load the DLL will not be available yet on the machine, causing the registration to fail.
You can resolve this issue in a number of ways:
- Use COM extraction instead of self-registration to register the DLL.
- Install the Visual C++ runtime with the redistributable executable as a setup prerequisite instead of using the merge modules.
- Statically link the DLLs to the C++ runtime instead of dynamically linking.
More information can be found here:
http://blogs.msdn.com/astebner/archive/2007/01/09/problems-with-custom-actions-that-depend-on-the-visual-c-8-0-runtime-files-on-windows-vista.aspx
If you are attempting to self-register a file that depends on Win32 side-by-side assemblies like the Visual C++ runtime, the assemblies are not committed to the machine until after InstallFinalize runs. Since all self-registration actions run before InstallFinalize commits the installation, the dependencies required to load the DLL will not be available yet on the machine, causing the registration to fail.
You can resolve this issue in a number of ways:
- Use COM extraction instead of self-registration to register the DLL.
- Install the Visual C++ runtime with the redistributable executable as a setup prerequisite instead of using the merge modules.
- Statically link the DLLs to the C++ runtime instead of dynamically linking.
More information can be found here:
http://blogs.msdn.com/astebner/archive/2007/01/09/problems-with-custom-actions-that-depend-on-the-visual-c-8-0-runtime-files-on-windows-vista.aspx
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 29, 2009
10:16 AM
Can I self-register after installfinalize?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 29, 2009
11:48 AM
You could run an executable custom action that launches regsrv32 after InstallFinalize, but this action will not run with elevated privileges unless the whole setup (i.e. setup.exe) is run as administrator.