首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wix -应用重大特殊更新时删除所有文件

Wix -应用重大特殊更新时删除所有文件
EN

Stack Overflow用户
提问于 2012-01-12 17:08:07
回答 1查看 411关注 0票数 2

在由Wix创建的installer的前一个版本中,存在以下代码:

代码语言:javascript
运行
复制
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize" />
</InstallExecuteSequence>

为了解决此knowledge base article代码中描述的Windows Installer中的错误,已修复:

代码语言:javascript
运行
复制
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>

但是现在,如果我用第一个安装程序安装程序,然后用第二个安装程序安装程序,而不删除安装的程序,所有文件都会被删除,我的路径存在空文件夹(两个安装程序中的所有文件具有相同的名称)。

如果我打开第二个安装程序并按下Repair -所有文件都会出现。

问题出在哪里?这个问题是如何解决的?

附言:对不起,我的英语:

EN

回答 1

Stack Overflow用户

发布于 2012-01-12 19:20:54

只是猜测一下:听起来第一个和第二个安装程序安装了相同的文件,但作为组件id不同的组件的一部分。为了验证这一点,你可以用orca.exe打开这两个msi文件并比较组件id。

组件ID应该保持不变,以便可以正确地对它们进行引用计数。否则,您将得到不同的组件试图管理相同的文件,在这种情况下,这将导致文件消失时,任何一个组件卸载。

如果您遵循windows installer规则,即组件的内容不应更改(即,不能删除或添加文件),则wix生成的组件GUID应自动保持稳定。这就是为什么每个文件最好有一个组件的原因之一。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8832440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档