2008-10-13 57 views
23

我需要將文件安裝到Environment.SpecialFolder.ApplicationData文件夾中,該文件夾在XP和Vista之間有所不同。有沒有內置的方式來引用WiX中正確的文件夾,或者我將不得不使用OS的條件檢查並手動執行?什麼是.NET的Environment.SpecialFolder.ApplicationData的WiX equivilent?

如果我必須做後者,我如何在Vista中引用當前Windows用戶的目錄?

ID爲

回答

45

使用目錄元素設置爲AppDataFolder

<Directory Id="AppDataFolder"> 
    <Directory Id="MyAppFolder" Name="My"> 
    <Component Id="MyComponent"> 
     <File Source="Files\test1.txt" /> 
    </Component> 
    </Directory> 
</Directory> 

這將導致test1.txt的被安裝到C:\ Users \用戶名 \應用程序數據\漫遊\我的Windows 7和到C :\ Documents and Settings \ 用戶名 \ Application Data \ My在Windows XP上。

MSDN有一個list of properties,您可以用它來引用特殊文件夾。

+3

請注意,此處可以省略Name =「AppDataFolder」屬性。那裏只需要Id屬性。另外,你可以省略組件`Guid`; wix現在會自動生成一個穩定的Guid。最後,你可以省略`File`元素的`Id`,`Name`和`KeyPath`屬性。 `Id`和`Name`默認具有基於Source的值,並且該文件將自動成爲該組件的關鍵路徑,因爲該組件不包含任何其他內容。 – 2014-04-25 08:08:05