无法通过nsis脚本注册我的64位dll



我有一个64位的dll,我可以用regsvr32从命令提示符注册。但问题是,当我试图通过nsis脚本注册我的dll未注册。我在nsis脚本中使用了RegDLL命令。有人知道是什么问题吗?

你可以使用rundll32.exe:

ExecWait '"$SYSDIRrundll32.exe" $INSTDIRmydll.dll DllRegisterServer'

rundll32.exe是足够聪明的启动自己的64位版本,如果你运行它与64位的dll

众所周知,除了最简单的场景,RegDLL在任何情况下都是有问题的。谷歌site:forums.winamp.com nsis就是一个例子。

要确保你的DLL、类型库、BHO等的注册成功,你应该使用InstallLib。它为x64库安装提供了一个选项(还有更多!)

关于使用NSIS安装库的详细信息,请参阅http://nsis.sourceforge.net/Docs/AppendixB.html#B.1

ExitWait未找到NSIS脚本。ExitWait代替ExecWait

你可以使用:

ExecWait '"$SYSDIRrundll32.exe" $INSTDIRmydll.dll DllRegisterSe

最新更新