Installshield次要升级组件

时间:2013-12-02 10:30:50

标签: upgrade installshield-2010

我们正在对我们的产品进行小幅升级,并希望在次要升级中确认以下与组件处理相关的事项:

我不希望在小幅升级后在系统上安装一些组件。因此,我从“设计设计”视图中删除了这些组件。虽然,我仍然可以在“组件”视图中看到带有RED感叹号的组件,表明它们不再是任何功能的一部分。 Installshield建议不应在次要升级中从Product中删除组件。

  1. 没事吗?或者,它会为升级或卸载增加一些风险吗?
  2. 组件视图中的红色感叹号仍然可以看到组件。这是否意味着我的产品仍然有组件,我可以安全地从安装设计视图中删除这些组件?

1 个答案:

答案 0 :(得分:1)

这里有多个图层。从根本上说,Windows Installer不允许删除次要升级中的组件(请参阅MSIENFORCEMINORUPGRADERULESMajor Upgrade vs. Minor Upgrade vs. Small Update)。结果通常是该组件中的数据在机器上是孤立的;次要升级不会删除数据,但会删除Windows Installer的数据记录。

有些人建议使用组件设置Reevaluate Condition获得在次要升级中删除组件所需的效果。默认值为“否”,但如果将其设置为“是”并提供错误的Condition,例如0,次要升级可以删除组件的数据。 (您可以将其与空文件结合使用,替换组件中任何文件的内容,以减少安装的大小。仅更改文件内容,否则Windows Installer将无法删除废弃的文件。)

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