Цитата frankiesimon:
The problem here was very weird - run.exe complained that some of its dependencies .dll files were missing. To check, I went to the Temp folder during the message box display - and true, the files were not there, as if the extraction (or copying?) was terminated. »
|
Это может быть проблема с дочерними процессами файла
run.exe. То есть, файлы не "не успели" распаковаться, а уже начали удаляться модулем.
Вы не указываете параметр
InstallPath и модуль ведет распаковку во временную папку. Затем он запускает
run.exe и ждет завершения процесса
run.exe, но он (файл
run.exe) может породить один или несколько дочерних процессов и при этом закрыть родительский, т.е сам
run.exe. Дочерние процессы продолжают свою работу, а модуль получил команду о завершении процесса
run.exe и начал все удалять из своей временной папки (такова логика его работы во временной папке). Вот в этот момент Вы и можете получать сообщения об отсутствующих dll.
Здесь можно попробовать использовать префикс
waitall, но это не всегда срабатывает.
Можно отказаться от временной папки и указывать конкретный путь распаковки в параметре
InstallPath, но тогда после окончания установки убирать "мусор" в виде этой папки придется самостоятельно, а не ждать этого от модуля.
Цитата frankiesimon:
This works great for running the .exe BUT if MyProgDir has special characters, like if it's called "BüüüFolder" - the start command fails (if I remove the hidcon prefix I see that the ü turned into some mess of characters. »
|
А кодировка файла конфигурации
UTF-8 или иная? Она обязательно должна быть
UTF-8 при работе с национальными алфавитами.
Цитата frankiesimon:
Код:
start /w /d "MyProgDir" run.exe
»
|
Вообще это не правильно, корректнее так:
Код:
start "" /w /d"%%T\MyProgDir" run.exe
Вначале пустые кавычки для "Заголовка окна", а
%%T для указания полного, а не относительного пути.
sas2242, боюсь, что в одну строку все засунуть не получиться, для таких проверок лучше использовать батник.