Share via


msiAdvertiseScriptA 函式 (msi.h)

MsiAdvertiseScript函式會將公告的腳本檔案複製到指定的位置。

語法

UINT MsiAdvertiseScriptA(
  [in] LPCSTR szScriptFile,
  [in] DWORD  dwFlags,
  [in] PHKEY  phRegData,
  [in] BOOL   fRemoveItems
);

參數

[in] szScriptFile

MsiAdvertiseProductMsiAdvertiseProductEx所產生的腳本檔案完整路徑。

[in] dwFlags

SCRIPTFLAGS 控制項公告的下列位旗標。 dwFlags的值可以是下列值的組合。

旗標 意義
SCRIPTFLAGS_CACHEINFO
0x001
如果需要建立或移除圖示,請包含此旗標。
SCRIPTFLAGS_SHORTCUTS
0x004
如果需要建立或移除快捷方式,請包含此旗標。
SCRIPTFLAGS_MACHINEASSIGN
0x008
如果要指派給電腦的產品,請包含此旗標。
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
如果需要寫入或移除登錄資料中的組態和管理資訊,請包含此旗標。
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
包含此旗標,以針對此產品先前註冊的轉換,強制驗證腳本中所列的轉換。 請注意,轉換衝突是使用不區分大小寫的字串比較來偵測,而且會在所有使用者和每部電腦安裝之間評估所有內容。 如果腳本中的轉換清單不符合為產品註冊的轉換,函式會傳回ERROR_INSTALL_TRANSFORM_FAILURE。
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
如果需要寫入或移除與 COM 類別相關的登錄中的公告資訊,請包含此旗標。
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
如果需要寫入或移除與擴充功能相關的登錄中公告資訊,請包含此旗標。
SCRIPTFLAGS_REGDATA_APPINFO
0x180
如果需要寫入或移除登錄中的廣告資訊,請包含此旗標。
SCRIPTFLAGS_REGDATA
0x1A0
如果需要寫入或移除登錄中的廣告資訊,請包含此旗標。

[in] phRegData

要寫入登錄資料的暫存資訊所在的登錄機碼。 如果此參數為 Null,登錄資料會根據廣告是每個使用者還是每部電腦,放在適當的機碼底下。 如果此參數為非 Null,腳本會在指定的登錄機碼下寫入登錄資料,而不是一般位置。 在此情況下,應用程式將不會公告給使用者。

請注意,產生使用者或電腦的產品公告時,無法使用此登錄機碼,因為登錄機碼的提供者通常會刪除金鑰。 登錄機碼位於殼層、類別和 .msi 組態資訊的一般登錄位置之外,而且不在 HKEY_CLASSES_ROOT之下。 此登錄機碼僅適用于取得腳本中登錄資料的暫時資訊。

[in] fRemoveItems

如果要移除指定的專案,而不是建立,則為 TRUE。

傳回值

意義
ERROR_SUCCESS
語言函式已順利完成。
ERROR_ACCESS_DENIED
呼叫進程未在 LocalSystem 帳戶下執行。
與動作相關的錯誤
請參閱 錯誤碼
初始化錯誤
發生與初始化相關的錯誤。
ERROR_CALL_NOT_IMPLEMENTED
此函式僅適用于 Windows 2000 和 Windows XP。
 
 

備註

呼叫此函式的進程必須在 LocalSystem 帳戶下執行。 若要向目標使用者公告應用程式,呼叫此函式的執行緒必須模擬目標使用者。 如果呼叫此函式的執行緒未模擬目標使用者,應用程式會公告給所有使用者,以提升許可權進行安裝。

注意

msi.h 標頭會根據 UNICODE 預處理器常數的定義,將 MsiAdvertiseScript 定義為別名,自動選取此函式的 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。 如需 Windows Installer 版本所需的最低 Windows Service Pack 相關資訊,請參閱 Windows Installer Run-Time 需求。
目標平台 Windows
標頭 msi.h
程式庫 Msi.lib
Dll Msi.dll

另請參閱

安裝內容