EnvironmentManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Eine Klasse zum Lesen und Schreiben von Umgebungsvariablen.
public ref class EnvironmentManager sealed
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Windows.System.EnvironmentManagerContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class EnvironmentManager final
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Windows.System.EnvironmentManagerContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class EnvironmentManager
Public NotInheritable Class EnvironmentManager
- Vererbung
- Attribute
Hinweise
Die API fügt die Nachverfolgung von Umgebungsvariablen hinzu, die verwendet wird, um von der App geschriebene Umgebungsartefakte sauber zu deinstallieren. Die Nachverfolgung ermöglicht auch die Wiederherstellung von zuvor geschriebenen nachverfolgten Variablen, wenn eine App deinstalliert wird.
Bei gepackten Apps wird eine Variable nachverfolgt, die mit der neuen API erstellt oder geändert wird. Variablen, die nicht mit der neuen API erstellt oder geändert werden, werden weiterhin nicht nachverfolgt.
Die Plattform kann die Deinstallation für gepackte Apps nachverfolgen, aber nicht für nicht gepackte Apps. Bei nicht gepackten Apps wird das eigene Deinstallationsprogramm der App verwendet, um Umgebungsvariablen sauber. Eine nicht verpackte App kann bei der Deinstallation eine eigene Bereinigung bereitstellen, indem die SetEnvironmentVariable-API mit einer leeren Zeichenfolge für den Wert oder RemoveFromPath aufgerufen wird. Dadurch würde der Pfad jedoch aus der PATH-Variablen entfernt, sie würde nicht in den vorherigen Zustand rückgängig machen.
Beim Deinstallieren eines Pakets wird die Umgebungsbereinigung und Wiederherstellung ausgelöst.
- Alle von der App erstellten Variablen werden gelöscht.
- Wenn eine Variable nicht ursprünglich von der App erstellt, sondern zuletzt von der App geändert wurde, wird ihr Wert auf den letzten Wert wiederhergestellt, der von einer anderen App festgelegt wurde.
- Variable Änderungen, die von anderen Mechanismen als der Verwendung dieser APIs vorgenommen werden (z. B. der Benutzer, der manuelle Änderungen über RegEdit vornimmt), werden berücksichtigt.
Hinweis
Eine App, die eine Variable auf eine leere Zeichenfolge festlegt, entfernt die Variable effektiv, und es sollte kein neuer Wert festgelegt werden.
Beachten Sie noch einiges:
- Das System verwendet keinen Registrierungslistener. Die einzige Möglichkeit, ob sich etwas geändert hat, ist, wenn der Aufrufer diese APIs verwendet, um Variablen zu erstellen oder zu ändern, oder ob eine App, die dies getan hat, jetzt deinstalliert wird.
- Das System verfolgt keine Änderungen, die außerhalb der API vorgenommen werden. die Deinstallation von nicht gepackten Apps wird nicht nachverfolgt.
- Wenn eine gepackte App deinstalliert wird, werden alle von ihr erstellten Variablen gelöscht, unabhängig von anderen Änderungen (nachverfolgt oder nicht nachverfolgt), die während ihrer Lebensdauer an dieser Variablen vorgenommen wurden.
- Wenn eine Variable nicht mit diesen APIs erstellt wurde, wird sie nicht gelöscht, wenn eine gepackte App deinstalliert wird. Stattdessen wird die letzte Änderung zurückgesetzt, die diese App (über die APIs) vorgenommen hat.
- A-la-carte-Apps verfügen über eine Identität, werden aber nicht so installiert, wie gepackte Apps installiert werden. Es gibt keine zuverlässige Möglichkeit, zu erkennen, wann eine a-la-carte-App deinstalliert wird. Daher wird eine variable, die von einer a-la-carte-App erstellt/geschrieben wurde, nachverfolgt, sie wird jedoch nicht bereinigt, wenn die App deinstalliert wird.
Eigenschaften
AreChangesTracked |
Ruft einen Wert ab, der angibt, ob Änderungen von Umgebungsvariablen nachverfolgt werden. |
IsSupported |
Ruft einen Wert ab, der angibt, ob EnvironmentManager auf der aktuellen Geräte-/Betriebssystemversion unterstützt wird. |
Methoden
AddExecutableFileExtension(String) |
Fügt die angegebene Dateierweiterung am Ende der PATHEXT-Umgebungsvariablen hinzu. |
AppendToPath(String) |
Fügt den angegebenen Pfad am Ende der PATH-Umgebungsvariablen hinzu. |
GetEnvironmentVariable(String) |
Ruft den Wert der angegebenen Umgebungsvariablen im Bereich des aktuellen EnvironmentManager ab. |
GetEnvironmentVariables() |
Ruft eine Auflistung von Umgebungsvariablen im Bereich des aktuellen EnvironmentManager ab. |
GetForMachine() |
Ruft einen EnvironmentManager im systemweiten Bereich ab. |
GetForProcess() |
Ruft einen EnvironmentManager ab, der auf den aktuellen Prozess ausgerichtet ist. |
GetForUser() |
Ruft einen EnvironmentManager ab, der auf den aktuellen Benutzer ausgerichtet ist. |
RemoveExecutableFileExtension(String) |
Entfernt die angegebene Dateierweiterung vom Ende der PATHEXT-Umgebungsvariablen. |
RemoveFromPath(String) |
Entfernt den angegebenen Pfad vom Ende der PATH-Umgebungsvariablen. |
SetEnvironmentVariable(String, String) |
Legt den Wert der angegebenen Umgebungsvariablen im Bereich des aktuellen EnvironmentManager fest. |