2
在我的WiX設置中是否有將文件擴展名關聯到外部程序的方法?在WiX中將文件類型關聯到外部程序
例如,我的應用程序使用.xyz文件,但我使用第三方程序來編輯它們,如Notepad ++。我會在安裝過程中包含Notepad ++或引導其安裝程序。有沒有辦法將Notepad ++與僅使用WiX的.xyz文件相關聯?
我看過ProgId
元素,但我不認爲它可以做到這一點。
在我的WiX設置中是否有將文件擴展名關聯到外部程序的方法?在WiX中將文件類型關聯到外部程序
例如,我的應用程序使用.xyz文件,但我使用第三方程序來編輯它們,如Notepad ++。我會在安裝過程中包含Notepad ++或引導其安裝程序。有沒有辦法將Notepad ++與僅使用WiX的.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>
謝謝!順便說一句,編譯器擴展能夠做我想要的嗎? – Netfangled 2013-03-11 00:19:13
你可以將這些元素封裝在一個編譯器擴展中,但最終它會變成完全一樣的東西。 – 2013-03-11 14:04:45