0

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

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

  <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>
4

1 回答 1

0

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

只需将ShortcutProperty元素添加为您的子元素Shortcut

<Shortcut Id="ChannelMonitor" …&gt;
    <Icon … />
    <ShortcutProperty Key="System.AppUserModel.ExcludeFromShowInNewInstall" />
</Shortcut>
于 2012-11-07T07:01:23.467 回答