2

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

4

2 回答 2

3

听起来您被解决方案对应方的技术细节所吸引。试着暂时忘记你所拥有的,想想你真正需要什么。

据我从您的代码片段中可以看出,bat 文件创建了一个临时目录,使用详细日志记录选项运行 MSI 包安装,然后删除生成的日志文件......对我来说听起来有点没有意义......

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

摆脱那个bat文件

问问自己它的目的是什么。如果它可以修改目标系统,则按照您可以找到的所有最佳实践修改此逻辑并将其移动到您的 MSI 包中。如果它必须进行一些服务工作,例如为主 MSI 包准备参数,那么考虑编写一个引导程序。

于 2013-08-02T13:12:41.167 回答
0

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

于 2013-08-02T09:07:12.563 回答