0

我有一个 msi 文件,我试图嵌入一个转换为 .exe 的 .bat 文件

到目前为止我在逆戟鲸做了什么>

添加二进制

设置名称,放入二进制数据(指向.exe)

进入习惯

设置动作名称,类型 2,源名称,将目标留空

进入安装执行序列

放入我的actionname,将条件留空,按顺序放入installfinalize 6600之后

我放了6601

现在当我运行这个 MSI 时。

安装软件,但我的 .exe 直到我点击卸载按钮并提示一条消息后才会运行:

作为设置的一部分运行的程序未按预期完成

知道我做错了什么吗?

我想让这个 MSI 在安装后运行 .exe。

谢谢!

4

1 回答 1

1

我假设这个 EXE 正在以任何方式操纵系统,这意味着您需要将 CustomAction Type 更改为 3074 并将其放在 InstallFinalize 之前。

此脚本是否需要在安装、卸载和修复时运行?如果仅在安装期间:将 NOT REMOVE 设置为条件。

无论如何:将已编译的批处理文件嵌入到 MSI 文件中并不是一个好主意。您需要执行的大多数操作都可以使用标准 Windows 安装程序功能来完成。如果您需要向 MSI 添加功能,至少不要编译批处理文件,原因如下:

  • 没有人知道批次在做什么
  • 此批处理文件没有标准日志记录
  • 没有卸载/修复批处理正在执行的操作
  • 如果需要,无法定制批次
于 2015-02-23T08:01:28.500 回答