我需要创建CHM文件的快捷方式。它的图标来自C:\Windows\hh.exe
文件。 Icon
属性需要Id
组件,但我的MSI中不存在hh.exe
,因为它始终存在于C:\Windows\
目录中。因此它不起作用:
<Component Id="Help_default" Guid="{BE58A822-637E-4B58-B2AC-690BA9FDF833}">
<File Name="ProxyTools.chm" KeyPath="yes">
<Shortcut Id="ProxyTools.exe" Directory="ProgramMenuDir"
Name="ProxyTools (English)"
WorkingDirectory='INSTALLDIR' Advertise="yes" Icon="hh.exe" IconIndex="0"/>
</File>
</Component>
也许我会以某种方式指出hh.exe
喜欢
<Directory Id="WindowsFolder"/>
如何指出C:\Windows\hh.exe
作为CHM文件快捷方式图标的来源?
UPD
我将hh.exe
添加到我的WiX项目中并添加了这个:
<Icon Id="hh.exe" SourceFile="hh.exe"/>
现在快捷方式是正确的。
答案 0 :(得分:0)
Windows Installer无法实现此目的。要了解确切的功能集,必须检查基础表。首先,Shortcut table图标列是“Icon table第一列的外部键”。 Icon表包含主键(由快捷表等引用)和二进制条目。二进制数据是要使用的图标数据。
由于实际图标数据必须存储在生成的.msi数据库中,并且没有其他方法可以指定图标,因此您无法引用系统上可能已存在的图标。您可以将所需的图标复制到Icon表的资源中,但这与您可以使用本机Windows Installer功能一样接近。