Назад | Перейти на главную страницу

PsExec зависает. Ошибка при запуске установщика

На некоторых удаленных компьютерах, когда я использую PsExec для запуска установщиков (файлы .exe), PsExec просто зависает. Когда я пытаюсь запустить установщик, переданный PsExec, непосредственно с удаленного компьютера (находящегося в system32), я получаю следующее всплывающее сообщение об ошибке:

NSIS Error
Error Launching Installer

Это происходит только на 64-битных компьютерах и только для некоторых установщиков. Однако после небольшого поиска в Google я, похоже, не нашел решения.

Эта ссылка говорит мне, что это может быть связано с тем, что он работает под управлением system32.

Странно то, что если я скопирую установщик из system32 в другое место, например на свой рабочий стол, и запустил его оттуда, он заработает!

Что тут происходит?

Спасибо

Парадоксально, но на 64-битной машине с Windows:

  1. c: \ windows \ wow64 \ содержит 32-битный системные файлы.
  2. c: \ windows \ system32 \ содержит 64-битный системные файлы.

Когда 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

Подробности:

  • -e: не загружать ваш профиль (ускоряет работу и экономит дисковое пространство на удаленном ПК)
  • -c: скопировать файл
  • -f: перезаписать, если файл с таким же именем уже существует (используйте с осторожностью)
  • -w c: \ windows \ temp: установить рабочий каталог на c: \ windows \ temp