Я хотел бы прочитать текстовый файл, содержащий номер версии с интернет-ресурса. Затем мне нужно использовать этот номер версии в моем скрипте.Как читать текстовый файл с интернет-ресурса?
Как это сделать в InnoSetup?
Я хотел бы прочитать текстовый файл, содержащий номер версии с интернет-ресурса. Затем мне нужно использовать этот номер версии в моем скрипте.Как читать текстовый файл с интернет-ресурса?
Как это сделать в InnoSetup?
Существует множество способов получить файл из Интернета в InnoSetup. Вы можете использовать внешнюю библиотеку, например, InnoTools Downloader
, написать собственную библиотеку или использовать один из объектов Windows COM. В следующем примере я использовал COM-объект WinHttpRequest
для получения файлов.
Функция DownloadFile
в этом скрипте возвращает True, когда функции WinHTTP не вызывают никакого исключения, False в противном случае. Содержимое ответа HTTP-запроса GET на URL, заданное параметром AURL
, затем передается объявленному параметру AResponse
. Когда скрипт не пробег на исключения, AResponse
параметр будет содержать сообщение об исключении:
[Code]
function DownloadFile(const AURL: string; var AResponse: string): Boolean;
var
WinHttpRequest: Variant;
begin
Result := True;
try
WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpRequest.Open('GET', AURL, False);
WinHttpRequest.Send;
AResponse := WinHttpRequest.ResponseText;
except
Result := False;
AResponse := GetExceptionMessage;
end;
end;
procedure InitializeWizard;
var
S: string;
begin
if DownloadFile('http://www.example.com/versioninfo.txt', S) then
MsgBox(S, mbInformation, MB_OK)
else
MsgBox(S, mbError, MB_OK)
end;
ответ TLama в [здесь] (https://stackoverflow.com/a/22356942/2128797) расширяется на это. –