在 WIX 中目标 exe 名称包含 space 时未创建快捷方式
Shortcut not created when Target exe name contains space in WIX
我在 Wix 中创建快捷方式时遇到问题。当我在快捷方式目标属性中给出 exe 名称或路径(没有 space)时,然后创建了快捷方式。
但是当我在快捷方式目标属性中给出 exe 名称或路径(space)时,快捷方式没有创建。
下面是工作代码(exe 名称没有 space)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#MyTestApp.exe]"
WorkingDirectory="MyAppDirectory"/>
下面的代码正在运行(exe 名称带有 space)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#My Test App.exe]"
WorkingDirectory="MyAppDirectory"/>
SO 只是想知道当我在快捷方式目标属性中给出 exe 名称或路径(使用 space)时,是否创建了快捷方式?
如果创建了,我该怎么做。
谢谢。
目标只是属性名字,所以里面不能有空格。
但是您可以在快捷方式名称 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 属性。
我在 Wix 中创建快捷方式时遇到问题。当我在快捷方式目标属性中给出 exe 名称或路径(没有 space)时,然后创建了快捷方式。
但是当我在快捷方式目标属性中给出 exe 名称或路径(space)时,快捷方式没有创建。
下面是工作代码(exe 名称没有 space)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#MyTestApp.exe]"
WorkingDirectory="MyAppDirectory"/>
下面的代码正在运行(exe 名称带有 space)。
<DirectoryRef Id="StartupFolder">
<Component Id="MyComponentId" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut"
Name="MyAppName"
Description="MyApp Description"
Target="[#My Test App.exe]"
WorkingDirectory="MyAppDirectory"/>
SO 只是想知道当我在快捷方式目标属性中给出 exe 名称或路径(使用 space)时,是否创建了快捷方式?
如果创建了,我该怎么做。
谢谢。
目标只是属性名字,所以里面不能有空格。
但是您可以在快捷方式名称 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 属性。