2

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

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

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

4

1 回答 1

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>
于 2013-03-11T00:10:55.753 回答