我有一个我在WIX中创建的MSI安装程序,我想从.bat文件运行,但我需要它在一个MSI文件中。我该怎么做?例如,我有一个.bat文件来执行此操作
MD C:\TEMP\BATS
START /W msiexec /i Installer.msi /l*v C:\TEMP\BATS\INSTALLERLOG.txt
SLEEP 5
DEL C:\TEMP\INSTALLERLOG.txt
RD C:\TEMP
我想创建一个包含.bat文件和.msi文件的.msi或.exe文件,并将解压缩这两个文件并运行.bat文件。这可能吗?我这样做只是为了强制记录,如果安装程序失败,将通过自定义操作显示给用户。
答案 0 :(得分:2)
听起来你被解决方案对应方的技术细节所困扰。试着忘掉你现在所拥有的东西,想想你实际需要的东西。
据我所知,你的代码片段中,bat文件创建了一个临时目录,运行带有详细日志记录选项的MSI软件包安装,然后删除生成的日志文件......对我来说听起来有点无意义。 ..
这就是我在你的情况下会做的事情:
摆脱那个bat文件
问问自己它的目的是什么。如果要修改目标系统,请修改此逻辑并按照您可以找到的所有最佳实践将其移至MSI包。如果必须进行某些服务工作,例如准备主MSI包的参数,然后考虑创作一个bootstrapper。
答案 1 :(得分:0)
您可以尝试IExpress生成单个EXE文件。另一种解决方案是使用自解压EXE存档,它可以在完成提取时启动特定文件。