變更目錄的目標位置
可能的話,指定目錄目標位置的最佳方式是在安裝套件中撰寫 目錄資料表 ,以提供正確的位置。 如需詳細資訊,請參閱 使用目錄資料表。
如果您需要在安裝時變更目錄位置,您有下列選項:
- 在命令列上設定 Public 屬性 的值,以指定目錄的位置。 在 CostFinalize 動作期間,安裝程式所使用的內部目錄路徑會更新為 目錄資料表中列為索引鍵的屬性值。 如需詳細資訊,請參閱在命令列上使用屬性和設定公用屬性值。
- 使用自訂動作指定目錄的位置。 如果自訂動作是在 CostFinalize 宏指令之前執行,您可以使用 自訂動作類型 51 ,從格式化的文字字串設定屬性值。 如果自訂動作在 CostFinalize 動作之後執行,您可以使用 自訂動作類型 35 ,從格式化的文字字串設定目錄路徑的值。 變更其中一個系統資料夾屬性的自訂動作應該包含在InstallExecuteSequence Table 或 AdminExecuteSequence Table) 的執行順序資料表 ( (安裝順序資料表和AdminUISequence Table) ,讓資料夾在完整的 UI和基本 UI安裝期間變更。
- 如果安裝執行 完整的 UI,您可以使用 MsiSetTargetPath 或 SetTargetPath ControlEvent 來設定目錄路徑。 檢查 ProductState 屬性,以判斷包含此元件的產品是否已安裝,再呼叫 MsiSetTargetPath 或 SetTargetPath ControlEvent。 如果某些使用該路徑的元件已經針對目前使用者或不同的使用者安裝,請勿嘗試變更目標目錄路徑。
下列限制適用于上述所有選項:
- 如果某些使用路徑的元件已經為目前使用者或其他使用者安裝,請勿嘗試變更目標目錄路徑。
- 請勿在 維護安裝期間嘗試變更目標目錄路徑。