我正在尝试使用 electro-builder (版本 20.39.0)创建一个 .msi 安装程序文件,可以在安装时对其进行参数化。参数(例如服务器端点)应写入文件中。
示例:
然后应该出现在安装目录中MsiExec /i "MyProject.msi" SERVER_ENDPOINT=myapp.example.com
的myapp.example.com文件中。
我尝试编辑Electron-builder 的 wix 模板文件,添加以下内容以将 ${SERVER_ENDPOINT} 写入 server.txt
文件C:\...\MyProject\node_modules\electron-builder-lib\templates\msi\template.xml
...
<CustomAction Id="writeConfigFile" Directory="APPLICATIONFOLDER" Execute="commit" Impersonate="yes" ExeCommand="cmd.exe /c "echo ${SERVER_ENDPOINT} > server.txt"" Return="check" />
...
<InstallExecuteSequence>
...
<Custom Action="writeConfigFile" After="InstallFinalize"/>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
跑步与
MsiExec /i "MyProject.msi" /L*v Install.log SERVER_ENDPOINT=myapp.example.com
Run Code Online (Sandbox Code Playgroud)
我还没有工作。它安装但不显示writeConfigFile在日志文件中。
您认为这是使 msi 文件参数化的正确方法吗?
或者您会推荐另一种解决方案吗?
我还找到了 Orca.exe,用于创建 MST 文件,但我更喜欢一个简单的解决方案,无需手动步骤。