我看到在Wix(3.8。)中创建开始菜单中的快捷方式的两种不同方式:
1)
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="CompanyMenuFolder" Name="Company">
<Component Id="MenuFolderComponent" Guid="*">
<RegistryValue Root="HKCU" Key="Software\Company\Product"
Name="MenuFolderComponent" Type="integer"
Value="1" KeyPath="yes"/>
</Component>
</Directory>
</Directory>
<!-- [...] -->
<Component Id='ManualComponent' Guid='*'>
<File Id='Manual' Name="Product.pdf" DiskId='1'
Source="Product.pdf" KeyPath="yes" >
<Shortcut Id="ManualStartmenuShortcut"
Directory="CompanyMenuFolder" Name="Product Manual" />
</File>
</Component>
2)
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="CompanyMenuFolder" Name="Company">
<Component Id="MenuFolderComponent" Guid="*">
<Shortcut Id="StartmenuShortcut" Directory="CompanyMenuFolder"
Name="Product" WorkingDirectory='INSTALLDIR'
Icon="Product.exe" IconIndex="0"
Target="[#ProductExecutable]" />
<RemoveFolder Id='CompanyMenuFolder' On='uninstall' />
<RegistryValue Root="HKCU" Key="Software\Company\Product"
Name="MenuFolderComponent" Type="integer" Value="1"
KeyPath="yes"/>
</Component>
</Directory>
</Directory>
这些方法中的任何一种都是首选,如果是,为什么?
谢谢:)
答案 0 :(得分:0)
快捷方式可以是“广告” - 指向产品中包含的组件,或“未公布” - 指向特定目标路径({{ 3}})。
选项2)正在将未公布的快捷方式的目标字段设置为Target =“[#ProductExecutable]” - 这是一个属性标识符,似乎指向此项目中的项目主可执行文件案件。它也可以指向文件夹和URL Shortcut element documentation。
选项1)还会创建一个未公布的快捷方式,因为广告属性默认为no,但是在这里您省略了Target字段,因此默认为其父组件的密钥文件。
本质上,灵活性允许考虑创建不同类型的快捷方式,并允许广告和非广告快捷方式的概念。