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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/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
Wix升级安装程序,不使用msiexec_Wix_Upgrade - Fatal编程技术网

Wix升级安装程序,不使用msiexec

Wix升级安装程序,不使用msiexec,wix,upgrade,Wix,Upgrade,我必须创建一个带有升级部分的安装程序。我可以通过阅读这个网站上许多关于这个主题的帖子来发展这一点。但是,我发现正确运行升级安装程序的唯一方法是通过以下命令行: msiexec/i MyInstaller.msi重新安装=所有重新安装模式=vomus 如果双击MSI文件运行安装程序,则会出现错误: “已安装此产品的另一个版本…” 我需要通过双击MSI而不是使用命令行来运行安装程序。由于这个安装程序的用户非常不愿意以不同的方式执行安装程序,我强烈需要解决这个问题 我在StackOverflow中遇到

我必须创建一个带有升级部分的安装程序。我可以通过阅读这个网站上许多关于这个主题的帖子来发展这一点。但是,我发现正确运行升级安装程序的唯一方法是通过以下命令行:

msiexec/i MyInstaller.msi重新安装=所有重新安装模式=vomus

如果双击MSI文件运行安装程序,则会出现错误: “已安装此产品的另一个版本…”

我需要通过双击MSI而不是使用命令行来运行安装程序。由于这个安装程序的用户非常不愿意以不同的方式执行安装程序,我强烈需要解决这个问题

我在StackOverflow中遇到了许多问题,在那里我找到了如何实现升级标记(但双击时它从未起作用):


但是,无论我做什么,我都必须通过命令行运行升级安装程序。否则,我将得到以下错误:

已安装此产品的另一个版本。无法继续安装此版本。要配置或删除此产品的现有版本,请使用“控制面板”上的“添加/删除程序”

我非常感谢您能给我的任何帮助。

两件事:

  • 尝试使用WiX v3.5+中可用的
    MajorUpgrade
    元素,而不是
    Upgrade
    元素。更容易得到正确的答案
  • 每次要启用主要升级时,必须更改
    产品/@Id
    。一般来说,我建议总是进行重大升级,并使用
    Product/@Id='*'
  • MSI SDK中记录了这一点:

    两件事:

  • 尝试使用WiX v3.5+中可用的
    MajorUpgrade
    元素,而不是
    Upgrade
    元素。更容易得到正确的答案
  • 每次要启用主要升级时,必须更改
    产品/@Id
    。一般来说,我建议总是进行重大升级,并使用
    Product/@Id='*'

  • MSI SDK中记录了这一点:

    还要注意ProductVersion和ALLUSERS的含义。还要注意ProductVersion和ALLUSERS的含义。
    <Product Id="3ddf61a1-668f-421d-856f-4bb535a2ccc2"
           Name="Product v1.7.5.21"
           Language="1033"
           Version="1.7.5.21"
           Manufacturer="Company"
           UpgradeCode="BC52FD13-7F1D-4D92-BB6E-D3FCB2727E9B">
    <Package InstallerVersion="200" Compressed="yes"/>
    
    <Upgrade Id='15E2DAFB-35C5-4043-974B-0E342C25D76B'>
      <UpgradeVersion Property='OLDVERSIONFOUND' IncludeMinimum='no' Minimum='0.0.0.0' />
    </Upgrade>
    
    <InstallExecuteSequence>
      <LaunchConditions After='AppSearch' />
      <RemoveExistingProducts After='InstallValidate' />
    </InstallExecuteSequence>