Question

I have a 64bit dll which i'm able to register from command prompt with regsvr32. But the problem is when i try to register my dll through nsis script its not registered. I used RegDLL command in nsis script. Anyone knows what the problem may be?

Was it helpful?

Solution

you could use rundll32.exe instead:

ExecWait '"$SYSDIR\rundll32.exe" $INSTDIR\mydll.dll DllRegisterServer'

rundll32.exe is smart enough to launch the 64bit version of itself if you run it with a 64bit dll

OTHER TIPS

RegDLL is known to be problematic in anything but the simplest scenarios. Google site:forums.winamp.com nsis for examples.

To make sure that registration of your DLL, type library, BHO, etc occurs successfully, you should use InstallLib. It provides an option for x64 library installation (plus more!)

See http://nsis.sourceforge.net/Docs/AppendixB.html#B.1 for more details about library installation with NSIS.

ExitWait not found NSIS script. ExitWait instead ExecWait.

you cound use:

ExecWait '"$SYSDIR\rundll32.exe" $INSTDIR\mydll.dll DllRegisterSe

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top