Installshield 次要升级组件 [英] Installshield minor upgrade component

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

问题描述

我们正在对我们的产品进行小升级,并想确认以下与小升级中的组件处理相关的事情:

We are doing a minor upgrade for our product and wanted to confirm below thing related to components handling in minor upgrade:

我不想在小升级后在系统上安装某些组件.因此,我已从设置设计"视图中删除了这些组件.尽管如此,我仍然可以在组件"视图中看到带有红色感叹号的组件,表明它们不再是任何功能的一部分.Installshield 建议不要在小升级中从产品中删除组件.

I do not want some components installed on system after minor upgrade. So, I have removed those components from "Setup Design" view. Though, I can still see the components in Components view with RED exclamation mark showing that they are no more part of any feature. Installshield recommends Components should not be removed from Product in minor upgrade.

  1. 没事吧?或者,是否会给升级或卸载增加一些风险?
  2. 组件在组件视图中仍然以红色感叹号可见.这是否意味着我的产品仍然有组件并且我可以安全地从设置设计视图中删除这些组件?

推荐答案

这里有多个层.从根本上说,Windows Installer 不允许在次要升级中删除组件(请参阅 MSIENFORCEMINORUPGRADERULES主要升级与次要升级与小型更新).结果通常是该组件中的数据在机器上是孤立的;次要升级不会删除数据,但会删除 Windows Installer 的数据记录.

There are multiple layers here. Fundamentally, removing components in a minor upgrade is not allowed by Windows Installer (see MSIENFORCEMINORUPGRADERULES or Major Upgrade vs. Minor Upgrade vs. Small Update). The result is typically that the data in that component is orphaned on the machine; the minor upgrade doesn't remove the data, but it does remove Windows Installer's record of the data.

有些人建议通过使用组件设置Reevaluate Condition 来获得在小升级中移除组件的预期效果.默认值为 No,但如果您将其设置为 Yes 并提供错误的 Condition(例如 0),则次要升级可以删除组件的数据.(您可以进一步将其与一个空文件结合使用,以替换组件中任何文件的内容以减少安装的大小.仅更改文件的内容,否则 Windows Installer 将无法删除过时的文件.)

Some people recommend getting the desired effect of removing a component in a minor upgrade by using the component setting Reevaluate Condition. the default is No, but if you set this to Yes and provide a false Condition such as 0, the minor upgrade can remove the component's data. (You can further couple this with an empty file replacing the contents of any files that were in the component to cut down on your installation's size. Change only the files' contents, or Windows Installer will be unable to remove the obsoleted files.)

最后,从功能中删除组件并不会将其从您的项目中删除,尽管当组件不再是任何功能的一部分时,构建会将其从生成的 .msi 文件中排除.因此,当您准备更改为重大升级时,您应该从项目中完全删除该组件;在此之前,您应该保留该组件.

Finally, removing a component from a feature does not remove it from your project, although when the component is no longer part of any features, the build will exclude it from the resulting .msi file. So when you're ready to change to a major upgrade, you should remove the component from your project entirely; until then you should keep the component.

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

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