0

我有一个要静默安装的 .msi 文件。但是,它似乎有一个依赖模块,不断要求用户输入。所以包的第一部分被安装了,但是当它到达依赖模块时,它要求用户输入。我使用的命令是 msiexec /i setup.msi /quiet。

我还想在安装期间更改默认安装的目标文件夹。我不能用 msiexec 做到这一点。我阅读了可以在哪里使用转换,但我不知道要编辑哪个属性的名称。

所以我决定将 .msi 文件转换为 .exe,因为我知道我可以为 .exe 创建一个应答文件。但是,生成的 .exe 文件无法识别静默开关,也不会在提供 /r 开关时创建和应答文件。我使用 Ultimate MSI to EXE Con​​verter Trial 进行转换。所以我的问题是:

  1. 如何获取从 .msi 转换的 .exe 以识别静音开关?
  2. 如何隐藏 .msi 文件中的依赖模块?
  3. 如何为 .msi 文件创建响应文件?

如果可以避免的话,我宁愿不要在这方面向软件供应商求助。

4

1 回答 1

0

创建转换是正确的做法。要修改的确切表数据取决于相关的 MSI。一些 MSI 需要修改 Directory 表,而 set 需要修改 CustomAction 表。(覆盖目录表中默认值的类型 51 或类型 35 CA)。

至于依赖性检查,可能是 LaunchConditions 表或 InstallUISequence 和/或 InstallExecuteSequence 表中计划的类型 19 CA。

如果我能看到 MSI,我可以给出更好的答案。一旦您进行了适当的转换,命令行将是:

msiexec /I foo.msi /qn TRANSFORMS=foo.mst
于 2013-11-12T20:33:31.837 回答