2013-03-10 49 views
2

在我的WiX設置中是否有將文件擴展名關聯到外部程序的方法?在WiX中將文件類型關聯到外部程序

例如,我的應用程序使用.xyz文件,但我使用第三方程序來編輯它們,如Notepad ++。我會在安裝過程中包含Notepad ++或引導其安裝程序。有沒有辦法將Notepad ++與僅使用WiX的.xyz文件相關聯?

我看過ProgId元素,但我不認爲它可以做到這一點。

回答

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> 
+0

謝謝!順便說一句,編譯器擴展能夠做我想要的嗎? – Netfangled 2013-03-11 00:19:13

+1

你可以將這些元素封裝在一個編譯器擴展中,但最終它會變成完全一樣的東西。 – 2013-03-11 14:04:45

相關問題