MsiAdvertiseScriptA function (msi.h)
The MsiAdvertiseScript function copies an advertised script file into the specified locations.
Syntax
UINT MsiAdvertiseScriptA(
[in] LPCSTR szScriptFile,
[in] DWORD dwFlags,
[in] PHKEY phRegData,
[in] BOOL fRemoveItems
);
Parameters
[in] szScriptFile
The full path to a script file generated by MsiAdvertiseProduct or MsiAdvertiseProductEx.
[in] dwFlags
The following bit flags from SCRIPTFLAGS control advertisement. The value of dwFlags can be a combination of the following values.
[in] phRegData
A registry key under which temporary information about registry data is to be written. If this parameter is null, the registry data is placed under the appropriate key, based on whether the advertisement is per-user or per-machine. If this parameter is non-null, the script will write the registry data under the specified registry key rather than the normal location. In this case, the application will not get advertised to the user.
Note that this registry key cannot be used when generating an advertisement of a product for a user or a computer because the provider of the registry key generally deletes the key. The registry key is located outside of the normal registry locations for shell, class, and .msi configuration information and it is not under HKEY_CLASSES_ROOT. This registry key is only intended for getting temporary information about registry data in a script.
[in] fRemoveItems
TRUE if specified items are to be removed instead of being created.
Return value
Value | Meaning |
---|---|
|
The function completed successfully. |
|
The calling process was not running under the LocalSystem account. |
|
See Error Codes. |
An error relating to initialization occurred. | |
|
This function is only available on Windows 2000 and Windows XP. |
Remarks
The process calling this function must be running under the LocalSystem account. To advertise an application for per-user installation to a targeted user, the thread that calls this function must impersonate the targeted user. If the thread calling this function is not impersonating a targeted user, the application is advertised to all users for installation with elevated privileges.
Note
The msi.h header defines MsiAdvertiseScript as an alias that 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 is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
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 |