0

多くの複数のショートカットをインストールしていますが、スタート ボタンをクリックすると最初にインストールされたショートカットが表示され、残りのショートカットは [すべてのプログラム] - [製品名] の下にあることに気付きました。私の問題は、メインの製品をスタート メニューに大きなアイコンとして表示したいということです。他のショートカットの 1 つがその分に表示されます。これは私のコードです:

このショートカットは、[すべてのプログラム] - [製品名] - [Logger] フォルダにのみ配置する必要があります。それはどちらですが、メインのスタートメニューにもあります。

  <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 に答える