电子生成器自定义 NSIS 包含脚本宏不起作用
Posted
技术标签:
【中文标题】电子生成器自定义 NSIS 包含脚本宏不起作用【英文标题】:electron-builder custom NSIS include script macro not working 【发布时间】:2021-06-10 13:07:16 【问题描述】:我创建了一个electron 桌面应用程序并使用electron-builder 创建了一个安装程序。
现在我想尝试像 customInstall
和 customUnInstall
这样的宏
我的installer.nsh
文件是
!macro customInstall
MessageBox MB_OK "Test output 1"
!macroend
!macro customUnInstall
MessageBox MB_OK "Test output 2"
!macroend
我的electron-builder
配置是
"build":
"nsis":
"include": "installer.nsh"
,
"mac":
"icon": "build/icon.png"
,
"win":
"icon": "build/icon.png"
但这对我不起作用。我已经确认 installer.nsh
正在通过在其中引入错误来工作。
我缺少什么让它工作?
【问题讨论】:
【参考方案1】:实际上,此时一切正常。
您的宏 customInstall 和 customUnInstall 定义正确,但它们不是从任何地方调用的。
只需从适当的部分/功能/地点/情况/等中调用它们。
它们的执行完全取决于你,脚本不会自动调用它们。
【讨论】:
无需从任何地方手动调用它们。electron-builder
正在使用这些宏来完成这项工作。 installer.nsh
是 electron-builder
配置的一部分
好的,显示生成的 .nsi 脚本如何调用 customInstall 和 customUnInstall 宏。
我了解它是如何设计的,我想看看真正的结果,electron-builder 是否生成了 .nsi 脚本文件并正确包含文件。如果没有(如果您的脚本无法发布,您可以自行检查),那么您需要手动调用该宏...
在我已经提到的问题中,我有installer.nsh
正在通过在其中添加MessageBox MB_OK ""Test output 1"
之类的错误来启动和运行。这意味着 macros
正在被调用
执行安装程序时,您是否看到带有文本“测试输出 1”的消息框?如果是,那么您的脚本正在运行并调用宏,否则为否。当您出现 MessageBox MB_OK ""Test output 1" 之类的错误时,这意味着脚本未正确编译,但与从安装程序中调用宏无关。以上是关于电子生成器自定义 NSIS 包含脚本宏不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VS 2010 中出现第一个错误时停止 C# 编译(VS 2008 宏不起作用)!