- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经制作了一个 NSIS 脚本,其中包含将我的可执行文件打包到一个文件中的内容。它工作正常。玩弄了几个命令行选项,当然还计划签署卸载程序。
这是脚本的片段,我不明白为什么这不起作用。
Function .onInit
!ifdef GEN_ONLY_UNINSTALLER
WriteUninstaller "out\uninst.exe"
Quit
!endif
FunctionEnd
使用此命令行选项时:
makensis /DGEN_ONLY_UNINSTALLER /V0 _Release_only_uninst.nsi
它不写卸载程序并退出。我在这里错过了什么?WriteUninstaller
应该去哪里?我怀疑我没有在正确的地方调用它。 :)
最佳答案
您只完成了一半的工作,您需要执行生成的安装程序,以便执行 WriteUninstaller 调用。
要获得可以签名的卸载程序,您必须:
!system
自身(将退出代码与 0 比较)!system
执行步骤 2 中生成的安装程序(WriteUninstaller 现在将写入卸载程序)!delfile
第二步生成的安装程序大致是这样的:
!ifdef STEP2
Function .onInit
WriteUninstaller "out\uninst.exe"
Quit
FunctionEnd
Outfile "$%temp%\genun.exe"
Section
SectionEnd
!else
!system '"makensis" /DSTEP2 "${__FILE__}"' = 0
!system '"$%temp%\genun.exe" /S'
!delfile "$%temp%\genun.exe"
!endif
此脚本将失败并出现错误,因为初始 makensis 实例不会生成有效的安装程序,这通常不是问题,因为可以将此代码添加到创建真正安装程序的脚本中...(完整的脚本将生成卸载程序,签名,生成安装程序然后签名)
关于nsis - makensis 似乎不适用于/D 命令行选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10980219/
我已经制作了一个 NSIS 脚本,其中包含将我的可执行文件打包到一个文件中的内容。它工作正常。玩弄了几个命令行选项,当然还计划签署卸载程序。 这是脚本的片段,我不明白为什么这不起作用。 Functio
我已经制作了一个 NSIS 脚本,其中包含将我的可执行文件打包到一个文件中的内容。它工作正常。玩弄了几个命令行选项,当然还计划签署卸载程序。 这是脚本的片段,我不明白为什么这不起作用。 Functio
我已经在linux上编译了makensis。从像这样的 bash shell 执行时效果很好。 makensis /path/to/setup.nsi 我想使用 python 脚本来执行它。我尝试过以
我是一名优秀的程序员,十分优秀!