【发布时间】:2016-05-26 16:43:02
【问题描述】:
下面是我用来为我的程序创建开始菜单快捷方式的代码,我使用 WiX 工具集为我的程序创建安装程序。
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="VDiskShortcut" Guid="">
<File Id="VDiskExe" DiskId="1" Source="..\..\..\bin\vdisk.exe"/>
<Shortcut Id="VDiskStartMenuShortcut"
Name="Virtual Disk" Show="minimized"
Description="Virtual Disk"
Target="[#VDiskExe]"
WorkingDirectory="MYBIN"/>
<RegistryValue Root="HKCU" Key="Software\Microsoft\VDisk" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
当我安装我的程序时,我发现在开始菜单上创建了两个菜单项。一个称为“虚拟磁盘”,另一个称为“vdisk.exe”。为什么 WiX 安装程序会这样做?是因为那是 Target 元素中程序的名称吗?如果是这种情况,我如何指定快捷方式的名称而不将其与目标名称混淆?我只想要开始菜单中的一个菜单项,它的名称应该是我在 WiX 中的快捷方式元素上指定的名称,但这似乎不起作用。
【问题讨论】:
-
您应该展示更多的来源。该组件可能具有两个独立的功能,并且可能是 guid 不是“*”的问题。 MSI 文件在快捷方式表中是否有多个条目,它们指的是哪些组件?
-
该组件在两个功能中,一个是另一个的子功能,但是当我更改它以使其具有自己的功能时,只有一个,它没有改变结果,所以我认为这不是问题。