Файл не найден в разделе «Настройка» сценария InnoSetup - PullRequest
0 голосов
/ 03 апреля 2020

У меня есть скрипт InnoSetup, который я использовал годами, и он неожиданно перестал работать, в частности, в этой строке в разделе [Setup]:

WizardImageFile={src}\..\..\images\InstallBanner.bmp

Сообщено об ошибке:

Compiler Error!
Line 47: Could not read "C:\projects\xxxx\installer\{src}\..\..\images\installbanner.bmp".
Error: The system cannot find the path specified.

Обнаружены две потенциальные проблемы: {src} все еще находится в указанном пути к файлу, а имя файла строчное. За исключением этих двух проблем, имя файла является правильным, и файл существует.

Я неправильно использую константу {src}, и это ранее работало по совпадению, или это ошибка, которая была введена с обновление?

В данный момент работает 6.0.2. Я знаю, что 6.0.4 выпущен, но в настоящее время не могу установить его, и не заметил проблемы, подобной этой, упомянутой в истории изменений.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Как сказал @MartinPrikryl, {src} и другие константы не могут использоваться, поскольку они оцениваются во время выполнения. Можно использовать определения, а определение {#SourcePath} работает как начальный путь относительно местоположения скрипта

WizardImageFile={#SourcePath}\..\..\images\InstallBanner.bmp
0 голосов
/ 03 апреля 2020

Нельзя использовать константы в WizardImageFile. Это не имеет никакого смысла. Константы оцениваются во время выполнения. Пока WizardImageFile читается во время компиляции. Также {src} относится к пути, откуда была начата установка. Как бы он оценил, когда вы только собираете установщик?

Если он когда-либо работал, у вас должна быть подпапка с буквальным именем {src} где-то на пути, где вы компилировали установщик.

...