Eu precisava adicionar uma nova entrada à minha variável PATH. Esta é uma atividade comum para mim no meu trabalho, mas recentemente comecei a usar o Windows 8. Assumi que o processo seria semelhante ao Windows 7, Vista, XP ...
Aqui está minha sequência de eventos:
- Abra as propriedades do sistema (Iniciar- > [digite "Painel de controle"] - > Painel de controle \ Sistema e
Segurança \ Sistema - > Configurações avançadas do sistema - > Meio Ambiente
Variáveis)
- Adicione o novo caminho ao início da minha variável USER PATH
(C: \ dev \ Java \ apache-ant-1.8.4 \ bin;)
- Foi aberto um prompt de comando (Iniciar - > [digitar "prompt de comando" entrar] - >
[digite "caminho" digite]
Minha nova entrada de caminho não está disponível (consulte a imagem anexada e vide). Eu copiei exatamente o mesmo processo em uma máquina com Windows 7 e funcionou.
EDITAR
Variáveis de ambiente do Windows 8 e vídeo do prompt de comando
EDITAR
Este definitivamente não é o comportamento do Windows 7. Assista a este vídeo para ver o comportamento Espero que funcione no Windows 7. link
EDIT 5/31/2013
Então, depois de muita frustração, eu escrevi um pequeno aplicativo C # para testar o evento WM_SETTINGCHANGE
. Esse código recebe o evento no Windows 7 e no Windows 8. No entanto, no Windows 8 em meu sistema, não obtenho o caminho correto; mas, eu faço no Windows 7. Isso não poderia ser reproduzido em outros sistemas Windows 8.
Aqui está o código C #.
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
é equivalente a WM_SETTINGCHANGE
Programa C # em execução no Windows 7 (você pode ver o evento chegando e ele seleciona o caminho correto).
Programa C # em execução no Windows 8 (você pode ver o evento chegando, mas o caminho errado).
Existe algo no meu ambiente que está precipitando esse problema. No entanto, isso é um bug do Windows 8?
EDIT 2014-04-28
Devido a este e a vários outros problemas, deixamos de usar o Windows 8 na área de trabalho. Não temos um ambiente para continuar testando e experimentando esse problema. Ainda não há resposta ou resolução para este problema para nós. As respostas abaixo não resolveram nosso problema.