MsiSourceListAddSourceA 函数 (msi.h)

MsiSourceListAddSource 函数将添加到有效网络源列表中,这些网络源包含指定用户上下文中产品或修补程序的指定源类型。

SOURCELIST 属性中的源数不受限制。

语法

UINT MsiSourceListAddSourceA(
  [in] LPCSTR szProduct,
  [in] LPCSTR szUserName,
  [in] DWORD  dwReserved,
  [in] LPCSTR szSource
);

parameters

[in] szProduct

要修改的产品的 ProductCode

[in] szUserName

每用户安装的用户名。 在 Windows 2000 或 Windows XP 上,本地用户) 的用户名应始终采用 DOMAIN\USERNAME (或 MACHINENAME\USERNAME 格式。

用于每台计算机安装的空字符串或 NULL

[in] dwReserved

保留供将来使用。 此值必须设置为 0。

[in] szSource

指向指定了来源的字符串的指针。

返回值

返回代码 说明
ERROR_ACCESS_DENIED
用户无法添加源。
ERROR_BAD_CONFIGURATION
配置数据已损坏。
ERROR_BAD_USERNAME
无法解析用户名。
ERROR_FUNCTION_FAILED
函数未成功。
ERROR_INSTALL_SERVICE_FAILURE
无法访问安装程序服务。
ERROR_INVALID_PARAMETER
向该函数传递了无效参数。
ERROR_SUCCESS
已添加源。
ERROR_UNKNOWN_PRODUCT
指定的产品未知。

注解

管理员可以修改每计算机安装、其自己的每用户非托管安装以及任何用户的按用户托管安装。 非管理员只能修改每台计算机安装及其自己的 (托管或非托管) 每个用户安装。 用户可以通过设置策略来浏览源。 有关详细信息,请参阅 DisableBrowseAllowLockdownBrowseAlwaysInstallElevated 策略。

请注意,此函数只是将新源添加到有效源列表中。 如果使用其他源来安装产品,则在当前源不可用之前不会使用新源。

调用方负责确保提供的源是产品的有效源图像。

如果用户名是空字符串或 NULL,则函数在产品的每台计算机安装上操作。 在这种情况下,如果产品仅以每用户状态安装,则函数将返回ERROR_UNKNOWN_PRODUCT。

如果用户名不是空字符串或 NULL,则指定修改了其产品安装的用户的名称。 如果用户名是当前用户名,则函数将首先尝试修改产品的非托管安装。 如果找不到产品的非托管安装,则函数会尝试修改产品的按用户托管安装。 如果找不到产品的托管或非托管的按用户安装,则函数将返回ERROR_UNKNOWN_PRODUCT,即使产品是按计算机安装的。

此函数不能修改除当前用户以外的任何用户的非托管安装。 如果用户名不是空字符串或 NULL,但不是当前用户,则函数仅检查指定用户的产品的托管每用户安装。 如果产品未作为指定用户的按用户托管安装,则函数将返回ERROR_UNKNOWN_PRODUCT,即使产品是按计算机安装的。

注意

msi.h 标头将 MsiSourceListAddSource 定义为别名,该别名根据 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。 若要了解 Windows Installer 版本所需的最低 Windows Service Pack,请参阅 Windows Installer 运行时要求。
目标平台 Windows
标头 msi.h
Library Msi.lib
DLL Msi.dll

另请参阅

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

安装上下文

LookupAccountName

ProductCode

SOURCELIST

源复原能力