2010-01-13 1 views
2

Программы установки, созданные с помощью Inno Setup, могут считывать файл INI через/LOADINF. Можно ли читать пользовательские переменные через этот файл INI? Есть ли функция, чтобы получить имя INI-файла, данного с этой опцией? (Тогда это возможно с помощью служебных функций INI.)Как читать пользовательские значения из файла INF в Inno Setup?

ответ

1

Мы просто перебираем аргументы командной строки с помощью функции ParamStr(i) и ищем аргумент, начинающийся с «/LOADINF=», а затем извлекаем из него имя файла.

Одна из полученных нами исходных данных заключалась в том, что имя файла может быть относительным дескриптором пути (например, просто имя файла). Однако, если вы используете сжатие, текущий рабочий каталог будет представлять собой некоторую подпапку в вашей папке %TEMP%, а не в каталоге, где находится ваш файл setup.exe. Поэтому вы должны убедиться, что это обнаружено, и при необходимости добавьте данное имя файла AddBackslash(ExpandConstant('{src}')).

+0

U Если положить пример ... для людей, которые не знают много об этом. – Dielo

2

Код

ExpandConstant('{param:LoadInf}') 

содержит имя файла файл INI из параметров командной строки.

Используйте этот код, если файл INF находится в папке установки

AddBackslash(ExpandConstant('{src}')) + ExpandConstant('{param:LoadInf}'); 
Смежные вопросы