1

在我的安装程序中,我有两个功能。如果我禁用一项功能,浏览按钮(以及包含 INSTALLDIR 路径的编辑控件)将从 UI 中消失。我怀疑这是因为两个 Feature 元素都使用相同的 ConfigurableDirectory="INSTALLDIR" 属性:

    <Feature Id="MYCLIENT" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR"
        Title="Client component"
        Description="Client Component" Level="1">

        <ComponentGroupRef="Client1"/>

    </Feature>

    <Feature Id="MYMMC" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR"
        Title="MMC Components"
        Description="MMC Components" Level="1">

        <ComponentGroupRef Id="MMC1"/>

        <!-- MMC snap-in requires some client components -->
        <ComponentGroupRef Id="Client1"/>

    </Feature>

当取消选择/未安装功能时,我需要实施什么来防止 INSTALLDIR 浏览控件消失?

TIA

4

1 回答 1

0

浏览按钮与树中的选定特征相关。如果您已经排除了某些功能并且它仍然被选中,那么为这个功能设置安装路径是没有意义的。所以浏览按钮被禁用。我想当您在树中选择另一个功能时,“浏览”按钮将再次出现。

顺便说一句,为什么两个功能都需要相同的 ConfigurableDirectory?将系统的 2 个主要部分安装在同一个文件夹中有点奇怪。我通常使用 ConfigurableDirectory 创建根功能,而所有子功能只能安装在预定义的子文件夹中。另一方面,如果您确实需要为 2 个功能设置不同的位置,您宁愿使用不同的 ConfigurableDirectories。

于 2012-08-28T10:58:12.103 回答