有没有办法在我的 WiX 设置中将文件扩展名关联到外部程序?
例如,我的应用程序使用 .xyz 文件,但我使用第三方程序来编辑它们,例如 Notepad++。我会在安装过程中包含 Notepad++ 或引导它的安装程序。有没有办法仅使用 WiX 将 Notepad++ 与我的 .xyz 文件相关联?
我看过ProgId
元素,但我认为它不能做到这一点。
有没有办法在我的 WiX 设置中将文件扩展名关联到外部程序?
例如,我的应用程序使用 .xyz 文件,但我使用第三方程序来编辑它们,例如 Notepad++。我会在安装过程中包含 Notepad++ 或引导它的安装程序。有没有办法仅使用 WiX 将 Notepad++ 与我的 .xyz 文件相关联?
我看过ProgId
元素,但我认为它不能做到这一点。
不幸的是,强类型元素现在不能用于引用安装之外的可执行文件。但是,您可以自己编写注册表项。就像是:
<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>