Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有AllowDowgrades的Wix实例转换_Wix_Installation_Windows Installer_Silent Installer - Fatal编程技术网

具有AllowDowgrades的Wix实例转换

具有AllowDowgrades的Wix实例转换,wix,installation,windows-installer,silent-installer,Wix,Installation,Windows Installer,Silent Installer,我有一个带wxs文件的wix安装项目 我已经配置了MajorUpgrade AllowDowngrades=“yes”,并定义了实例转换以允许多个实例 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <?define WixDemoWPFApp_TargetDir=$(var.WixDemoWPFApp.TargetDir)?> <Product Id="*" Name="WixSetupWPFApp"

我有一个带wxs文件的wix安装项目

我已经配置了MajorUpgrade AllowDowngrades=“yes”,并定义了实例转换以允许多个实例

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define WixDemoWPFApp_TargetDir=$(var.WixDemoWPFApp.TargetDir)?>
<Product Id="*" Name="WixSetupWPFApp" Language="1033" Version="2.0.0.0" Manufacturer="Licence Owner"
       UpgradeCode="ae4af8f5-9287-408a-b7bd-d2fdb89a8da7">
 <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

 <MajorUpgrade  DowngradeErrorMessage="Downgrade not allowed" />
<MediaTemplate />

  <Property Id="INSTANCEID" Value="0" />

  <InstanceTransforms Property="INSTANCEID">
  <Instance Id="I01" ProductCode="{888F3620-F2AB-4C0B-A276-0A5AE9C0B6CB}" ProductName="WixDemo 3.7.4 Dev" />
  <Instance Id="I02" ProductCode="{01D23E62-A369-43E1-914A-FA017B1EE822}" ProductName="WixDemo 3.7.4 Test" />
  <Instance Id="I03" ProductCode="{00D804D7-0AD0-412C-805A-4D37FF74FFA3}" ProductName="WixDemo 3.7.5" />
  <Instance Id="I04" ProductCode="{6C3E5B4E-BF7D-4E7E-A62A-B7DFB750F581}" ProductName="WixDemo 3.7.6" />

  </InstanceTransforms>

  <Feature Id="ProductFeature" Title="WixSetupWPFApp" Level="1">
  <ComponentGroupRef Id="ProductComponents" />
  </Feature>
  </Product>
 <Fragment>

 <SetDirectory Id="WINDOWSVOLUME" Value="[WindowsVolume]" />
 <Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="WINDOWSVOLUME">
    <Directory Id="WixDemo" Name="WixDemo">
      <Directory Id="INSTALLLOCATION" Name="WixDemo" />
    </Directory>
  </Directory>
 </Directory>

 </Fragment>

 <Fragment>
 <ComponentGroup Id="ProductComponents" Directory="INSTALLLOCATION">
  <Component Id="WixDemoWPFApp.exe" Guid="42907ee1-2bb2-4416-8d8f-cebc2bf53f09">
    <File Id="WixDemoWPFApp.exe" Name="WixDemoWPFApp.exe" Source="$(var.WixDemoWPFApp_TargetDir)WixDemoWPFApp.exe" />
  </Component>
  <Component Id="WixDemoWPFApp.exe.config" Guid="ed8a9503-2eb1-4f49-b7f3-f027f542c93f">
    <File Id="WixDemoWPFApp.exe.config" Name="WixDemoWPFApp.exe.config"
          Source="$(var.WixDemoWPFApp_TargetDir)WixDemoWPFApp.exe.config" />
   </Component>
   <Component Id="WixDemoWPFApp.pdb" Guid="5bf6cd62-7bc7-42cd-839a-7b66d7e8a09a">
    <File Id="WixDemoWPFApp.pdb" Name="WixDemoWPFApp.pdb" Source="$(var.WixDemoWPFApp_TargetDir)WixDemoWPFApp.pdb" />
   </Component>
   </ComponentGroup>
  </Fragment>
  </Wix>


现在,当我尝试安装MSI的多个实例时,即使ProductName、ProductCode和InstanceId不同,也会卸载上一个实例。

发生重大升级,因为升级代码在较旧和较新的产品中是相同的,事实上它要求ProductCode不同。如果需要为每个不同的实例(和ProductCode)进行特定的升级,则向实例元素添加新的唯一升级代码