我正在安装许多多个快捷方式,并且注意到第一个安装似乎在您单击开始按钮后出现,然后其余快捷方式在所有程序 - 产品名称下。我的问题是,我希望我的主要产品在开始菜单中作为一个大图标。我的其他快捷方式之一正在显示。这是我的代码:
此快捷方式应仅在所有程序 - 产品名称 - 记录器文件夹中。它是什么,但它也在主开始菜单上。
<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>
答案 0 :(得分:0)
不,您无法确定安装快捷方式的顺序。要实现您想要的,您应该采用另一种方式:使用System.AppUserModel.ExcludeFromShowInNewInstall
标记所有辅助快捷方式。
只需添加ShortcutProperty
元素作为Shortcut
的孩子:
<Shortcut Id="ChannelMonitor" …>
<Icon … />
<ShortcutProperty Key="System.AppUserModel.ExcludeFromShowInNewInstall" />
</Shortcut>