将文件类型与WiX中的外部程序相关联

时间:2013-03-10 20:37:17

标签: wix

有没有办法在我的WiX设置中将文件扩展名与外部程序相关联?

例如,我的应用程序使用.xyz文件,但我使用第三方程序来编辑它们,如Notepad ++。我会在安装过程中包含Notepad ++或引导其安装程序。有没有办法只使用WiX将Notepad ++与我的.xyz文件相关联?

我查看了ProgId元素,但我认为它不能做到这一点。

1 个答案:

答案 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>