WiX在桌面快捷方式中缺少“开始”属性

时间:2014-04-26 11:18:53

标签: wix installer windows-installer wix3.8

我在过去5个月与WiX合作,没有任何问题。最近,我需要有" StartIn" App桌面快捷方式中的属性。默认情况下,它为空。

Here是我的完整安装员代码。

我正在使用以下代码:

<Component Id="myapplication.EXE" DiskId="1" Guid="*">
   <File Id="myapplication.EXE" Name="My Application.exe" 
         Source="D:\My Application\My Application.exe">
      <Shortcut Id="desktopShortcut" Directory="DesktopFolder" 
                Name="My Application" WorkingDirectory="INSTALLDIR"
                Icon="DesktopIcon.exe" IconIndex="0" 
                Description="My Application Description" />
      <Shortcut Id="ExeShortcut" Directory="ProgramMenuDir" 
                Name="My Application" Icon="StartMenuIcon.exe" IconIndex="0" />
    </File>
</Component>

但没有工作。

我也试过添加&#34; Target&#34;属性:

<Shortcut Target= "INSTALLDIR" Id="desktopShortcut" Directory="DesktopFolder" 
          Name="Virtual Sim Center Beta" WorkingDirectory="INSTALLDIR"
          Icon="DesktopIcon.exe" IconIndex="0" 
          Description="My Application Description"  />

但收到错误消息:

The Shortcut/@Target attribute cannot be specified when the Shortcut 
element is nested underneath a File element.

4 个答案:

答案 0 :(得分:4)

这个脚本正在为我的WIX工作:

    ....
    <!-- Desktop Menu -->
    <DirectoryRef Id="DesktopFolder">
      <Component Id="FooDesktopShortcutMenu" Guid="*">
        <Shortcut Id="FooApplicationDesktopShortcut"
                  Name="Foo Application"
                  Description="The Foo is Cool!"
                  Target="[#FooMainApp]"
                  WorkingDirectory="INSTALLFOLDER"
                  Directory="DesktopFolder"/>
        <RemoveFolder Id="DesktopFolder" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="Software\Microsoft\FooApplication" 
                       Name="installed" Type="integer" Value="1" KeyPath="yes"/>
      </Component>
    </DirectoryRef>

    ....

    <!-- Tell Wix -->
    <Feature Id="ProductFeature" Title="FooSetup" Level="1">
      .....
      <ComponentRef Id="FooDesktopShortcutMenu"/>
      .....
    </Feature>
    .....

答案 1 :(得分:2)

Glytzhkof是正确的,你的WiX源也是如此 - 只需把它放在Component下面。

答案 2 :(得分:1)

除了@Adiono的答案之外,还要检查“工作目录”是否有&#39;文件夹实际上包含&#39;目标&#39;。 &#39;开始&#39;我的快捷方式即使在“工作目录”和“工作目录”中也是空白的。和&#39;目标&#39;有有效价值,但目标&#39;并没有出现在&#39; WorkingDirectory&#39;。

答案 3 :(得分:0)

我没有设置Wix尝试此操作,但您可以尝试将快捷方式元素移动到嵌套在组件元素下面而不是文件元素。然后设置 WorkingFolder属性。尝试类似this的内容。