1

我从过去 5 个月开始使用 WiX,没有任何问题。最近,我需要在 App Desktop 快捷方式中拥有“StartIn”属性。默认情况下,它是空的。

是我的完整安装程序代码。

我正在使用以下代码:

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

但是没有用。

我也尝试添加“目标”属性:

<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

4 回答 4

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>
    .....
于 2014-04-28T08:35:57.490 回答
2

Glytzhkof 是对的,您的 WiX 源也是如此 - 只需将其放在 Component 下即可。

于 2014-04-27T17:35:51.593 回答
1

除了@Adiono 的答案之外,请检查“WorkingDirectory”文件夹是否实际包含“目标”。即使“WorkingDirectory”和“Target”都具有有效值,但“WorkingDirectory”中不存在“Target”,我的快捷方式的“Start in”也是空白的。

于 2016-11-11T10:39:19.490 回答
0

我没有设置 Wix 来尝试此操作,但您可以尝试将Shortcut 元素向上移动以嵌套在Component 元素而不是File 元素下。然后设置WorkingFolder 属性。尝试这样的事情

于 2014-04-26T14:35:33.783 回答