好,所以我创建了以下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;
答案 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;