Installshield Basic MSI:有条件地卸载组件

时间:2012-10-24 13:52:06

标签: windows-installer installshield custom-action

我使用Installshield 2012创建了基本的MSI设置。

卸载此设置时,我必须检查特定条件,根据这种情况,我必须保留或卸载某些组件的文件/文件夹/快捷方式。

现在我在这些组件上设置了“Permanent = Yes”,并删除了从自定义操作调用的托管程序集中的文件/文件夹/快捷方式。

有没有更好的方法来做我想要的?

1 个答案:

答案 0 :(得分:0)

您应该考虑选择或取消选择功能而不是组件。 Windows Installer模型采用所选功能,然后安装这些功能所需的组件。

如果这些文件/文件夹/快捷方式的安装是有条件的,您应该将它们视为属于可选功能的组件。然后,您可以使用MsiSetInstallLevel为安装设置适当的安装级别,以便根据条件安装或不安装可选功能。功能级别在Feature table中指定,处理Condition Table可以修改功能的级别值。

文档中解释了其中一些内容:Working with Features and Components