确定首先安装哪个快捷方式

时间:2012-11-06 10:36:32

标签: wix

我正在安装许多多个快捷方式,并且注意到第一个安装似乎在您单击开始按钮后出现,然后其余快捷方式在所有程序 - 产品名称下。我的问题是,我希望我的主要产品在开始菜单中作为一个大图标。我的其他快捷方式之一正在显示。这是我的代码:

此快捷方式应仅在所有程序 - 产品名称 - 记录器文件夹中。它是什么,但它也在主开始菜单上。                                         

  <Component Id="Logger1Shortcut" Guid="31987043-21B3-49F7-ADA2-A2BBC6FA446D">
    <Condition><![CDATA[(NUMLOGGERS >= "1") AND (NUMLOGGERS <> "0")]]></Condition>
    <Shortcut Id="Logger1Shortcut" Directory="ProgramMenuSubFolder" Name="LOGGER 1" Icon="stand_cf_Logger1" IconIndex="0" Target="[BIN]stand_cf.exe">
      <Icon Id="stand_cf_Logger1" SourceFile="$(var.Bin)\stand_cf.exe"/>
    </Shortcut>
    <RegistryValue Root='HKCU' Key='Software\Measuresoft\[PRODUCTNAME]' Type='string' Value='' KeyPath='yes' />
  </Component>

这是主要应用程序的组件:

  <Component Id="MainApplicationShortcut" Guid="C130E034-BDC0-4700-A924-60C816AF6D01">
    <Shortcut Id="MainApp" Directory="ProgramMenuDir" Name="Orchestrator" Icon="mainmenu.exe" IconIndex="0" Target="[BIN]mainmenu.exe">
      <Icon Id="mainmenu.exe" SourceFile="$(var.Bin)\mainmenu.exe"/>
    </Shortcut>

    <Shortcut Id="ChannelMonitor" Directory="ProgramMenuDir" Name="Channel Monitor" Icon="mon_nt.exe" IconIndex="0" Target="[BIN]mon_nt.exe">
      <Icon Id="mon_nt.exe" SourceFile="$(var.Bin)\mon_nt.exe"/>
    </Shortcut>
    <RemoveFolder Id='ProgramMenuDir' On='uninstall' Directory='ProgramMenuDir'/>
    <RegistryValue Root='HKCU' Key='Software\Measuresoft\[PRODUCTNAME]' Type='string' Value='' KeyPath='yes' />
  </Component>

1 个答案:

答案 0 :(得分:0)

不,您无法确定安装快捷方式的顺序。要实现您想要的,您应该采用另一种方式:使用System.AppUserModel.ExcludeFromShowInNewInstall标记所有辅助快捷方式。

只需添加ShortcutProperty元素作为Shortcut的孩子:

<Shortcut Id="ChannelMonitor" …>
    <Icon … />
    <ShortcutProperty Key="System.AppUserModel.ExcludeFromShowInNewInstall" />
</Shortcut>