MsiAdvertiseScriptA-Funktion (msi.h)

Die MsiAdvertiseScript-Funktion kopiert eine angekündigte Skriptdatei in die angegebenen Speicherorte.

Syntax

UINT MsiAdvertiseScriptA(
  [in] LPCSTR szScriptFile,
  [in] DWORD  dwFlags,
  [in] PHKEY  phRegData,
  [in] BOOL   fRemoveItems
);

Parameter

[in] szScriptFile

Der vollständige Pfad zu einer Skriptdatei, die von MsiAdvertiseProduct oder MsiAdvertiseProductEx generiert wird.

[in] dwFlags

Die folgenden Bitflags aus der SCRIPTFLAGS-Steuerelementanzeige. Der Wert von dwFlags kann eine Kombination der folgenden Werte sein.

Flag Bedeutung
SCRIPTFLAGS_CACHEINFO
0x001
Fügen Sie dieses Flag ein, wenn die Symbole erstellt oder entfernt werden müssen.
SCRIPTFLAGS_SHORTCUTS
0x004
Fügen Sie dieses Flag ein, wenn die Verknüpfungen erstellt oder entfernt werden müssen.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Fügen Sie dieses Flag ein, wenn das Produkt einem Computer zugewiesen werden soll.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Fügen Sie dieses Flag ein, wenn die Konfigurations- und Verwaltungsinformationen in den Registrierungsdaten geschrieben oder entfernt werden müssen.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Fügen Sie dieses Flag ein, um die Validierung der im Skript aufgeführten Transformationen mit zuvor registrierten Transformationen für dieses Produkt zu erzwingen. Beachten Sie, dass Transformationskonflikte mithilfe eines Zeichenfolgenvergleichs erkannt werden, bei dem die Groß-/Kleinschreibung nicht beachtet wird und zwischen Benutzer- und Computerinstallationen in allen Kontexten ausgewertet wird. Wenn die Liste der Transformationen im Skript nicht mit den für das Produkt registrierten Transformationen übereinstimmt, gibt die Funktion ERROR_INSTALL_TRANSFORM_FAILURE zurück.
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
Fügen Sie dieses Flag ein, wenn Ankündigungsinformationen in der Registrierung im Zusammenhang mit COM-Klassen geschrieben oder entfernt werden müssen.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Fügen Sie dieses Flag ein, wenn Ankündigungsinformationen in der Registrierung im Zusammenhang mit einer Erweiterung geschrieben oder entfernt werden müssen.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Fügen Sie dieses Flag ein, wenn Ankündigungsinformationen in die Registrierung geschrieben oder aus ihr entfernt werden müssen.
SCRIPTFLAGS_REGDATA
0x1A0
Fügen Sie dieses Flag ein, wenn Ankündigungsinformationen in die Registrierung geschrieben oder aus ihr entfernt werden müssen.

[in] phRegData

Ein Registrierungsschlüssel, unter dem temporäre Informationen zu Registrierungsdaten geschrieben werden sollen. Wenn dieser Parameter NULL ist, werden die Registrierungsdaten unter dem entsprechenden Schlüssel platziert, je nachdem, ob die Ankündigung pro Benutzer oder pro Computer erfolgt. Wenn dieser Parameter ungleich NULL ist, schreibt das Skript die Registrierungsdaten unter dem angegebenen Registrierungsschlüssel anstelle des normalen Speicherorts. In diesem Fall wird die Anwendung dem Benutzer nicht angekündigt.

Beachten Sie, dass dieser Registrierungsschlüssel beim Generieren einer Ankündigung eines Produkts für einen Benutzer oder computer nicht verwendet werden kann, da der Anbieter des Registrierungsschlüssels den Schlüssel in der Regel löscht. Der Registrierungsschlüssel befindet sich außerhalb der normalen Registrierungsspeicherorte für Shell-, Klassen- und .msi-Konfigurationsinformationen und befindet sich nicht unter HKEY_CLASSES_ROOT. Dieser Registrierungsschlüssel dient nur zum Abrufen temporärer Informationen zu Registrierungsdaten in einem Skript.

[in] fRemoveItems

TRUE, wenn angegebene Elemente entfernt werden sollen, anstatt erstellt zu werden.

Rückgabewert

Wert Bedeutung
ERROR_SUCCESS
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_ACCESS_DENIED
Der aufrufende Prozess wurde nicht unter dem LocalSystem-Konto ausgeführt.
Ein Fehler im Zusammenhang mit einer Aktion
Weitere Informationen finden Sie unter Fehlercodes.
Initialisierungsfehler
Fehler im Zusammenhang mit der Initialisierung.
ERROR_CALL_NOT_IMPLEMENTED
Diese Funktion ist nur unter Windows 2000 und Windows XP verfügbar.
 
 

Hinweise

Der Prozess, der diese Funktion aufruft, muss unter dem LocalSystem-Konto ausgeführt werden. Um eine Anwendung für die benutzerspezifische Installation für einen Zielbenutzer anzukündigen, muss der Thread, der diese Funktion aufruft, die Identität des Zielbenutzers annehmen. Wenn der Thread, der diese Funktion aufruft, keine Identität eines Zielbenutzers angibt, wird die Anwendung allen Benutzern zur Installation mit erhöhten Berechtigungen angekündigt.

Hinweis

Der msi.h-Header definiert MsiAdvertiseScript als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Windows Installer unter Windows Server 2003 oder Windows XP. Informationen zum mindestens erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen.
Zielplattform Windows
Kopfzeile msi.h
Bibliothek Msi.lib
DLL Msi.dll

Weitere Informationen

Installationskontext