共用方式為


MsiDoActionW 函式 (msiquery.h)

MsiDoAction 函式會執行內建動作、自定義動作或使用者介面精靈動作。

語法

UINT MsiDoActionW(
  [in] MSIHANDLE hInstall,
  [in] LPCWSTR   szAction
);

參數

[in] hInstall

處理提供給 DLL 自定義動作的安裝,或透過 MsiOpenPackageMsiOpenPackageExMsiOpenProduct取得的安裝。

[in] szAction

指定要執行的動作。

傳回值

此函式會傳回UINT。

言論

MsiDoAction 函式會執行對應至所提供名稱的動作。 如果安裝程式無法將名稱辨識為內建動作,或 CustomAction 數據表中的自定義動作,則會將名稱傳遞至使用者介面處理程序物件,以叫用函式或對話方塊。 如果提供 Null 動作名稱,安裝程式會使用 ACTION 屬性的大寫值作為要執行的動作。 如果未定義屬性值,則會執行預設動作,定義為 「INSTALL」。。

更新系統的動作,例如 InstallFilesWriteRegistryValues 動作,無法藉由呼叫 msiDoAction 來執行。 此規則的例外狀況是,如果 MsiDoAction 是從 InstallExecuteSequence 數據表中排程的自定義動作呼叫,InstallInitializeInstallFinalize 動作。 您可以呼叫未更新系統的動作,例如 AppSearchCostInitialize

注意

msiquery.h 標頭會將 MsiDoAction 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
目標平臺 窗戶
標頭 msiquery.h
連結庫 Msi.lib
DLL Msi.dll

另請參閱

安裝程式動作函式