Wix:如何将'C:\Windows\hh.exe'作为CHM文件快捷方式图标的源?
我需要创建CHM文件的快捷方式。其图标可从Wix:如何将'C:\Windows\hh.exe'作为CHM文件快捷方式图标的源?,wix,shortcut,chm,Wix,Shortcut,Chm,我需要创建CHM文件的快捷方式。其图标可从C:\Windows\hh.exe文件中获取。图标属性需要组件的Id,但是hh.exe在我的MSI中不存在,因为它总是存在于C:\Windows\目录中。因此,它将不起作用: <Component Id="Help_default" Guid="{BE58A822-637E-4B58-B2AC-690BA9FDF833}"> <File Name="ProxyTools.chm" KeyPath="yes"> <
C:\Windows\hh.exe
文件中获取。图标
属性需要组件的Id
,但是hh.exe
在我的MSI中不存在,因为它总是存在于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>
如何将C:\Windows\hh.exe
作为CHM文件快捷方式图标的来源
UPD
我在我的WiX项目中添加了hh.exe
,并添加了以下内容:
<Icon Id="hh.exe" SourceFile="hh.exe"/>
现在快捷方式是正确的。Windows Installer无法实现这一点。要了解确切的功能集,必须检查基础表。首先,图标列是“其中一列的外部键”。图标表包含一个主键(由快捷方式表等引用)和一个二进制条目。二进制数据是要使用的图标数据
由于实际图标数据必须存储在生成的.msi数据库中,并且没有其他指定图标的方法,因此不能引用系统上可能已经存在的图标。您可以将所需的图标复制到图标表的资源中,但这是本机Windows Installer功能所能提供的最接近的功能。Windows Installer无法做到这一点。要了解确切的功能集,必须检查基础表。首先,图标列是“其中一列的外部键”。图标表包含一个主键(由快捷方式表等引用)和一个二进制条目。二进制数据是要使用的图标数据
由于实际图标数据必须存储在生成的.msi数据库中,并且没有其他指定图标的方法,因此不能引用系统上可能已经存在的图标。您可以将所需的图标复制到图标表的资源中,但这是本机Windows Installer功能所能提供的最接近的功能。除非现在您必须在重新分发hh.exe时咨询您的Windows EULA。我会查找许可证中包含的.ico文件。(然后意外地将其重命名为“hh.ico.exe”。)除非现在您必须在重新分发hh.exe时咨询您的Windows EULA。我会查找许可证中包含的.ico文件。(然后意外地将其重命名为“hh.ico.exe”。)
<Icon Id="hh.exe" SourceFile="hh.exe"/>