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
Wix 在主要升级期间,提示用户进行版本升级_Wix_Windows Installer_Wix3.8 - Fatal编程技术网

Wix 在主要升级期间,提示用户进行版本升级

Wix 在主要升级期间,提示用户进行版本升级,wix,windows-installer,wix3.8,Wix,Windows Installer,Wix3.8,我用WIX构建了一个msi安装程序。根据要求,我必须为下一个版本进行升级。因此,我检查了升级、升级类型、实施步骤,发现主要升级适合我们。因此,按照步骤,我更改了包代码、产品代码和版本号,增加了projectmain.wxs文件中的版本,并生成了正在正确升级的版本,我在注册表、控制面板等中签入了该版本 主要升级版本正在正确迁移功能,但用户不知道安装程序是正在升级还是正在进行新安装。我希望看到这样的消息:安装程序已从v1.0.0.0升级到v2.0.0.0。当用户要进行安装时,是否要继续 注意:在我的

我用WIX构建了一个msi安装程序。根据要求,我必须为下一个版本进行升级。因此,我检查了升级、升级类型、实施步骤,发现主要升级适合我们。因此,按照步骤,我更改了包代码、产品代码和版本号,增加了projectmain.wxs文件中的版本,并生成了正在正确升级的版本,我在注册表、控制面板等中签入了该版本

主要升级版本正在正确迁移功能,但用户不知道安装程序是正在升级还是正在进行新安装。我希望看到这样的消息:安装程序已从v1.0.0.0升级到v2.0.0.0。当用户要进行安装时,是否要继续

注意:在我的项目中,我只有2个自定义对话框,其他所有对话框都是e.x.欢迎对话框、EULA对话框、InstallDir对话框等。。。默认情况下来自WixUIExtension.dll


我浏览了一些与主要升级相关的链接和博客,但没有找到与此相关的适当解决方案。请分享您的宝贵意见&这方面的最佳方式/实践是什么

您可以通过检查UPGRADINGPRODUCTCODE属性来检测主要升级。然后,您将需要一个自定义操作来查询MSI以获取该已安装产品的ProductVersion。最后,您必须询问用户并继续或中止


您计划如何处理静默安装?如果您使用WiX majorupgrade标签,则在执行主要升级时,只需自动继续或要求他们传递一个属性,如AGREETOUPGRADE=1?

,然后设置WiX\u upgrade\u DETECTED属性。您可以使用它来调节要显示的对话框。该属性值将是旧产品的ProductCode,因此您可以执行类似MsiGetProductInfo ProductCode,….INSTALLPROPERTY\u VERSIONSTRING。。。。获取其版本。该对话框可能需要取消以中止升级

您可能会遇到问题,因为检索ProductVersion可能需要提升。一般来说,没有人会费心验证这样的升级,因为您的客户比这更聪明。他们知道安装是否在升级新产品,你问的问题越少,他们越高兴