如何使用WiX为关联文件设置图标?

Dra*_*aco 7 wix

我的应用程序安装文件是使用WiX生成的.在WiX配置中,我正在关联与应用程序一起使用的文件类型.如何在WiX配置中将图标与此文件类型相关联?

Gre*_*ean 8

来自:http://www.tramontana.co.hu/wix/lesson1.php#1.7

如果您的应用程序处理自己的文件数据类型,则需要为其注册文件关联.将ProgId放入组件中.FileId应该引用File元素的Id属性,该元素描述了用于处理此扩展文件的文件.请注意感叹号:它将返回文件的短路径而不是长路径:

<ProgId Id='AcmeFoobar.xyzfile' Description='Acme Foobar data file'>
  <Extension Id='xyz' ContentType='application/xyz'>
    <Verb Id='open' Sequence='10' Command='Open' Target='[!FileId]' Argument='"%1"' />
  </Extension>
</ProgId>
Run Code Online (Sandbox Code Playgroud)

要为此文件类型指定图标,您必须在组件内自己指定相应的注册表项:

<Registry Id='FooIcon1' Root='HKCR' Key='.xyz' Action='write'
  Type='string' Value='AcmeFoobar.xyzfile' />
<Registry Id='FooIcon2' Root='HKCR' Key='AcmeFoobar.xyzfile' Action='write'
  Type='string' Value='Acme Foobar data file' />
<Registry Id='FooIcon3' Root='HKCR' Key='AcmeFoobar.xyzfile\DefaultIcon' Action='write'
  Type='string' Value='[INSTALLDIR]Foobar.exe,1' />
Run Code Online (Sandbox Code Playgroud)


Dra*_*aco 7

这就是我做到的.我宣布:

<Icon Id="Icon.exe" SourceFile="..\Installer\Graph.ico" />
Run Code Online (Sandbox Code Playgroud)

之前</Product>并将其作为参考添加如下:

<ProgId Id='myApp.exe' Description='Some description' Advertise='yes' Icon='Icon.exe'>
          <Extension Id='xyz' ContentType='application/text'>
            <Verb Id='open' Sequence='10' Command='Open' Argument='"%1"' />
          </Extension>
</ProgId>
Run Code Online (Sandbox Code Playgroud)