自定义安装程序的正确方法是什么

时间:2012-01-26 14:04:05

标签: windows installation windows-installer

我的方案如下:

我有一个客户端 - 服务器应用程序。客户端通过MSI包部署。我想自定义MSI以包含一些特定于每个安装的细节(即我需要将服务器的地址写入我的一个配置文件中;每个安装中的地址都不同)。

我正在考虑以下替代方案:

  1. 解压缩MSI,解压缩CAB,修改文件,压缩CAB,创建MSI(如本link中所述)。问题是我需要自动完成(没有GUI,没有用户干预)

  2. 将地址作为参数传递给MSI。然后在安装过程中读取此参数并修改文件。这是不太理想的,因为在客户端上创建配置文件是我目前没有做的事情,这意味着向客户端添加另一个组件。

  3. 在服务器上从头开始创建MSI。

  4. 如果有人有类似的经历,我会很感激反馈。

1 个答案:

答案 0 :(得分:1)

您使用什么来编写安装程序?我知道WiX和InstallShield都有自定义操作,旨在使用XPath语句更新XML文件。你可以做像

这样的事情

对于Foo.Exe.Config // appSettings / Add [@ key =“Server”]设置值=“[SERVERNAMEPROPERTY]”

然后您可以编写一个自定义对话框,询问用户设置属性的值。您还可以使用以下命令执行静默安装:

msiexec / i foo.msi / qn SERVERNAMEPROPERTY = MyServerName