Вот и я так понимаю.FeyFre wrote:на сколько я понимаю окружение наследуется от процесса.
Но почему на деле получается, что WshShell.Run и AkelPad.Exec подхватывают предварительно установленные переменные, передавая их дочернему процессу, а Log::Output - нет?
Добавлено чуть позже:
Хотя нет, у меня есть мысли по поводу того, как такое могло произойти. Сразу после запуска команды в RunMe.js я восстанавливаю первоначальное значение переменных окружения. Т.е. если AkelPad.Call("Log::Output", 1, cmd, dir) вернул управление до того, как дочерний процесс фактически стартовал, скрипт может успеть восстановить переменные окружения ещё до того, как дочерний процесс их подхватит. Опять гонки фронтов, короче...
Добавлено ещё чуть позже:
Да, так и есть, врот ми имейл... Поставил WScript.Sleep(2000) между runCommand(cmd, fileDir) и восстановлением переменных окружения - теперь всё работает.