用于更新程序的WIX安装程序

时间:2014-10-23 08:24:43

标签: c# wix

安装程序

 <Product Id="111" Name="111" Language="1049" Version="1.0.0.0" Manufacturer="11" UpgradeCode="111" Codepage="1251">
    <Package InstallerVersion="200" Compressed="yes" />
     <DirectoryRef Id="Messages">
      <Component Id="1">
        <File Id="1" Name="1" Source="Messages\1.xml" DiskId="1" KeyPath="yes" />
      </Component>
      <Component Id="2">
        <File Id="2" Name="2" Source="Messages\2.xml" DiskId="1" KeyPath="yes" />
      </Component>

有必要更新组件2并添加组件3.组件1不应该更新为现在的组件。 如何使用新的msi实现它?

1 个答案:

答案 0 :(得分:1)

你可以使用Patch(如果你只想包含这些“差异” - 没有comp1),但它会创建 .msp 文件而不是.msi Minor Upgrade - 要在此处升级文件,您可以设置一些安装选项(但必须使用 msiexec 示例:

msiexec /i msiname.msi REINSTALL=ALL REINSTALLMODE=vomus

您可以在此处更改REINSTALLREINSTALLMODE属性。

我更喜欢Patch选项我给你链接到教程,现在来自我的东西,要获得 .msp 文件你需要2个文件夹,一个是旧版本,第二个是新版本(两个目录)对于这两个目录,你必须为这两个目录创建安装程序 - 设置不同的路径(不能是同一个文件夹,因为你不会使用.msi 文件以获得差异,但 .wixpdb !!)。接下来,您将获得教程( patch.wxs 代码)中的代码。在<PatchFamily>元素中,您使用<ComponentRef>元素来选择应检查哪些组件。如果存在一些差异,则会将其添加到 .msp 文件中。

您可以使用 Orca.exe 检查 .msp 文件中的内容。首先,您必须打开安装程序(无需更改)并获取表单菜单转换 - &gt;查看补丁... 就是这样!