如何将bat文件与MSI结合使用?

时间:2013-08-01 20:28:20

标签: batch-file wix exe

我有一个我在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文件。这可能吗?我这样做只是为了强制记录,如果安装程序失败,将通过自定义操作显示给用户。

2 个答案:

答案 0 :(得分:2)

听起来你被解决方案对应方的技术细节所困扰。试着忘掉你现在所拥有的东西,想想你实际需要的东西。

据我所知,你的代码片段中,bat文件创建了一个临时目录,运行带有详细日志记录选项的MSI软件包安装,然后删除生成的日志文件......对我来说听起来有点无意义。 ..

这就是我在你的情况下会做的事情:

摆脱那个bat文件

问问自己它的目的是什么。如果要修改目标系统,请修改此逻辑并按照您可以找到的所有最佳实践将其移至MSI包。如果必须进行某些服务工作,例如准备主MSI包的参数,然后考虑创作一个bootstrapper。

答案 1 :(得分:0)

您可以尝试IExpress生成单个EXE文件。另一种解决方案是使用自解压EXE存档,它可以在完成提取时启动特定文件。