문제

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