简体   繁体   English

wix msi install:如果在installFinalize之后安排了removeexistingproducts产品,则升级时将删除注册表

[英]wix msi install: registry is removed on upgrade if removeexistingproducts is scheduled after installFinalize

Hi I am trying to get incremental upgrade ( only modified files are updated) meaning I am scheduling removeexistingproducts after installfinalize all goes fine till the end when my registry keys are gone. 嗨,我正在尝试进行增量升级(仅更新修改过的文件),这意味着我在installfinalize之后一切正常,直到我的注册表项消失了,然后才计划删除现有产品。 I am clueless as to what might cause registry to get wiped out? 对于什么可能导致注册表被清除,我一无所知? If removeexistingproducts is scheduled before installinitialize then my registry keys are there. 如果在安装初始化之前计划了removeexistingproducts产品,那么我的注册表项就在那里。

Thank you for your time, 感谢您的时间,

Regards 问候

Konstantin 康斯坦丁

This can only happen if there is a violation of windows installer component rules. 仅当违反Windows安装程序组件规则时,才可能发生这种情况。 What might be happening is that, the registry keys are being created in the same place but have different component GUIDs in both of your base as well as the upgraded installer. 可能发生的情况是,注册表项是在同一位置创建的,但是在您的基础以及升级的安装程序中都具有不同的组件GUID。 In such a case, the components are not reference counted correctly and hence, the registry keys are removed when the older product is uninstalled as part of the major upgrade using RemoveExisintProducts. 在这种情况下,未正确计数引用的组件数,因此,当使用RemoveExisintProducts作为主要升级的一部分卸载较旧的产品时,将删除注册表项。

Do the components which create the registry entries have different component GUID's between both the versions of your installers (ie base version as well as the upgraded version). 安装程序的两个版本(即基本版本和升级版本)之间创建注册表项的组件是否具有不同的组件GUID。 If so, you will have to make sure that they have the same component GUID's associated with them. 如果是这样,则必须确保它们具有与之关联的相同组件GU​​ID。

Open both of your msi packages using Orca and observe the component Guid's for these registry keys. 使用Orca打开两个msi软件包,并观察这些注册表项的组件Guid。 If they are different, make sure to make them consistent in both the packages. 如果它们不同,请确保在两个软件包中使它们一致。

Hope this helps. 希望这可以帮助。

There is a really good article which will give you a better understanding of what i have just told. 有一篇非常好的文章,可以使您更好地理解我刚才讲的内容。

Take a look at: 看一眼:

http://blogs.msdn.com/b/heaths/archive/2010/04/09/major-upgrades-with-shared-components.aspx http://blogs.msdn.com/b/heaths/archive/2010/04/09/major-upgrades-with-shared-components.aspx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM