MsiAdvertiseProductA function (msi.h)

The MsiAdvertiseProduct function generates an advertise script or advertises a product to the computer. The MsiAdvertiseProduct function enables the installer to write to a script the registry and shortcut information used to assign or publish a product. The script can be written to be consistent with a specified platform by using MsiAdvertiseProductEx.


UINT MsiAdvertiseProductA(
  [in] LPCSTR szPackagePath,
  [in] LPCSTR szScriptfilePath,
  [in] LPCSTR szTransforms,
  [in] LANGID lgidLanguage


[in] szPackagePath

The full path to the package of the product being advertised.

[in] szScriptfilePath

The full path to script file that will be created with the advertise information. To advertise the product locally to the computer, set ADVERTISEFLAGS_MACHINEASSIGN or ADVERTISEFLAGS_USERASSIGN.

Flag Meaning
Set to advertise a per-machine installation of the product available to all users.
Set to advertise a per-user installation of the product available to a particular user.

[in] szTransforms

A semicolon-delimited list of transforms to be applied. The list of transforms can be prefixed with the @ or | character to specify the secure caching of transforms. The @ prefix specifies secure-at-source transforms and the | prefix indicates secure full path transforms. For more information, see Secured Transforms. This parameter may be null.

[in] lgidLanguage

The installation language to use if the source supports multiple languages.

Return value

Value Meaning
The function completed successfully.
An error relating to an action
See Error Codes.
Initialization Error
An initialization error occurred.
This error is returned if an attempt is made to generate an advertise script on any platform other than Windows 2000 or Windows XP. Advertisement to the local computer is supported on all platforms.



The msi.h header defines MsiAdvertiseProduct 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.


Requirement Value
Minimum supported client Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer on Windows Server 2003 or Windows XP. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version.
Target Platform Windows
Header msi.h
Library Msi.lib
DLL Msi.dll

See also

Multiple-Package Installations