HTA não pode executar ie4uinit.exe

2

Estou tentando atualizar ícones da área de trabalho de um HTA usando o seguinte:

var shell = new ActiveXObject("WScript.Shell");
shell.run("C:\Windows\System32\ie4uinit.exe -show");

Estou executando como administrador e estou positivo em C:\Windows\System32\ie4uinit.exe .

Se eu usar exatamente o mesmo comando de um vbscript .vbs , ele executará o arquivo com êxito.

É algum tipo de restrição? Por que o HTA não pode executar C:\Windows\System32\ie4uinit.exe ?

A mensagem de erro:

Como posso fazer isso funcionar?

    
por Azevedo 18.09.2018 / 22:59

1 resposta

0

Sua chave de registro de %código% contém o valor de:

C:\Windows\SysWOW64\mshta.exe "%1" {1A460BD7-F1C3-4B2E-88BF-4E770A288AF5}%U{1A460BD7-F1C3-4B2E-88BF-4E770A288AF5} %*

O é o manipulador HTA de 32 bits, o que significa que você está executando em 32 bits modo.

Isso significa que você está usando a versão de 32 bits do VBScript, para que o redirecionamento de arquivos do Windows esteja fazendo com que ele procure HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htafile\Shell\Open\Command , onde C:\Windows\SysWOW64 não existe.

Uma solução para evitar a manutenção de dois diferentes versões de seus scripts VBScript é para ser encontrado neste Resposta do ServerFault .

Como alternativa, você pode tentar iniciar seu aplicativo usando o manipulador HTA de 64 bits, localizado em ie4uinit.exe .

Você deve estar ciente do fato de que a Microsoft não está mais ativamente suporte a aplicativos HTA, preferindo concentrar-se em Windows Forms e tecnologias semelhantes, por isso é bastante provável que A HTA ficará obsoleta em algum momento no futuro.

    
por 21.09.2018 / 19:58