我有一个64位的dll,我可以使用regsvr32从命令提示符注册。但问题是,当我尝试通过nsis脚本注册我的dll时,它没有注册。我在nsis脚本中使用了 RegDLL 命令。谁知道问题可能是什么?
答案 0 :(得分:3)
site:forums.winamp.com nsis
为例。
为了确保成功注册DLL,类型库,BHO等,您应该使用InstallLib
。它提供了x64库安装的选项(以及更多!)
有关使用NSIS安装库的更多详细信息,请参阅http://nsis.sourceforge.net/Docs/AppendixB.html#B.1。
答案 1 :(得分:3)
您可以改为使用rundll32.exe:
ExecWait '"$SYSDIR\rundll32.exe" $INSTDIR\mydll.dll DllRegisterServer'
如果你使用64位dll运行它,那么rundll32.exe足够聪明,可以启动自身的64位版本
答案 2 :(得分:2)
ExitWait找不到NSIS脚本。 ExitWait而不是ExecWait。
你可以使用:
ExecWait'" $ SYSDIR \ rundll32.exe" $ INSTDIR \ mydll.dll DllRegisterSe