Peter Jones
Posts: 3
Joined: Sun Mar 01, 2009 4:49 pm

Registering a dll

I am trying to install register a dll.
The file properties for the dll are Auto register + Extract registration information from the native library.
The installation completes, all the files are placed in the correct location, but the dll is not registered.

If the registration is done via a custom action, as described here:
http://www.advancedinstaller.com/forums ... ocx#p20611

regsvr32 runs but gives the following error message "The call to Dllregserver failed with error code 0x80004005" and the install rolls back.

Running regsvr32 from the dos prompt registers the dll without any problem.
Can you offer any help with this?

Pete
GabrielBarbu
Posts: 2146
Joined: Thu Jul 09, 2009 11:24 am
Contact: Website

Re: Registering a dll

Hello,

The error code 0x80004005 denotes an "access is denied" error.
If you are using the Auto Register feature, you will have to run the install process with elevated privileges:
- either by right clicking on your installer and selecting Run As from the context menu
- or by setting the "Execution Level" to "Require Administrator" in the Bootstrapper tab on the Media page.

Alternatively, you can use the "EXE with working directory" custom action, like described in the post you mentioned, but it is important that you set the Custom Action's execution option to "Deferred with no impersonation".
If you are still encountering problems, please send us your project along with your self-registering .dll to support at advancedinstaller dot com.

Regards,
Gabriel
Gabriel Barbu
Advanced Installer Team
http://www.advancedinstaller.com/
Peter Jones
Posts: 3
Joined: Sun Mar 01, 2009 4:49 pm

Re: Registering a dll

Thanks for the quick reply. Setting the execution options to "Deferred with no impersonation" solved the problem.
However, it would be helpful to have some explanation of these cryptic terms in the help file. It would have saved me a days work.

Pete

Return to “Common Problems”