重新安裝功能或應用程式
Windows Installer 可以修復、取代及驗證應用程式中包含的檔案。 如果任何與任何功能相關聯的檔案或登錄專案遺失或損毀,可能需要部分或完整的應用程式重新安裝。
重新安裝功能或應用程式時,也會重新安裝屬於功能或應用程式的所有服務、環境變數和自訂動作。 請注意,這表示在原始安裝與重新安裝之間對環境變數所做的任何變更都將遺失。
下列清單包含重新安裝功能或產品的方法。 安裝程式已自動化前兩種方法:
- 呼叫 MsiReinstallFeature 函式來修復、取代或驗證檔案。
- 呼叫 MsiReinstallProduct 函式以重新安裝整個產品。
- 透過 重新安裝 ControlEvent,以安裝程式 UI 控制項按鈕重新安裝、取代或驗證檔案。
- 藉由設定 REINSTALL 屬性和REINSTALLMODE屬性,從命令列重新安裝、取代或驗證檔案。
如需重新安裝功能或應用程式的詳細資訊,請參閱 復原。
使用安裝程式重新安裝產品
若要使用安裝程式重新安裝功能
使用安裝程式使用者介面重新安裝產品或功能
將專案新增至 控制項資料表,將按鈕新增至指定的對話方塊。
將 ReinstallMode ControlEvent 新增至 ControlEvent 資料表,其中包含參考步驟 1 中所建立按鈕控制項的Dialog_和Control_欄位。 在 [引數] 欄位中,輸入字串,其中包含對應到您要重新安裝模式的字母, (此欄位可接受的值與 重新安裝MODE 屬性所接受的值相同) 。 此事件之 Ordering 資料行中的值應該是 1。
將 重新安裝 ControlEvent 事件新增至 ControlEvent 資料表,再次參考相同的按鈕控制項。 此事件的 [引數] 欄位通常為 ALL,以強制重新安裝所有功能,但您可以在這裡放置特定功能的名稱。 此事件之 Ordering 資料行中的值應該是 2。
新增一個系結至相同按鈕控制項的事件,以實際起始重新安裝。 這可以是 EndDialog 事件 (,且引數為 Return) 。 不過,一般而言,這裡會使用 NewDialog 事件跳到 您確定要重新安裝嗎? 確認對話方塊。 此事件之 Ordering 資料行中的值應該是 3。
如有需要,可以針對單一對話方塊建立數個 [重新安裝 ] 按鈕,讓使用者選取執行的重新安裝類型。 在此情況下,每個按鈕的撰寫方式如上述程式所述,每個按鈕都有不同的 ReinstallMode ControlEvent 參數。
安裝特定產品 (部分或所有產品功能) 之後,就可以在命令列上執行重新安裝:
從命令列重新安裝產品或功能
從命令提示字元中,指定 REINSTALL 屬性。
從命令提示字元中,指定 REINSTALLMODE 屬性。
指定這些屬性可讓使用者重新安裝任何或所有產品的功能。 您也可以指定重新安裝的類型。 例如,您可以指定只重新安裝完全遺失的檔案,或只損毀檔案 (例如,任何總和檢查碼不符合實際檔案內容的可執行檔,) 被取代。