在次要升级期间删除文件 [英] Remove file during minor upgrade

查看:62
本文介绍了在次要升级期间删除文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我具有一项功能,其中包含多个组件.一个组件在目录中包含动态链接文件. 当我删除该目录中的一个文件,构建安装程序并运行升级时,不会替换任何文件. 在日志中,我发现此错误:

I have one feature with several components. One components contains dynamic linked files in a directory. When I delete one file in that directory, build the setup, and run the upgrade, no file will be replaced. In the log I found this error:

MSI (s) (5C:D8) [12:28:41:180]: SELMGR: ComponentId '{8F4E8185-5B89-9FC9-9FD5-3200102A0265}' is registered to feature 'MyFeatureName', but is not present in the Component table.  Removal of components from a feature is not supported!
MSI (s) (5C:D8) [12:28:41:180]: SELMGR: Removal of a component from a feature is not supported

如何删除动态链接文件?

How can I remove a dynamic linked file?

推荐答案

本书的答案是使用重大升级.

The book answer is use a major upgrade.

最终的MSI黑客的答案是在ORCA中编辑以前的MSI,以获取确切的主键和GUID值.将该组件静态地编写到最新的ISM中,然后实施穿孔组件"模式.这意味着您设置了Revaluate属性,然后为其赋予一个始终为false的条件.这样,新的MSI仍然具有该组件,但已从计算机中删除了.

The ultimate MSI hacker's answer is to edit the previous MSI in ORCA to get the exact primary key and GUID values. Author that component statically into your latest ISM and then implement the "puncture component" pattern. This means you set the Revaluate attribute and then give it a condition that always evaluates to false. In this way the new MSI still has the component but it gets removed from the machine.

这篇关于在次要升级期间删除文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆