На некоторых удаленных компьютерах, когда я использую PsExec для запуска установщиков (файлы .exe), PsExec просто зависает. Когда я пытаюсь запустить установщик, переданный PsExec, непосредственно с удаленного компьютера (находящегося в system32), я получаю следующее всплывающее сообщение об ошибке:
NSIS Error
Error Launching Installer
Это происходит только на 64-битных компьютерах и только для некоторых установщиков. Однако после небольшого поиска в Google я, похоже, не нашел решения.
Эта ссылка говорит мне, что это может быть связано с тем, что он работает под управлением system32.
Странно то, что если я скопирую установщик из system32 в другое место, например на свой рабочий стол, и запустил его оттуда, он заработает!
Что тут происходит?
Спасибо
Парадоксально, но на 64-битной машине с Windows:
Когда 32-разрядная программа пытается получить доступ к c: \ windows \ system32 \, она перенаправляется на c: \ windows \ wow64 \. Это очень похоже на то, что происходит, когда 32-разрядные программы устанавливаются в каталог c: \ program files (x86) \ путем перенаправления.
Вам может быть полезно следующее обсуждение: http://forums.shoutcast.com/showthread.php?t=237297
Итог: вы обнаружили одну из многих причин, по которым запуск установщиков из system32 никогда не является разумной практикой. Если вам не нужен установщик после завершения установки, подумайте о том, чтобы скопировать установщик во временное место и удалить его после завершения установки. Если вы предпочитаете, чтобы установщик был на каждом компьютере, подумайте о том, чтобы создать место для установщиков (например, c: \ install \ program-name).
Пример использования временного местоположения:
psexec \\target-pc -e -c -f -w c:\windows\temp installer.exe
Подробности: