wlbs.exe comando não encontrado ao executar a partir de um programa que chama a chamada da API system ()

1

Eu tenho esse estranho problema visto apenas no Windows 2008. No Windows 2003, estou correndo bem.

Meu programa C ++ chama um arquivo bat usando o comando system (). Dentro do arquivo de lote, ele chamará o comando wlbs. No entanto, ao executar o arquivo em lote do programa, vejo o seguinte erro:

'wlbs' não é reconhecido como um comando interno ou externo, programa operável ou arquivo de lote.

Eu ecoei a variável de ambiente% PATH% e vejo que C: \ Windows \ System32 já está lá.

Se eu executar o arquivo em lote da mesma conta de usuário da qual estou iniciando o programa, na linha de comando, o arquivo em lote poderá chamar o comando com êxito. Eu já selecionei o programa para ser executado como Administrador, e minha sessão de login também é administrador.

Eu atualizei o arquivo em lote para a saída da listagem do diretório, como "dir C: \ Windows \ System32 \ *. exe > list.txt" e, surpreendentemente, no list.txt, foi possível listar outros exe exceto para o wlbs.exe (e eu suspeito que um monte de outros exe estavam faltando também), quando eu executar o arquivo em lotes do meu programa.

No entanto, quando executo o arquivo em lote a partir da linha de comando, consegui ver o arquivo wlbs.exe do list.txt gerado a partir de cima. Parece que o problema só acontece se o arquivo em lote foi chamado do programa.

Eu também tento atualizar a permissão de arquivo para C: \ Windows \ System32 \ wlbs.exe, mas as opções de atualização estão desabilitadas por padrão, apesar de eu estar logado como Administrador no sistema.

Qualquer ajuda sobre a questão acima será apreciada.

    
por user52498 20.07.2010 / 14:17

1 resposta

1

Seu servidor do Windows 2008 é provavelmente um sistema de 64x. Em tal sistema existem duas pastas system32 diferentes. Para o executável de 32 bits no sistema de 64 bits, o% systemroot% \ syswow64 é o que eles vêem como% systemroot% \ system32. Mundo estranho.

Para uma solução rápida, basta copiar o programa wlbs.exe para a pasta% systemroot% \ syswow64.

    
por 20.07.2010 / 14:36