使用XML属性文件安装MSI

时间:2014-12-12 06:29:23

标签: powershell batch-file wix installer windows-installer

非常感谢有关如何安装MSI并通过xml文件修改其默认属性值的任何帮助,该文件具有在安装期间插入的新值。然后,通过引用xml文件将新属性值作为参数传递给MSIEXEC,因此将如下所示:

msiexec / I MyMSIFle.msi PROPERTIESFILE = ProdProperties.xml

需要这是因为我们有许多环境。为了论证,让我们说DEV,TEST和PROD。每个环境的MSI属性值都不同,并且将保存在离散的XML属性文件中,例如, DEV-Properties.xml,TEST-Properties.xml和PROD-Properties.xml。

MSI是一个单一的通用MSI,我们打算在所有三个环境中成功安装,只需传入正确的属性值,所有这些都嵌入在各个XML文件中。

我会特别高兴接受使用Powershell,Windows Batch脚本,VBScript等的解决方案,但没有第三方软件,因为我们在公司内部严格限制使用任何此类产品。

谢谢

1 个答案:

答案 0 :(得分:0)

我建议您为MSI创建自定义操作。以下是一个示例:

http://blogs.technet.com/b/alexshev/archive/2009/05/15/from-msi-to-wix-part-22-dll-custom-actions-introduction.aspx

您可以将.xml文件名作为属性传递,并将文件从给定路径反序列化为对象。然后,您可以从对象覆盖更多属性。

无论如何,我认为在安装程序中包含这样的逻辑是不明智的。我认为更好的方法是在注册表中写一个简单的标志,告诉我们哪个环境有问题,让安装好的程序让其休息。