Цитата
Ж.Д.А.Л.К.Е.Р.:
В справке по модифицированному модулю смотрим раздел "Файл конфигурации":
»
Ну, это то я все знаю прекрасно...но оно проблемы не решает.
В ДЕЙСТВИТЕЛЬНОСТИ ВСЕ НЕ ТАК, КАК НА САМОМ ДЕЛЕ
Слэш то в переменной и с ним ничего нельзя сделать.
Вот пример.
У разных юзеров назначен %TEM% так:
%TEMP%=C:\Temp - вариант 1
%TEMP%=C:\Temp\ - вариант 2 (т.е. с концевым флэшем - такое встречается, хотя и не слишком часто)
и в конфигурационном файле 7zSFX записано:
InstallPath="%TEMP%\\PathProg"
RunProgram="Program.exe"
В варианте 1 7zSFX будет искать программу здесь: %TEMP%\PathProg\Program.exe - он успешно ее найдет и запустит
В варианте 2 7zSFX будет искать программу здесь: %TEMP%\PathProg\\Program.exe - и
он ее не найдет (!)
А вот если доверить вопрос поиска cmd.exe, то все в порядке:
RunProgram="cmd /c Program.exe"
Также отработает правильно и такая строка:
RunProgram="waitall:Program.exe" (видимо потому, что в этом случае используется вызов через cmd.exe)
====================================
Короче, дольше писать - вот сделал за три минуты три примера.
https://www.upload.ee/files/6659834/...lPath.rar.html
Запустите в каждом zz_Start.CMD и посмотрите результат.
Я писал именно об этом. О том, что мы не можем всех заставить поубирать слэши из TEMP.
Ну, остается вариант сказать сами виноваты...либо писать cmd /c или waitall.
====================================================
Разбираться стал, когда стали сообщать: Сборка не работает, не запускается даже!!! Одна, другая...- совершенно разные.
После разборок - вот она причина, %TEMP% со слешем.
Кстати, этим грешат "старые волки", которые DOS еще помнят, а там %TEMP% со слешем был почти за правило.
Видимо, с тех пор Windows и обрабатывает эту ситуацию, чтобы не было коллизий.