Freigeben über


MsiAdvertiseScriptW-Funktion (msi.h)

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

Syntax

UINT MsiAdvertiseScriptW(
  [in] LPCWSTR szScriptFile,
  [in] DWORD   dwFlags,
  [in] PHKEY   phRegData,
  [in] BOOL    fRemoveItems
);

Parameter

[in] szScriptFile

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

[in] dwFlags

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

Flagge Bedeutung
SCRIPTFLAGS_CACHEINFO
0x001
Fügen Sie dieses Kennzeichen ein, wenn die Symbole erstellt oder entfernt werden müssen.
SCRIPTFLAGS_SHORTCUTS
0x004
Fügen Sie dieses Kennzeichen ein, wenn die Verknüpfungen erstellt oder entfernt werden müssen.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Fügen Sie dieses Kennzeichen ein, wenn das Produkt einem Computer zugewiesen werden soll.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Fügen Sie dieses Kennzeichen hinzu, wenn die Konfigurations- und Verwaltungsinformationen in den Registrierungsdaten geschrieben oder entfernt werden müssen.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Fügen Sie dieses Kennzeichen ein, um die Überprüfung der im Skript aufgeführten Transformationen für zuvor registrierte 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 Installationen pro Benutzer und Computer 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 Kennzeichen hinzu, 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 Kennzeichen hinzu, 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 Kennzeichen hinzu, wenn die Ankündigungsinformationen in der Registrierung geschrieben oder entfernt werden müssen.
SCRIPTFLAGS_REGDATA
0x1A0
Fügen Sie dieses Kennzeichen hinzu, wenn die Ankündigungsinformationen in der Registrierung geschrieben oder 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, basierend darauf, ob die Ankündigung pro Benutzer oder pro Computer ist. Wenn dieser Parameter ungleich NULL ist, schreibt das Skript die Registrierungsdaten unter dem angegebenen Registrierungsschlüssel und nicht in den normalen Speicherort. 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, Klasse 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 Aufrufvorgang wurde nicht unter dem LocalSystem-Konto ausgeführt.
Ein Fehler im Zusammenhang mit einer Aktion
Siehe Fehlercodes.
Initialisierungsfehler
Fehler im Zusammenhang mit der Initialisierung.
ERROR_CALL_NOT_IMPLEMENTED
Diese Funktion ist nur unter Windows 2000 und Windows XP verfügbar.
 
 

Bemerkungen

Der Prozess, der diese Funktion aufruft, muss unter dem LocalSystem-Konto ausgeführt werden. Um eine Anwendung für die Benutzerinstallation für einen benutzerbezogenen Benutzer ankündigen zu können, muss der Thread, der diese Funktion aufruft, den Zielbenutzer imitieren. Wenn der Thread, der diese Funktion aufruft, keine Identität eines zielbezogenen Benutzers angibt, wird die Anwendung für alle Benutzer für die Installation mit erhöhten Berechtigungen angekündigt.

Anmerkung

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

Anforderung Wert
mindestens unterstützte 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 von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen.
Zielplattform- Fenster
Header- msi.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

Installationskontext-