UiCreatePatchPackageEx (Patchwiz.dll)

UiCreatePatchPackageEx 函式會採用套件建立檔案 (.pcp 檔案) ,並產生 windows Installer 修補程式套件 (.msp 套件) 。 呼叫 Msimsp.exe 是使用 Patchwiz.dll的建議方法。

UiCreatePatchPackageEx 函式可從 Patchwiz.dll 4.0 版開始提供,並擴充 UiCreatePatchPackage 函式的功能。

UINT UiCreatePatchPackageEx(
  LPCTSTR szPcpPath,              
  LPCTSTR szPatchPath,            
  LPCTSTR szLogPath,             
  HWND hwndStatus,                
  LPCTSTR szTempFolder,           
  BOOL fRemoveTempFolderContents,
  DWORD dwFlags,
  DWORD dwReserved    
);

參數

szPcpPath

此修補程式的修補程式建立屬性檔案 (.pcp 檔案的完整路徑) 。

szPatchPath

要建立之 Windows Installer 修補程式套件 (.msp 檔案的完整路徑) 。 此參數可以是 Null 或空字串,但不能省略。 如果它是 Null 或空字串,函式會使用 Properties Table (Patchwiz.dll 中的 PatchOutputPath 值) 。

szLogPath

將附加之文字記錄檔的完整路徑。 此參數可以是 Null 或空字串,但不能省略。

hwndStatus

顯示狀態文字的視窗控制碼。 此參數可以是 Null 或空字串,但不能省略。

szTempFolder

暫存檔的位置。 此參數可以是 Null 或空字串,但不能省略。 使用者必須具有足夠的許可權,才能讀取和寫入此資料夾。 預設位置為 %TMP%\~pcw_tmp.tmp\。

fRemoveTempFolderContents

如果 為 TRUE,請移除暫存資料夾及其所有內容。 如果為 FALSE,且資料夾存在,則函式會失敗。

dwFlags

此參數可以設定為下列值的其中一個或組合,以指定記錄或使用者介面選項。

旗標 意義
LOGNONE 0x00000000 不寫入任何訊息至記錄檔。
LOGINFO 0x00000001 將參考訊息寫入記錄檔。
LOGWARN 0x00000002 將警告寫入記錄檔。
LOGERR 0x00000004 將錯誤訊息寫入記錄檔。
LOGPERFMESSAGES 0x00000008 將效能訊息寫入記錄檔。
UINONE 0x00000000f 不要顯示使用者介面。
UIALL 0x00000010 顯示使用者介面。

 

dwReserved

保留的。 此參數必須設定為零。

傳回值

請參閱 UiCreatePatchPackage 的傳回值中的資料表。

備註

如需撰寫 .pcp 檔案並使用 UiCreatePatchPackage 產生 Windows Installer 修補程式套件的範例,請參閱 小更新修補範例一節。

建立修補程式需要未壓縮的安裝映射,例如系統管理映射或 CD-ROM 中未壓縮的安裝映射。 UiCreatePatchPackage 不會為封包中的檔案產生二進位修補程式。