使用 WiX 创建的简单 msi。尝试安装产品。在某些计算机上,它会失败,但不会出现错误,并且安装程序日志将包含以下行:
PROPERTY CHANGE: Adding WIX_UPGRADE_DETECTED property. Its value is '{7C9...0A0}'
PROPERTY CHANGE: Adding MIGRATE property. Its value is '{7C9...0A0}'
Product Code from property table after transforms: '{68F...FAE}'
Product not registered: beginning first-time install
Doing action: INSTALL
Doing action: InstallValidate
Feature: ProductFeature; Installed: Absent; Request: Null; Action: Null
MIGRATE = {7C9...0A0};{A9B...BCE}
Installation completed successfully.
不知何故,Windows Installer 决定无需执行任何操作(请求:空),即使它承认这是第一次安装。该计算机安装了该产品的早期版本。如何强制安装程序安装?
这是相关的 WiX 代码:
<Product Id="*"
Name="..."
Language="1033"
Version="..."
Manufacturer="..."
UpgradeCode="8D8...196">
<Package Id="*"
InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine"
InstallPrivileges="elevated"
Platform="$(var.Platform)" />
<Property Id="REINSTALLMODE" Value="amus" />
<MajorUpgrade AllowDowngrades="yes" IgnoreRemoveFailure="yes" AllowSameVersionUpgrades="no"/>
<Feature Id="ProductFeature" Title="..." Level="1" Absent="disallow" AllowAdvertise="no" InstallDefault="local" TypicalDefault="install">
<Condition Level="1">True</Condition>
完整安装程序日志:https://www.dropbox.com/s/abnryavh203a82w/acme_installer_log.txt?dl=0 https://www.dropbox.com/s/abnryavh203a82w/acme_installer_log.txt?dl=0
您没有在 MajorUpgrade 元素中设置 MigrateFeatures。文档说默认值为 Yes。
http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html http://wixtoolset.org/documentation/manual/v3/xsd/wix/majorupgrade.html
日志显示您正在进行升级,因此要安装的唯一功能是已安装的同一组功能。
目前尚不清楚您的产品中有多少功能,但如果您始终希望在升级期间安装所有功能,请将 MigrateFeatures 设置为 No。
无论哪种方式,最好提供整个日志以查看发生了什么以及是否有其他解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)