Compartir a través de


EnvironmentManager Clase

Definición

Clase para leer y escribir variables de entorno.

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
Herencia
Object Platform::Object IInspectable EnvironmentManager
Atributos

Comentarios

La API agrega el seguimiento de variables de entorno, que se usa para desinstalar de forma limpia los artefactos de entorno escritos por la aplicación. El seguimiento también permite la restauración de variables de seguimiento escritas previamente cuando se desinstala una aplicación.

En el caso de las aplicaciones empaquetadas, se realizará un seguimiento de una variable que se crea o modifica con la nueva API. Las variables que no se crean o modifican con la nueva API no se siguen realizando el seguimiento.

La plataforma puede realizar un seguimiento de la desinstalación de aplicaciones empaquetadas, pero no para aplicaciones desempaquetadas. En el caso de las aplicaciones sin empaquetar, se confía en el propio desinstalador de la aplicación para limpiar las variables de entorno. Una aplicación sin empaquetar puede proporcionar su propia limpieza al desinstalar, llamando a la API SetEnvironmentVariable con una cadena vacía para el valor, o RemoveFromPath , pero esto quitaría la ruta de acceso de la variable PATH , no la revertiría a su estado anterior.

Al desinstalar un paquete, se desencadena la limpieza y restauración del entorno.

  1. Las variables creadas por la aplicación se eliminan.
  2. Cuando la aplicación no creó originalmente una variable, pero fue modificada por última vez por la aplicación, su valor se restaurará en el último valor establecido por otra aplicación.
  3. Los cambios variables realizados por mecanismos distintos del uso de estas API (por ejemplo, el usuario que realiza cambios manuales a través de RegEdit) se tendrán en cuenta.

Nota:

Una aplicación que establece una variable en una cadena vacía elimina eficazmente la variable y no se debe establecer ningún valor nuevo.

Otras cosas que hay que tener en cuenta:

  • El sistema no usa un agente de escucha del Registro. Por lo tanto, la única manera en que sabrá si algo ha cambiado es si el autor de la llamada usa estas API para crear o modificar variables, o si una aplicación que lo ha hecho ahora se desinstala.
  • El sistema no realizará un seguimiento de los cambios realizados fuera de la API; y no hará un seguimiento de la desinstalación de aplicaciones desempaquetadas.
  • Cuando se desinstala una aplicación empaquetada, se eliminará cualquier variable que haya creado, independientemente de cualquier otro cambio (con seguimiento o sin seguimiento) realizado en esa variable durante su vigencia.
  • Si no se creó una variable con estas API, no se eliminará cuando se desinstale una aplicación empaquetada; en su lugar, se revertirá el último cambio realizado por esa aplicación (a través de las API).
  • Las aplicaciones a la carta tienen identidad, pero no están instaladas de la manera en que se instalan las aplicaciones empaquetadas. No hay ninguna manera confiable de detectar cuándo se desinstala una aplicación a la carta. Por lo tanto, aunque se realizará un seguimiento de una variable creada o escrita por una aplicación a la carta, no se limpiará cuando se desinstale la aplicación.

Propiedades

AreChangesTracked

Obtiene un valor que indica si se realiza un seguimiento de los cambios de variables de entorno.

IsSupported

Obtiene un valor que indica si EnvironmentManager se admite en la versión actual del dispositivo o del sistema operativo.

Métodos

AddExecutableFileExtension(String)

Agrega la extensión de archivo especificada al final de la variable de entorno PATHEXT .

AppendToPath(String)

Agrega la ruta de acceso especificada al final de la variable de entorno PATH .

GetEnvironmentVariable(String)

Obtiene el valor de la variable de entorno especificada en el ámbito del environmentManager actual.

GetEnvironmentVariables()

Obtiene una colección de variables de entorno en el ámbito del EnvironmentManager actual.

GetForMachine()

Obtiene un EnvironmentManager en todo el sistema.

GetForProcess()

Obtiene un EnvironmentManager con ámbito para el proceso actual.

GetForUser()

Obtiene un environmentManager con ámbito para el usuario actual.

RemoveExecutableFileExtension(String)

Quita la extensión de archivo especificada del final de la variable de entorno PATHEXT .

RemoveFromPath(String)

Quita la ruta de acceso especificada del final de la variable de entorno PATH .

SetEnvironmentVariable(String, String)

Establece el valor de la variable de entorno especificada en el ámbito del EnvironmentManager actual.

Se aplica a