Pergunta

Eu adicionei uma instalação personalizada de ação para o meu programa de instalação para adicionar um dos meus diretórios de instalação para o Sistema variável de ambiente PATH.Depois de executar o instalador, a variável de CAMINHO reflete as alterações (quando eu acesso através do Painel de Controle::aplicação de Sistema), mas quando eu começo um novo shell de comando, a variável de CAMINHO não refletir as alterações.Existe algo que eu estou falhando para fazer, que causa isso?

Foi útil?

Solução

Eu acho que isso depende de como você estão iniciando o novo shell de Comando.Por exemplo, quando você alterar a variável de ambiente PATH em propriedades do Sistema, a alteração não será refletida até que você abra um novo prompt de Comando.Eu acho que quando você lançar um novo "cmd" (processo de diálogo Executar, por exemplo), você obtém uma nova cópia de todas as variáveis de ambiente, mas se você iniciar o prompt de comando de uma maneira diferente, então você não.

Para que algo seja feito através de um script como esse, você pode precisar reiniciar antes de notar que a alteração.

Outras dicas

Como é que você iniciar o shell de comando?Com o TaskManager?

Eu suspeito que você pode estar começando a partir do Explorador - se eu me lembro corretamente, isso pode meen que você está herdando do pai processos do Windows (Windows Explorer, no caso) variável PATH.Desde que foi definido o programa de instalação correu, você verá o valor antigo.

Não sei se isso ajuda...

http://support.microsoft.com/kb/310519 diz que, para variáveis de ambiente do sistema (que o CAMINHO é um dos) requer um reiniciar, apesar de eu ter a sensação de que fazer logoff e logon pode ser o suficiente.

Por que você está usando um CustomAction para isso?O Windows Installer oferece suporte a modificação de variáveis de ambiente, de forma nativa.Também, eu acho que o Windows Installer envia uma mensagem de broadcast para atualizar o sistema quando as variáveis de ambiente de mudança.Pode significar que você não precisa reiniciar...mas tem sido um tempo desde que eu tentei YMMV.

Como você está adicionando a variável de ambiente?

Sem utilizar quaisquer ferramentas externas, você pode adicionar ao registo.Em seguida, o teste de abertura de uma nova janela de comando irá reflectir a alteração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top