Existe um problema definido na expansão de variáveis de ambiente dentro da variável PATH quando a variável se expande para um caminho que contém espaços.
Criamos nossas próprias variáveis de nível de sistema como "OUR_ROOT = c: \ MyRoot" e, em seguida, usamos no sistema PATH como "PATH =;% OUR_ROOT% \ bin;" e isso é expandido corretamente para "PATH =; c: \ MyRoot \ bin;". Até agora não há problema.
Mas, no Windows 7 (32 bits), eu mesmo tive uma instalação do produto e criei variáveis de ambiente do sistema como esta:
STUDIO_BIN=C:\program files\Company Name\Product Name 10.4\bin
e adicionou-o à variável PATH do sistema:
PATH=<other path elements>;%STUDIO_BIN%;<more path elements>
Mas os valores PATH mostrados no CMD continham "% STUDIO_BIN%;" e não o caminho expandido. O valor em Meu computador > Propriedades > Avançado > Env.Vars permaneceu não expandido também. Isso significa que não consegui executar programas que exigiam uma DLL nesse diretório.
Apenas alterando STUDIO_BIN (via Meu computador > Propriedades > Avançado ... > Env Vars) para um nome sem espaços incorporados:
STUDIO_BIN=C:\ProductName\bin
e, em seguida, reiniciar a janela do CMD, o PATH é agora:
PATH=<other path elements>;C:\ProductName\bin;<more path elements>
Outra solução é editar suficientemente a variável de sistema que você está usando no PATH usando o Meu computador > Propriedades > Avançado ... > Caixa de diálogo Variáveis de ambiente.
Eu tentei adicionar um caractere e removê-lo para fazer uma 'alteração' e, em seguida, OK fora, iniciou um novo prompt CMD e PATH não foi expandido corretamente.
Eu tentei deletar parte do caminho, então era
STUDIO_BIN=C:\Program Files\Company Name
(omitindo "Product Name 10.4") e eis que o próximo prompt CMD mostrou PATH com STUDIO_BIN devidamente expandido!
Curiosamente, se eu voltasse e adicionasse o "Product Name 10.4" ao STUDIO_BIN (incluindo todos os espaços que estavam originalmente lá antes de começar a mexer com ele) e o PATH AINDA estava expandido corretamente.
Evidentemente, com mudanças suficientes em seu conteúdo, a variável PATH passa por algum processamento extra na caixa de diálogo Variáveis de ambiente que permite que ele funcione. O processamento não é feito quando a variável foi adicionada pelo instalador do produto (o que provavelmente modificou o PATH diretamente no registro).
Estou quase certo de que este foi um problema com o XP também. Apenas ressurgiu para mim no Windows 7 quando eu estava montando uma nova máquina de desenvolvimento. Aparentemente, não foi corrigido pela Microsoft.
Aparentemente, mesmo variáveis definidas pelo MS como% ProgramFiles% não serão expandidas corretamente no PATH.
Esta página fornece uma resposta possível se você estiver definindo o PATH por meio da linha de comando ou do arquivo em lote. (Coloque o comando inteiro após o SET entre aspas). Eu não sei qual instalador o produto que eu instalei usava para definir as variáveis de ambiente, mas ele evidentemente passou por qualquer processamento necessário para expandir adequadamente os caminhos com espaços.
Então, para resumir, você pode:
-
altere os caminhos (e mova todos os arquivos associados) para caminhos sem espaços ou
-
edite as variáveis que não estão conseguindo expandir na caixa de diálogo Variáveis de ambiente (alterando-as o suficiente para processá-las corretamente - não estou certo de quanto é suficiente).