سؤال

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?

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top