EnvironmentManager Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe de lecture et d’écriture de variables d’environnement.
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
- Héritage
- Attributs
Remarques
L’API ajoute le suivi des variables d’environnement, qui est utilisé pour désinstaller proprement les artefacts d’environnement écrits par l’application. Le suivi permet également la restauration des variables suivies précédemment écrites lorsqu’une application est désinstallée.
Pour les applications empaquetées, une variable créée ou modifiée avec la nouvelle API sera suivie. Les variables qui ne sont pas créées ou modifiées avec la nouvelle API continuent de ne pas être suivies.
La plateforme peut suivre la désinstallation pour les applications empaquetées, mais pas pour les applications non empaquetées. Pour les applications non empaquetées, le propre programme de désinstallation de l’application est utilisé pour propre des variables d’environnement. Une application non empaquetée peut fournir son propre nettoyage lors de la désinstallation, en appelant l’API SetEnvironmentVariable avec une chaîne vide pour la valeur, ou RemoveFromPath . Toutefois, cela supprimerait le chemin de la variable PATH et ne rétablirait pas son état précédent.
Lors de la désinstallation d’un package, le nettoyage et la restauration de l’environnement sont déclenchés.
- Toutes les variables créées par l’application sont supprimées.
- Lorsqu’une variable n’a pas été créée à l’origine par l’application, mais qu’elle a été modifiée pour la dernière fois, sa valeur est restaurée à la dernière valeur définie par une autre application.
- Les modifications de variables effectuées par des mécanismes autres que l’utilisation de ces API (par exemple, l’utilisateur effectuant des modifications manuelles via RegEdit) sont prises en compte.
Notes
Une application définissant une variable sur une chaîne vide supprime effectivement la variable, et aucune nouvelle valeur ne doit être définie.
Voici d’autres points à noter :
- Le système n’utilise pas d’écouteur de Registre. Ainsi, la seule façon de savoir si quelque chose a changé est si l’appelant utilise ces API pour créer ou modifier des variables, ou si une application qui l’a fait est maintenant désinstallée.
- Le système ne suit pas les modifications apportées en dehors de l’API ; et il ne suit pas la désinstallation des applications non empaquetées.
- Lorsqu’une application empaquetée est désinstallée, toute variable qu’elle a créée est supprimée, quelles que soient les autres modifications (suivies ou non) apportées à cette variable pendant sa durée de vie.
- Si aucune variable n’a été créée avec ces API, elle n’est pas supprimée lorsqu’une application empaquetée est désinstallée . Au lieu de cela, la dernière modification apportée par cette application (via les API) est annulée.
- Les applications à la carte ont une identité, mais ne sont pas installées de la façon dont les applications empaquetées sont installées. Il n’existe aucun moyen fiable de détecter quand une application à la carte est désinstallée. Par conséquent, bien qu’une variable créée/écrite par une application à la carte soit suivie, elle ne sera pas nettoyée lors de la désinstallation de l’application.
Propriétés
AreChangesTracked |
Obtient une valeur indiquant si les modifications des variables d’environnement sont suivies. |
IsSupported |
Obtient une valeur qui indique si EnvironmentManager est pris en charge sur la version actuelle de l’appareil/du système d’exploitation. |
Méthodes
AddExecutableFileExtension(String) |
Ajoute l’extension de fichier spécifiée à la fin de la variable d’environnement PATHEXT . |
AppendToPath(String) |
Ajoute le chemin spécifié à la fin de la variable d’environnement PATH . |
GetEnvironmentVariable(String) |
Obtient la valeur de la variable d’environnement spécifiée dans l’étendue de l’EnvironnementManager actuel. |
GetEnvironmentVariables() |
Obtient une collection de variables d’environnement au niveau de l’environnement actuel. |
GetForMachine() |
Obtient un EnvironmentManager à l’échelle du système. |
GetForProcess() |
Obtient un EnvironmentManager délimité au processus actuel. |
GetForUser() |
Obtient un EnvironmentManager étendu à l’utilisateur actuel. |
RemoveExecutableFileExtension(String) |
Supprime l’extension de fichier spécifiée de la fin de la variable d’environnement PATHEXT . |
RemoveFromPath(String) |
Supprime le chemin spécifié à la fin de la variable d’environnement PATH . |
SetEnvironmentVariable(String, String) |
Définit la valeur de la variable d’environnement spécifiée dans l’étendue de l’EnvironnementManager actuel. |