下载并运行子安装-IDP进度栏在下载过程中不会移动

时间:2019-05-30 22:35:27

标签: windows inno-setup

好,所以我创建了以下iss,但是进度条没有移动。我希望安装文件下载并运行其他安装程序。一切正常,但进度条不动。

 [   +2 ms] * Error running Gradle:
           Bad state: No element

[   +7 ms] "flutter apk" took 29,966ms.
[        ] "flutter apk" took 29,966ms.
Please review your Gradle project setup in the android/ folder.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:24:3)
#1      _readGradleProject (package:flutter_tools/src/android/gradle.dart:158:7)
<asynchronous suspension>
#2      _gradleProject (package:flutter_tools/src/android/gradle.dart:111:34)
<asynchronous suspension>
#3      _buildGradleProjectV2 (package:flutter_tools/src/android/gradle.dart:378:39)
<asynchronous suspension>
#4      buildGradleProject (package:flutter_tools/src/android/gradle.dart:346:14)
<asynchronous suspension>
#5      buildApk (package:flutter_tools/src/android/apk.dart:34:9)
<asynchronous suspension>
#6      BuildApkCommand.runCommand (package:flutter_tools/src/commands/build_apk.dart:51:11)
<asynchronous suspension>
#7      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:559:18)
#8      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#9      _rootRunUnary (dart:async/zone.dart:1132:38)
#10     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#11     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#12     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#13     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#14     Future._complete (dart:async/future_impl.dart:473:7)
#15     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#16     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
#17     _rootRun (dart:async/zone.dart:1124:13)
#18     _CustomZone.run (dart:async/zone.dart:1021:19)
#19     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#20     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#21     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#22     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:115:13)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:5)

有什么想法吗?其他一切都很好。

=======编辑========

我有一个解决方法,将显示详细信息部分。无论如何,这可能更合适。仍然不确定为什么总进度没有更新。

 #define MyAppName "My Program Setup Downloader"
 #define MySetupAppName "My Program Setup.exe"
 #define MySetupUrlFolder "https://www.example.com/folder/"
 #pragma include __INCLUDE__ + ";" + "c:\Program Files (x86)\Inno Download Plugin\"

 [Setup]

 AppName={#MyAppName}
 AppVerName={#MyAppName}
 DisableReadyPage=yes
 DisableFinishedPage=yes
 CreateAppDir=no
 Uninstallable=no

 #include <idp.iss>

 [Code]

 var FileName: string;

 procedure InitializeWizard;
 var DownloadUrl: String;
 begin
   FileName := ExpandConstant('{tmp}\{#MySetupAppName}');
   DownloadUrl := '{#MySetupUrlFolder}{#MySetupAppName}';
   idpAddFile(DownloadUrl, FileName);
   idpDownloadAfter(wpSelectDir);
 end;

 function NextButtonClick(CurPageID: Integer) : boolean;
 var ResultCode: Integer;
 begin
   if CurPageID = IDPForm.Page.ID then
   begin
     Result := Exec(FileName, '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
     if not Result then MsgBox('Error Running Downloaded Setup File', mbError, MB_OK);  
     Result := True;       
   end
     else Result := True;
 end;

1 个答案:

答案 0 :(得分:1)

我确实得到了相同的行为。我不明白为什么。

但是,由于只有一个文件,可以用文件进度条替换总进度条:

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = IDPForm.Page.ID then
  begin
    IDPForm.TotalProgressBar.Visible := False;
    IDPForm.FileProgressBar.Top := IDPForm.TotalProgressBar.Top;
    IDPForm.FileProgressBar.Visible := True;
    IDPForm.DetailsButton.Visible := False;

    IDPForm.DetailsVisible := True;
  end;
end;

enter image description here