從自訂動作傳回錯誤訊息
本節說明如何透過呼叫動態連結程式庫或腳本,從實際執行安裝部分的自訂動作傳送訊息。 請注意, 自訂動作類型 19 只會傳送指定的錯誤訊息、傳回失敗,然後終止安裝。 自訂動作類型 19 不會執行安裝的任何部分。
若要從使用 動態連結程式庫 (DLL) 的自訂動作傳送錯誤訊息,請讓自訂動作呼叫 MsiProcessMessage。 請注意, DoAction ControlEvent 所啟動的自訂動作可以使用 Message 方法傳送訊息,但無法使用 MsiProcessMessage傳送訊息。 在 Windows Server 2003 之前的系統上,DoAction ControlEvent 所啟動的自訂動作無法使用 MsiProcessMessage 或 Message 方法傳送訊息。 如需詳細資訊,請參閱 使用 MsiProcessMessage 將訊息傳送至 Windows Installer。
使用 DLL 從自訂動作內顯示錯誤訊息
- 自訂動作應該呼叫 MsiProcessMessage ,並傳入 參數 hInstall、 eMessageType和 hRecord。 安裝控制碼 自訂動作類型 19可以提供給自訂動作,如 從自訂動作或MsiOpenProduct 或 MsiOpenPackage存取目前安裝程式會話中所述。
- 參數 eMessageType 應該指定 MsiProcessMessage中列出的其中一個訊息類型。
- MsiProcessMessage函式的hRecord參數取決於訊息類型。 請參閱 使用 MsiProcessMessage 將訊息傳送至 Windows Installer。 如果訊息包含格式化的資料,請使用Formatted中所述的格式,將訊息輸入Error資料表。
若要從使用腳本的自訂動作傳送錯誤訊息,自訂動作可能會呼叫Session物件的Message方法。
使用腳本從自訂動作內顯示錯誤訊息
- 自訂動作應該呼叫Session物件的Message方法,並傳入參數種類和記錄。
- 參數 種類 應該指定 Message 方法中列出的其中一種 訊息 類型。
- Message方法的記錄參數取決於訊息類型。 如果訊息包含格式化的資料,請使用Formatted中所述的格式,將訊息輸入Error資料表。
使用 可執行檔 的自訂動作無法藉由呼叫 MsiProcessMessage 或 Message 方法來傳送訊息,因為它們無法取得安裝的控制碼。
相關主題