Wix升级进入维护模式,永远不会升级
我正在运行Wix 3.11.1,当尝试进行升级时,升级进入维护模式,并在“添加/删除程序”列表中留下两个条目.
Product.wxs的简短版本具有以下内容: <Product Id="*" Name="Boo" Language="1033" Version="1.1.0.0" Manufacturer="Foo" UpgradeCode="PUT-GUID-HERE"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine"/> <MajorUpgrade AllowDowngrades="no" AllowSameVersionUpgrades="yes" DowngradeErrorMessage="!(loc.NewerVersionInstalled)" /> 升级代码: 产品和包装代码是: 1.0 产品代码FC49F622-02E6-40D9-ACD9-92BDD4AF5979 包装代码6C49FAA1-5B11-4173-80A7-A7B3FA4313AE 1.1 产品号4871555F-F369-4159-9EF0-4BBDF07B6842 码包编码3594D7C2-D5AC-4A41-A8C6-6E3D63C6ACA0 当我使用日志记录运行安装程序时,我得到如下所示的日志信息. Log File MSI (s) (68:9C) [15:04:38:423]: Doing action: RemoveExistingProducts Action 15:04:38: RemoveExistingProducts. Removing applications Action start 15:04:38: RemoveExistingProducts. RemoveExistingProducts: Application: {FC49F622-02E6-40D9-ACD9-92BDD4AF5979},Command line: UPGRADINGPRODUCTCODE={4871555F-F369-4159-9EF0-4BBDF07B6842} CLIENTPROCESSID=8344 CLIENTUILEVEL=0 MSICLIENTUSESEXTERNALUI=1 REMOVE=ALL MSI (s) (68:BC) [15:04:38:423]: Resetting cached policy values MSI (s) (68:BC) [15:04:38:423]: Machine policy value 'Debug' is 0 MSI (s) (68:BC) [15:04:38:423]: ******* RunEngine: ******* Product: {FC49F622-02E6-40D9-ACD9-92BDD4AF5979} ******* Action: ******* CommandLine: ********** MSI (s) (68:BC) [15:04:38:423]: Note: 1: 2203 2: C:WINDOWSInstallerinprogressinstallinfo.ipi 3: -2147287038 MSI (s) (68:BC) [15:04:38:423]: Machine policy value 'LimitSystemRestoreCheckpointing' is 0 MSI (s) (68:BC) [15:04:38:423]: Note: 1: 1717 2: Boo MSI (s) (68:BC) [15:04:38:423]: Calling SRSetRestorePoint API. dwRestorePtType: 1,dwEventType: 102,llSequenceNumber: 0,szDescription: "Removed Boo". MSI (s) (68:BC) [15:04:38:439]: The call to SRSetRestorePoint API succeeded. Returned status: 0,llSequenceNumber: 45. MSI (s) (68:BC) [15:04:38:439]: End dialog not enabled MSI (s) (68:BC) [15:04:38:439]: Original package ==> C:WINDOWSInstaller1179bb4.msi MSI (s) (68:BC) [15:04:38:439]: Package we're running from ==> C:WINDOWSInstaller1179bb4.msi MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: Uninstall Flags override found. MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: Uninstall VersionNT override found. MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: Uninstall ServicePackLevel override found. MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: looking for appcompat database entry with ProductCode '{FC49F622-02E6-40D9-ACD9-92BDD4AF5979}'. MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: no matching ProductCode found in database. MSI (s) (68:BC) [15:04:38:439]: Machine policy value 'DisablePatch' is 0 MSI (s) (68:BC) [15:04:38:439]: Machine policy value 'AllowLockdownPatch' is 0 MSI (s) (68:BC) [15:04:38:439]: Machine policy value 'DisableLUAPatching' is 0 MSI (s) (68:BC) [15:04:38:439]: Machine policy value 'DisableFlyWeightPatching' is 0 MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: looking for appcompat database entry with ProductCode '{FC49F622-02E6-40D9-ACD9-92BDD4AF5979}'. MSI (s) (68:BC) [15:04:38:439]: APPCOMPAT: no matching ProductCode found in database. MSI (s) (68:BC) [15:04:38:439]: Transforms are not secure. MSI (s) (68:BC) [15:04:38:439]: Command Line: UPGRADINGPRODUCTCODE={4871555F-F369-4159-9EF0-4BBDF07B6842} CLIENTPROCESSID=8344 CLIENTUILEVEL=0 MSICLIENTUSESEXTERNALUI=1 REMOVE=ALL MSI (s) (68:BC) [15:04:38:439]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{6C49FAA1-5B11-4173-80A7-A7B3FA4313AE}'. MSI (s) (68:BC) [15:04:38:439]: Product Code passed to Engine.Initialize: '{FC49F622-02E6-40D9-ACD9-92BDD4AF5979}' MSI (s) (68:BC) [15:04:38:439]: Product Code from property table before transforms: '{FC49F622-02E6-40D9-ACD9-92BDD4AF5979}' MSI (s) (68:BC) [15:04:38:439]: Product Code from property table after transforms: '{FC49F622-02E6-40D9-ACD9-92BDD4AF5979}' MSI (s) (68:BC) [15:04:38:439]: Product registered: entering maintenance mode 更新: 这确实是一个捆绑安装.我看着msi是罪魁祸首因为我认为Wix捆绑包会使用msiexec来执行卸载. 在我们的构建中,我们使用搜索词“0.0.0.0”作为bundle中的版本和msi然后我们用正确的版本替换,在构建结束时我们还原Bundle.wxs和Product.wxs. 当安装程序正在处理时,开发人员必须在构建文件中注释掉还原,以便处理文件.开发人员完成后,需要将版本设置回“0.0.0.0”.在其中一个安装程序检查中,有人不得不忘记改回“0.0.0.0”. 我自己尝试了两个版本的msi,升级确实删除了原始安装的条目.但是,即使版本正确,捆绑包升级仍会留下第二个条目.
日志显示升级成功,安装新产品并删除旧产品.程序和功能中两个条目最可能的解释是,实际的MSI产品有一个,WiX引导程序有另一个.您可能需要使用ARPSYSTEMCOMPONENT = 1抑制MSI,或者使用WiX引导程序支持来抑制MSI的条目.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – KillTimer是否必要?
- 在Powerershell for Windows中使用Start-Job调用Foreground
- windows – 您是否可以使用WMI来确定连接是否从DHCP获取其D
- windows-7 – 更新应用程序后在Windows 7上单击固定项目时“
- windows-server-2008 – 在Amazon EC2上运行的Windows Serv
- windows – 通过SMB / CIFS的文件服务器
- windows – Xampp – 安装SQL Server和Visual Studio后无法
- windows-server-2008-r2 – 我需要打开哪些防火墙端口才能使
- windows-phone-8.1 – WIndows Phone Runtime app短信
- windows – FOSSIL(版本控制系统)不添加.htaccess文件.为什
- 加密 – 无法在Windows 7/2008环境中使用aspnet_
- 让DNS服务器支持泛域名解析
- 部署 – 将REINSTALLMODE传递给MSI文件
- Windows8 Metro界面下的StreamSocket 发送数据与
- Windows – 如何删除Server 2008 SP1的安装文件
- windows-phone-7 – 隔离存储中的数据持续多长时
- windows-server-2012-r2 – 将Windows Server 20
- windows – 通过tf.exe确定TFS工作区的本地路径
- windows – 为什么我的Ruby线程演示不使用两个内
- windows-7 – 用于具有触摸界面的禁用控件的UX设