2012-01-26 48 views
0

我的方案如下:什么是定制安装程序的正确方法

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

我正在考虑以下方案:

  1. 拆开微星,未压缩CAB,修改文件,压缩CAB,创建MSI(如本link解释)。问题是我需要这个自动完成(没有GUI,没有用户干预)

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

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

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

回答

1

你用什么来创作你的安装程序?我知道WiX和InstallShield都有自定义操作,旨在使用XPath语句更新XML文件。你可以不喜欢

事情Foo.Exe.Config //的appSettings /添加[@键= “服务器”]设定值= “[SERVERNAMEPROPERTY]”

然后,你可以写,要求自定义对话框用户为设置属性的值。您也可以静默安装有:

MSIEXEC/I foo.msi/QN SERVERNAMEPROPERTY = MyServerName

+0

目前我使用Visual Studio的“安装和部署项目” – OSH

+0

该工具允许您创建一个自定义对话框,但它没有XML支持。您必须编写自定义操作才能执行此操作。您应该知道Microsoft已弃用该工具,并将其从Visual Studio的下一个版本中删除。您可能会考虑切换到另一个工具,如InstallShield Limited Edition(由Microsoft推荐)或Windows Installer XML。 –

+0

谢谢!我将研究InstallShield,但现在我要实现自定义操作。 – OSH

相关问题