從自訂動作傳回錯誤訊息

本節說明如何透過呼叫動態連結程式庫或腳本,從實際執行安裝部分的自訂動作傳送訊息。 請注意, 自訂動作類型 19 只會傳送指定的錯誤訊息、傳回失敗,然後終止安裝。 自訂動作類型 19 不會執行安裝的任何部分。

若要從使用 動態連結程式庫 (DLL) 的自訂動作傳送錯誤訊息,請讓自訂動作呼叫 MsiProcessMessage。 請注意, DoAction ControlEvent 所啟動的自訂動作可以使用 Message 方法傳送訊息,但無法使用 MsiProcessMessage傳送訊息。 在 Windows Server 2003 之前的系統上,DoAction ControlEvent 所啟動的自訂動作無法使用 MsiProcessMessageMessage 方法傳送訊息。 如需詳細資訊,請參閱 使用 MsiProcessMessage 將訊息傳送至 Windows Installer

使用 DLL 從自訂動作內顯示錯誤訊息

  1. 自訂動作應該呼叫 MsiProcessMessage ,並傳入 參數 hInstalleMessageTypehRecord。 安裝控制碼 自訂動作類型 19可以提供給自訂動作,如 從自訂動作或MsiOpenProductMsiOpenPackage存取目前安裝程式會話中所述。
  2. 參數 eMessageType 應該指定 MsiProcessMessage中列出的其中一個訊息類型。
  3. MsiProcessMessage函式的hRecord參數取決於訊息類型。 請參閱 使用 MsiProcessMessage 將訊息傳送至 Windows Installer。 如果訊息包含格式化的資料,請使用Formatted中所述的格式,將訊息輸入Error資料表。

若要從使用腳本的自訂動作傳送錯誤訊息,自訂動作可能會呼叫Session物件的Message方法。

使用腳本從自訂動作內顯示錯誤訊息

  1. 自訂動作應該呼叫Session物件的Message方法,並傳入參數種類記錄
  2. 參數 種類 應該指定 Message 方法中列出的其中一種 訊息 類型。
  3. Message方法的記錄參數取決於訊息類型。 如果訊息包含格式化的資料,請使用Formatted中所述的格式,將訊息輸入Error資料表。

使用 可執行檔 的自訂動作無法藉由呼叫 MsiProcessMessageMessage 方法來傳送訊息,因為它們無法取得安裝的控制碼。

自訂動作傳回值