首页 > 解决方案 > 具有多个快捷方式的 wix windows 10 开始菜单

问题描述

所以我有一个创建两个开始菜单文件夹的 msi。我想在开始菜单文件夹中放置多个快捷方式,但在 Windows 10 上它只放置第一个快捷方式。但如果我在 Windows 7 构建上使用相同的 msi,所有快捷方式都在那里。快捷方式指向的所有文件都在安装位置。

我已经到处搜索了,虽然有很多关于如何添加开始菜单项的链接。没有解决我遇到的这个 Windows 10 问题。这是我必须将项目添加到开始菜单的代码。

<ComponentRef Id="CADDResources" />
<!--------------------------------------->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="ApplicationProgramsFolder" Name="!(bind.property.Manufacturer)" />
    <Directory Id="CADDMenuFolder" Name="OhioDOT-CADD Resources"/>
  </Directory>
<!--------------------------------------->

<DirectoryRef Id="CADDMenuFolder">
      <Component Id="CADDResources" Guid="[YOURGUIDHERE]">
        <Shortcut Id="SupportRequest" Name="CADD Services - Request for Support" Description="Link to support request form" Target="[INSTALLFOLDER]CADD Services - Request for Support.url" WorkingDirectory="INSTALLFOLDER" />
        <Shortcut Id="Youtubepage" Name="CADD Services - YouTube Channel.url" Description="Link to ODOT CADD's YouTube Channel" Target="[INSTALLFOLDER]CADD Services - YouTube Channel.url" WorkingDirectory="INSTALLFOLDER" />
        <Shortcut Id="CADDMain" Name="CADD Services - Main.url" Description="Link to ODOT CADD's main webpage" Target="[INSTALLFOLDER]CADD Services - Main.url" WorkingDirectory="INSTALLFOLDER" />
        <Shortcut Id="ODOTCommunities" Name="Bentley Communities - ODOT.url" Description="Link to ODOT CADD's Bentleys Communities page" Target="[INSTALLFOLDER]Bentley Communities - ODOT.url" WorkingDirectory="INSTALLFOLDER" />
        <RemoveFile Id="shourtcutfile1" Name="CADD Services - Request for Support.url" Directory="CADDMenuFolder" On="uninstall"/>
        <RemoveFile Id="shourtcutfile2" Name="CADD Services - YouTube Channel.url" Directory="CADDMenuFolder" On="uninstall"/>
        <RemoveFile Id="shourtcutfile3" Name="CADD Services - Main.url" Directory="CADDMenuFolder" On="uninstall"/>
        <RemoveFile Id="shourtcutfile4" Name="Bentley Communities - ODOT.url" Directory="CADDMenuFolder" On="uninstall"/>
        <RemoveFolder Id="CleanUpShortCut2" Directory="CADDMenuFolder" On="uninstall" />
        <RegistryKey Root="HKCU" Key="Software\OhioDOT\CADD\Connect\OhioDOTCADDStandardsInstaller_Local" ForceDeleteOnUninstall="yes">
          <RegistryValue Name="Resources" Type="integer" Value="1" KeyPath="yes" />
        </RegistryKey>
      </Component>
    </DirectoryRef>

我也尝试过,而不是将所有快捷方式放在一个组件中,而是将它们全部制作为单独的组件,但这也不起作用。我不知道为什么这不起作用。

标签: wixwindows-10startmenu

解决方案


好吧,我在发布此内容后才发现我在名称末尾有 .url 以表示未显示的快捷方式。删除它,然后它工作。一定是对 Windows 10 的某种限制,不允许这样做,但在 Windows 7 中它通过了。

希望我早点注意到这一点。


推荐阅读