1
我正在使用Wix創建一個安裝程序,該安裝程序將在用戶的PC上搜索目錄並將相關應用程序安裝到該目錄。例如,我需要安裝到文件夾ProductA\Utilities
,該文件夾的位置在我的控制範圍之外。使用WiX來定位特定文件夾
要做到這一點,我已經試過如下:
<Property Id="UTILITIES_DIR">
<DirectorySearch Id="FindUtilsDir" Path="ProductA\Utilities"/>
</Property>
<Directory Id="TARGETDIR" Name="SourceDir">
<!-- WiX requires me to use a special folder at some point -->
<Directory Id="ProgramFilesFolder" Name="ProgramFiles">
<Directory Id="UTILITIES_DIR">
<Directory Id="INSTALLFOLDER" Name="MyUtility"/>
</Directory>
</Directory>
</Directory>
這一切運作良好時,我跑不過通過雙擊安裝程序,當我通過msiexec.exe的運行安裝程序,UTILITIES_DIR
被發現,但後立即覆蓋:
從日誌文件:
MSI (c) (C0:0C) [16:49:34:064]:
PROPERTY CHANGE: Adding TARGETDIR property. Its value is 'F:\'.
MSI (c) (C0:0C) [16:49:34:064]:
PROPERTY CHANGE: Modifying ProgramFilesFolder property.
Its current value is 'C:\Program Files (x86)\'. Its new value: 'F:\ProgramFiles\'.
MSI (c) (C0:0C) [16:49:34:064]:
PROPERTY CHANGE: Modifying UTILITIES_DIR property.
Its current value is 'C:\ProductA\Utilities'. Its new value: 'F:\ProgramFiles\'.
值得一提的是,F:\我的機器上是一種網絡共享C:\的一部分,並且報告與C:\完全相同的可用空間,所以看起來我直接運行.msi並將TARGETDIR設置爲C:\,但從msiexec運行時,TARGETDIR設置爲F :.
有沒有辦法找到一個可能在任何根目錄的特定目錄?