2011-08-01 21 views
2

我正在開發一個Wix項目。我需要關聯一個新的文件擴展名。本身看起來很簡單。問題是我想將新的擴展名作爲一種可以用標準Windows NotePad.exe打開的文本文件。我所關心的問題是我不想複製我的XP版本的記事本,並將它安裝在最終用戶的System32中,並覆蓋它們已經存在的XP,Vista,Windows7等的記事本。Wix文件與標準Windows文件關聯

我應該如何正確引用這個關聯。

最後的答案已存入@Sunil

維克斯3.5不喜歡與系統文件夾和文件名的目標文件......所以,我的組件/目錄中,我創建了一個文件ID條目指向有問題的文件,然後,擴展協會下面這個文件ID參考...

<File Id="LinkingNotePad" Source="$(env.windir)\Notepad.exe" ></File> 

<ProgId Id="MyProgID" Description="Text files for my new extension" Advertise="no" > 
    <Extension Id="myExt" ContentType="application/text" Advertise="no" > 
     <Verb Command="Open" Id="regMyProgID" TargetFile="LinkingNotePad" Argument="%1" /> 
    </Extension> 
</ProgId> 

在上面的示例,它無法解析目標文件,因爲我還沒有明確地告訴它的找到它。我不希望它抓住我的版本並覆蓋用戶版本。

感謝

回答

4

所有的系統文件,可以使用維克斯變量「SystemFolder」進行訪問。

SystemFolder會給你默認的Windows文件夾路徑。因此,您將擁有TargetFile=[SystemFolder]Notepad.exe"