2011-08-08 43 views
5

我正在處理一個安裝程序,它將一些文件放入另一個應用程序,該應用程序將其文件保存在[SystemDrive] \ appName。安裝程序僅用於內部自動化,因此如果不考慮其他安裝位置,則可以。WiX - 將文件安裝到系統驅動器

我發現,默認情況下,WiX將目標目錄設置爲具有最大可用空間的驅動器。相反,在系統驅動器中指定某個目錄的最佳方式是什麼?

回答

6

ROOTDRIVE的值設置爲驅動你想

<CustomAction Id='SetRootDrive' Property='ROOTDRIVE' Value='[%SystemDrive]\'/> 

系統驅動器將默認在OS中使用

添加代碼來調用「SetRootDrive」操作的默認驅動器: 你需要從InstallUISequence中調用它

<InstallUISequence> 
    <Show Dialog="MyWelcomeDlg" Before="CostFinalize">NOT Installed</Show> 
    <!-- App search is what does FindInstallLocation, and it is dependent on FindRelatedProducts --> 
    <AppSearch After="FindRelatedProducts"/> 
    <Custom Action="SetRootDrive" Before="CostInitialize"></Custom> 
</InstallUISequence> 
+0

何時需要安排此自定義操作?我已將它設置爲成本初始化之前,它似乎不工作。 –

+0

我在回答中添加了電話 –

+0

非常感謝!這很好! –

3

MSI已經爲您提供了WindowsVolum中的值e財產。用它作爲父目錄/ @ Id。