Я хотел бы сделать копию/установку условного файла, в зависимости от того, что находится внутри данного .cfg (текстового) файла по адресу {app}
. Этот файл содержит URL-адрес внутри, этот URL-адрес выглядит так: «update.website.eu» или «update.website.com» или «update.worldoftanks.kr», но также может быть «update.worldoftanks.kr/ »и так далее, есть несколько возможностей. Поэтому мне нужен механизм, который будет обнаруживать URL-адрес и позволять мне устанавливать разные файлы для каждого обнаруженного URL-адреса.Inno Setup Conditional File Copy
В настоящее время у меня есть что-то вроде этого в качестве примера, но с тех пор, как я не продвинутый программист (я знаю некоторые основы только более или менее), мне нужно иметь хороший пример.
if (CurPageID = wpPreparing) then
begin
client_ver :=
LoadValueFromXML(ExpandConstant('{app}\file.cfg'), '//info/patch_info_urls/item');
if client_ver = 'http://update.website.eu/' then
if MsgBox(ExpandConstant('{cm:AreYouSure}'),mbConfirmation,MB_OKCANCEL) = IDCANCEL then
Result:=False;
end;
Пример file.cfg
:
<?xml version="1.0" encoding="UTF-8"?>
<info version="3.1">
<!-- ... -->
<patch_info_urls>
<item>http://update.website.eu/</item>
</patch_info_urls>
</info>
Во всяком случае я хотел бы использовать его в [Files]
разделе, является то, что возможно, чтобы вызвать ее оттуда, чтобы вызвать процедуру или что-то в [Files]
?
Я сделал несколько попыток, но он всегда дает мне некоторую ошибку несоответствия во время компиляции.
пс. проигнорируйте это MsgBox
, это просто пример, я не буду показывать ничего подобного. Мне нужно только копировать файлы.
Спасибо. Я попытался реализовать это, но не могу передать компиляцию. Это дает мне ошибку «Идентификатор ожидаемого» для столбца 1, который в этом случае является функцией IsUrl1. Я использую версию unicode, если это имеет значение. Я также попытался изменить строку на ansistring, но ошибка все еще существует. –
Что вы подразумеваете под "column one"? На какой строке вы получаете ошибку? –
Если я использую код из своего ответа, как есть, я не получаю никакой ошибки (конечно, если функция «LoadValueFromXML» определена до моего кода). Использование Inno Setup 5.5.9 Unicode. –