SetupAddToSourceListA function (setupapi.h)

[This function is available for use in the operating systems indicated in the Requirements section. It may be altered or unavailable in subsequent versions. SetupAPI should no longer be used for installing applications. Instead, use the Windows Installer for developing application installers. SetupAPI continues to be used for installing device drivers.]

The SetupAddToSourceList function appends a value to the list of installation sources for either the current user or the system. If the value already exists, it is removed first, so that duplicate entries are not created.

A caller of this function is required have administrative privileges, otherwise the function fails.


  [in] DWORD Flags,
  [in] PCSTR Source


[in] Flags

List to which the source will be appended. This parameter can be any combination of the following values.


Add the source to the per-system list. The caller must be an administrator.


Add the source to the per-user list.


If the caller is an administrator, the source is added to the per-system list; if the caller is not a member of the administrators local group, the source is added to the per-user list for the current user.

Note  If a temporary list is currently in use (see SetupSetSourceList), the preceding flags are ignored and the source is added to the temporary list.


Add the source to the end of the list. If this flag is not specified, the source is added to the beginning of the list.

[in] Source

Pointer to the source to be added to the list. You should use a null-terminated string.

Return value

If the function succeeds, the return value is a nonzero value.

If the function fails, the return value is zero. To get extended error information, call GetLastError.



The setupapi.h header defines SetupAddToSourceList as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header setupapi.h
Library Setupapi.lib
DLL Setupapi.dll

See also