我正在使用自定義的UI,它可以在像installview,progressview,finishview,uninstallview等不同視圖的流程中工作。在自定義安裝程序中有兩個選項,一個是更改安裝目錄和其他來更改數據庫目錄。我的自定義安裝程序包含兩個msi。每當我嘗試將數據庫目錄傳遞給msi時,它都不會被覆蓋。它始終採用默認路徑。Wix不允許用戶覆蓋目錄
我的自定義安裝程序包含了數據庫中的一個變量,它是overidable,並傳遞價值給MSI。
<Variable Name="DatabaseFolder" bal:Overridable="yes" Type="string" Value="[CommonAppDataFolder]$(var.ManufacturerName)\$(var.ProductName)" />
<MsiPackage Id="StorageApp"
DisplayInternalUI="no"
DisplayName="$(var.StorageApp)"
Permanent="no"
Visible="yes"
Vital="yes"
SourceFile="$(var.StorageAppExe)"
Compressed="yes">
<MsiProperty Name="DATABASEAPPDATAFOLDER" Value="[DatabaseFolder]" />
</MsiPackage>
默認情況下,它將DatabaseProductName作爲目錄名稱。但是,如果我改變目錄,它總是採取默認路徑。爲什麼我無法覆蓋默認值。我的代碼中是否有任何缺失?
<DirectoryRef Id="TARGETDIR">
<Directory Id="CommonAppDataFolder">
<Directory Id="CompanyAppDataFolder" Name="$(var.DatabaseManufacturerName)">
<Directory Id="DATABASEAPPDATAFOLDER" Name="$(var.DatabaseProductName)">
</Directory>
</Directory>
</Directory>
</DirectoryRef>