0

是否可以识别安装了 MSI 的命令行?

例如,我在 MSI installatin 命令行中传递了一些自定义属性。msiexec /i msi1.msi CUSTOMPROPERTY1="帮帮我!"

过了一会儿,我想用 msi2.msi 更新 msi1.msi 并希望将相同的自定义属性传递给 msi2.msi 安装命令行。

命令行是否存储在任何地方?

我看到的方法是在 msi1.msi 中创建一个 reg 键,将存储 CUSTOMPROPERTY1 值并在 msi2.msi 中创建一个 AppSearch 条目来搜索这个 reg 条目。就我而言,我无法使用这种方法。这就是为什么寻找其他人。

4

2 回答 2

1

高级安装程序还可以帮助您设置永久属性选项。更新时您无需调用或搜索这些属性,它们的自定义值会自动从注册表中获取。

干杯

于 2013-10-17T06:38:51.660 回答
0

正确的。Windows Installer 不会为后续事务保留属性,因此您必须自己进行。这是一个谈论它的博客:

WiX 工具集的“记住属性”模式。

就个人而言,上述模式还远远不够。我所做的是将注册表值读入第二个属性,然后使用一系列有条件的自定义操作来仅在适当的情况下填充主值。目标是按以下从高到低的顺序强制执行属性优先级:

  1. 用户通过 UI 序列中对话框上的自定义控件输入的值。
  2. 通过命令行传递给安装程序的值。
  3. 值从以前的安装中保留下来。
  4. 默认值烘焙到 MSI。
于 2013-10-14T12:03:32.083 回答