Таким образом, проблема возникает там, где у меня есть множество установок, где большинство из них одинаково, за исключением, конечно, файлов в установке. У меня есть набор файлов include, которые отличаются.Могу ли я выбрать путь #include, используя скрипт и аргументы командной строки в установщике Inno Setup?
Итак, я подумал: «Эй, просто добавьте аргумент командной строки, чтобы указать, какой файл включить». Я могу получить информацию из аргумента командной строки в коде Pascal.
Проблема возникает, когда я пытаюсь использовать информацию в #include
. Препроцессор, похоже, ничего не знает о скриптах Pascal. Это имеет смысл, за исключением того, что я хочу, чтобы он знал. например, я не могу это сделать:
[Files]
#include "{code:GetMyArgument}"
или это:
[Files]
#include {param:foo|bar}
Так что вопрос действительно: Как я могу установить #include
включать путь к файлу, который я поставил в команде линейные аргументы? или какой-то другой динамический метод ... Я могу думать об одном. Мне просто не нравится мой путь: мне не нравится идея перемещать файлы вокруг или менять содержимое файла «на лету» для этого, я думаю, что это/эти/эти решения пахнут. Есть ли способ лучше?
Я нахожусь на версии 5.5.6 (u) Inno Setup.
Я получаю: Undeclaired Identifier: «IncludePath» при компиляции. – amalgamate
Вы показали мне проблему ... Я думаю .. Кажется, что я достиг пределов Inno Script Studio. Кажется, что он работает в командной строке. (Спасибо) – amalgamate
@amalgate: Возможно, вы можете попробовать инструменты Visual & Installer (www.visual-installer.com) или RAD & Installer (www.rad-installer.com) вместо Inno Script Studio. Это свойство командной строки полностью поддерживается. – Slappy