有没有办法在我的WiX设置中将文件扩展名与外部程序相关联?
例如,我的应用程序使用.xyz文件,但我使用第三方程序来编辑它们,如Notepad ++。我会在安装过程中包含Notepad ++或引导其安装程序。有没有办法只使用WiX将Notepad ++与我的.xyz文件相关联?
我查看了ProgId
元素,但我认为它不能做到这一点。
答案 0 :(得分:1)
不幸的是,强类型元素不能用于引用今天安装之外的可执行文件。但是,您可以自己编写注册表项。类似的东西:
<RegistryValue Root="HKCR" Key=".xyz" Value="xyz-progid" Type="string" />
<RegistryKey Root="HCKR" Key="xyz-progid>
<RegistryValue Key="shell\Open\command" Value="[NOTEPADPLUSPLUSPATH]" Type="string" />
<RegistryValue Key="DefaultIcon" Value="[!NOTEPADPLUSPLUSPATH]" Type="string" />
</RegistryKey>
为此,您需要在机器上找到Notepad ++。我不知道该怎么做但是让我们说有一个注册表项告诉你:
<Property Id="NOTEPADPLUSPLUSPATH">
<RegistrySearch Id="FindNotepadPlusPlus" Root="HKLM" Key="Software\NotepadPlusPlus"
Name="InstallPath" Type="raw" />
</Property>