1
我正在爲我的應用程序創建Inno Setup安裝程序/更新程序。現在我需要找到一種方法來檢查新版本是否可用,如果可用,它應該自動安裝在已安裝的版本上。解析Inno Setup中用於檢查版本號的鍵值文本文件
特殊情況是版本號與其他數據在一個文件中。 是Inno Setup的需要閱讀看起來像文件:
#Eclipse Product File
#Fri Aug 18 08:20:35 CEST 2017
version=0.21.0
name=appName
id=appId
我已經找到了一種方法來更新使用腳本,只有閱讀與它的版本號的文本文件的應用程序。 Inno setup: check for new updates
但在我的情況下,它包含更多的數據,安裝程序不需要。有人可以幫助我構建一個可以從文件中解析版本號的腳本嗎?
,我已經有看起來像代碼:
function GetInstallDir(const FileName, Section: string): string;
var
S: string;
DirLine: Integer;
LineCount: Integer;
SectionLine: Integer;
Lines: TArrayOfString;
begin
Result := '';
Log('start');
if LoadStringsFromFile(FileName, Lines) then
begin
Log('Loaded file');
LineCount := GetArrayLength(Lines);
for SectionLine := 0 to LineCount - 1 do
Log('File line ' + lines[SectionLine]);
if (pos('version=', Lines[SectionLine]) <> 0) then
begin
Log('version found');
S := RemoveQuotes(Trim(Lines[SectionLine]));
StringChangeEx(S, '\\', '\', True);
Result := S;
Exit;
end;
end;
end;
但運行時,腳本檢查檢查,如果版本字符串就行不起作用。
Stack Overflow是不是一個自由的編碼服務,雖然有時看起來像[InnoSetup是 –
可能重複:如何通過閱讀聲明一個變量從一個文件](https://stackoverflow.com/questions/14530504/innosetup-how-to-declare-a-variable-by-reading-from-a-file) – Miral
它是一個INI文件?是否有一個部分開始?或者這是真的整個文件,因爲它是? –