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 或空字符串,但不能省略。 用户必须具有足够的权限才能读取和写入此文件夹。 默认位置为 \~pcw_tmp.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 不会为内阁中的文件生成二进制修补程序。