我在Wix中创建快捷方式时出现问题。当我在快捷方式目标属性中给出exe名称或路径(没有空格),然后创建快捷方式。
但是当我在快捷方式目标属性中给出exe名称或路径(带空格)时,则不会创建快捷方式。
下面是工作代码(没有空格的exe名称)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#MyTestApp.exe]"
WorkingDirectory="MyAppDirectory"/>
以下代码正常工作(exe名称带空格)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#My Test App.exe]"
WorkingDirectory="MyAppDirectory"/>
我只是想知道当我在快捷方式目标属性中给出exe名称或路径(带空格)时,是否创建了快捷方式?
如果创建了,我该怎么做呢。
感谢。
答案 0 :(得分:1)
目标只是属性名称,因此不允许在其中包含空格。
但您可以在快捷方式名称Shortcut[@Name]
和文件名File[@Source]
中包含空格。
因此,如果您的可执行文件名称中包含空格,您可以执行以下操作:
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="Component_MyAppExecutable" Guid="*">
<File Id="File_ApplicationExecutable" Source="My Test App.exe" />
</Component>
<Component Id="MyComponentId" Guid="{B0A9F180-49C1-4059-B1D9-8EF0186D5C98}">
<CreateFolder />
<Shortcut Id="ApplicationStartMenuShortcut"
Name="My App Name"
Description="MyApp Description"
Target="[#File_ApplicationExecutable]"
WorkingDirectory="INSTALLFOLDER" />
</Component>
</ComponentGroup>
</Fragment>
注意:必须为快捷方式明确指定Guid属性。