EnvironmentManager Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Uma classe para ler e gravar variáveis de ambiente.
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
- Herança
- Atributos
Comentários
A API adiciona o acompanhamento de variáveis de ambiente, que é usado para desinstalar de forma limpa artefatos de ambiente gravados pelo aplicativo. O acompanhamento também permite a restauração de variáveis controladas gravadas anteriormente quando um aplicativo é desinstalado.
Para aplicativos empacotados, uma variável criada ou modificada com a nova API será controlada. As variáveis que não são criadas ou modificadas com a nova API continuam a não ser controladas.
A plataforma pode acompanhar a desinstalação de aplicativos empacotados, mas não para aplicativos não empacotados. Para aplicativos não empacotados, o próprio desinstalador do aplicativo é usado para limpo variáveis de ambiente. Um aplicativo não empacotado pode fornecer sua própria limpeza na desinstalação, chamando a API SetEnvironmentVariable com uma cadeia de caracteres vazia para o valor ou RemoveFromPath , mas isso removeria o caminho da variável PATH, ele não o reverter para seu estado anterior.
Ao desinstalar um pacote, a limpeza e a restauração do ambiente são disparadas.
- Todas as variáveis criadas pelo aplicativo são excluídas.
- Quando uma variável não foi originalmente criada pelo aplicativo, mas foi modificada pela última vez pelo aplicativo, seu valor será restaurado para o último valor definido por outro aplicativo.
- As alterações variáveis feitas por mecanismos diferentes do uso dessas APIs (por exemplo, o usuário que faz alterações manuais por meio do RegEdit) serão contabilizadas.
Observação
Uma configuração de aplicativo de uma variável para uma cadeia de caracteres vazia está removendo efetivamente a variável e nenhum novo valor deve ser definido.
Algumas outras coisas a observar:
- O sistema não usa um ouvinte do Registro. Portanto, a única maneira de saber se algo mudou é se o chamador usar essas APIs para criar ou modificar variáveis ou se um aplicativo que fez isso agora estiver desinstalado.
- O sistema não controlará as alterações feitas fora da API; e não acompanhará a desinstalação de aplicativos não empacotados.
- Quando um aplicativo empacotado é desinstalado, qualquer variável que ele criou será excluída, independentemente de quaisquer outras alterações (controladas ou não rastreadas) feitas a essa variável durante seu tempo de vida.
- Se uma variável não tiver sido criada com essas APIs, ela não será excluída quando um aplicativo empacotado for desinstalado – em vez disso, a última alteração feita por esse aplicativo (por meio das APIs) será revertida.
- Os aplicativos A-la-carte têm identidade, mas não estão instalados da maneira como os aplicativos empacotados são instalados. Não há nenhuma maneira confiável de detectar quando um aplicativo a-la-carte é desinstalado. Portanto, enquanto uma variável criada/gravada por um aplicativo a-la-carte será rastreada, ela não será limpa quando o aplicativo for desinstalado.
Propriedades
AreChangesTracked |
Obtém um valor que indica se as alterações de variável de ambiente são controladas. |
IsSupported |
Obtém um valor que indica se o EnvironmentManager tem suporte na versão atual do dispositivo/sistema operacional. |
Métodos
AddExecutableFileExtension(String) |
Adiciona a extensão de arquivo especificada ao final da variável de ambiente PATHEXT . |
AppendToPath(String) |
Adiciona o caminho especificado ao final da variável de ambiente PATH . |
GetEnvironmentVariable(String) |
Obtém o valor da variável de ambiente especificada no escopo do EnvironmentManager atual. |
GetEnvironmentVariables() |
Obtém uma coleção de variáveis de ambiente no escopo do EnvironmentManager atual. |
GetForMachine() |
Obtém um EnvironmentManager no escopo de todo o sistema. |
GetForProcess() |
Obtém um EnvironmentManager com escopo para o processo atual. |
GetForUser() |
Obtém um EnvironmentManager com escopo para o usuário atual. |
RemoveExecutableFileExtension(String) |
Remove a extensão de arquivo especificada do final da variável de ambiente PATHEXT . |
RemoveFromPath(String) |
Remove o caminho especificado do final da variável de ambiente PATH . |
SetEnvironmentVariable(String, String) |
Define o valor da variável de ambiente especificada no escopo do EnvironmentManager atual. |