我在设置作为WiX脚本一部分创建的快捷方式的工作目录时遇到问题。以下是基础知识:
<!-- create a start menu shortcut. -->
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="My Name">
<Component Id="ApplicationShortcut" Guid="822A26AF-5231-4EDA-A18D-5DF15020BD94">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="My Name"
Description="My Description"
Target="[INSTALLLOCATION]My.exe"
WorkingDirectory="INSTALLLOCATION" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
</Component>
</Directory>
</Directory>
<!-- Install the app. -->
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="My Name">
<Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE">
<File Id="My.exe" Name="My.exe" Source="My.exe" />
</Component>
</Directory>
</Directory>
这与我见过的示例相吻合,并且创建了快捷方式,它指向了正确的exe,但是快捷方式没有指定工作目录,因此应用程序找不到它的本地资源。
答案 0 :(得分:6)
您不需要说[INSTALLLOCATION],因为ShortCut表定义了WkDir列描述“具有快捷方式工作目录路径的属性的名称。”
我会建议尝试这个:
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="My Name">
</Directory>
</Directory>
<!-- Install the app. -->
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="My Name">
<Component Id="ProductComponent" Guid="4740357A-69D3-4626-A0F7-D0667C93A2CE">
<File Id="My.exe" Name="My.exe" Source="My.exe" />
<Shortcut Id="ApplicationStartMenuShortcut"
Advertise="yes"
Name="My Name"
Description="My Description"
Directory="ApplicationProgramsFolder"
WorkingDirectory="INSTALLLOCATION">
<Icon Id="My.exe" SourceFile="My.exe" />
<Shortcut>
</Component>
</Directory>
</Directory>
答案 1 :(得分:0)
我认为你需要在工作目录属性的INSTALLLOCATION周围使用方括号。