【问题标题】:Set Inno Setup installer version based on an online file根据在线文件设置 Inno Setup 安装程序版本
【发布时间】:2020-11-07 16:49:01
【问题描述】:

在我的 Inno Setup 项目中,我从服务器下载所有文件并下载一个具有版本号的文件。现在我想从文件中读取版本并将其分配给Code 部分中的[Setup] 部分AppVersion。我的问题是可以在Code 部分设置应用版本吗?

【问题讨论】:

    标签: inno-setup pascalscript


    【解决方案1】:

    结合这两个问题:

    [Setup]
    AppVersion={code:GetAppVersion}
    
    [Code]
    var
      Version: string;
    
    function GetAppVersion(Param: string): string;
    var
      WinHttpReq: Variant;
    begin
      if Version = '' then
      begin
        WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
        WinHttpReq.Open('GET', 'https://www.example.com/version.txt', False);
        WinHttpReq.Send('');
        if WinHttpReq.Status <> 200 then
        begin
          Log('HTTP Error: ' + IntToStr(WinHttpReq.Status) + ' ' + WinHttpReq.StatusText);
          MsgBox('Cannot obtain version', mbError, MB_OK);
          Abort();
        end
          else
        begin
          Version := Trim(WinHttpReq.ResponseText);
          Log('Version: ' + Version);
          // you may want to validate that the value is meaningful here
        end;
      end;
      Result := Version;
    end;
    

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多