简体   繁体   English

Installshield次要升级组件

[英]Installshield minor upgrade component

We are doing a minor upgrade for our product and wanted to confirm below thing related to components handling in minor upgrade: 我们正在对我们的产品进行次要升级,并希望确认以下与次要升级中的组件处理有关的事项:

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. Installshield建议在较小的升级中不要从产品中删除组件。

  1. Is it fine? 可以吗 Or, will it add some risk to the upgrade or uninstall? 还是会给升级或卸载增加一些风险?
  2. Components are still visible in red exclamation in Components view. 组件在“组件”视图中仍显示为红色惊叹号。 Does that mean my Product still has Components and I am safe to remove those components from Setup Design view? 这是否意味着我的产品仍然具有组件,并且可以安全地从“安装设计”视图中删除这些组件?

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 ). 从根本上讲,Windows Installer不允许删除次要升级中的组件(请参阅MSIENFORCEMINORUPGRADERULES主要升级与次要升级与小型更新 )。 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. 次要升级不会删除数据,但是会删除Windows Installer的数据记录。

Some people recommend getting the desired effect of removing a component in a minor upgrade by using the component setting Reevaluate Condition . 有人建议通过使用组件设置“ 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. 默认值为“否”,但是如果将其设置为“是”并提供错误的Condition例如0 ,则次要升级可以删除组件的数据。 (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.) (您可以进一步将其与一个空文件配对,以替换组件中任何文件的内容以减小安装的大小。仅更改文件的内容,否则Windows Installer将无法删除已废弃的文件。)

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. 最后,从功能中删除组件不会将其从项目中删除,尽管当该组件不再是任何功能的一部分时,构建会将其从生成的.msi文件中排除。 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. 在此之前,您应该保留该组件。

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

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