相关疑难解决方法(0)

Inno Setup:如何操作Run部分的进度条?

与此问题类似:
如何在Inno Setup安装脚本的[Run]部分设置进度条值?

当Inno Setup进入该[Run]部分时,进度条显示为100%并停在此位置.

我在本Run节中安装了许多文件,我希望重新启动进度条并控制它,因为它会安装每个程序.

状态消息很容易改变(StatusMsg),但我失去了一些进展.你能帮帮我吗?

例:

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""msxml.msi"" /quiet"; \
    StatusMsg: "MSXML..."; Flags: runascurrentuser
Filename: "msiexec.exe"; Parameters: "/i ""capicom_dc_sdk.msi"" /quiet"; \
    StatusMsg: "CAPICOM..."; Flags: runascurrentuser
Run Code Online (Sandbox Code Playgroud)

由于我想在安装过程中控制进度条,我不知道该怎么做.我想也许在使用BeforeInstall参数,创建一个代码,通过执行类似WizardForm.ProgressGauge.Position = 0;和在AfterInstall参数中相反的方式将进度条设置为0 WizardForm.ProgressGauge.Position = 100;,但是在安装过程中如何更改?

谢谢.

installer inno-setup pascalscript progress-bar

8
推荐指数
1
解决办法
4848
查看次数

Inno Setup Exec()函数等待有限的时间

在我的Inno安装脚本中,我正在执行第三方可执行文件.我正在使用如下Exec()功能:

Exec(ExpandConstant('{app}\SomeExe.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
Run Code Online (Sandbox Code Playgroud)

提到ewWaitUntilTerminated它等到SomeExe.exe不退出.我想等待10秒钟.

那有什么解决方案吗?

inno-setup

5
推荐指数
1
解决办法
5112
查看次数

Inno Setup:如何修改长时间运行的脚本,以免它冻结GUI?

我有一个Inno安装程序安装执行一些耗时的'AfterInstall'操作.执行此操作时,安装GUI完全冻结(似乎未处理主事件循环).这不是一个愉快的最终用户体验,所以也许这种操作可能不会冻结GUI?喜欢在单独的线程中执行它还是定期调用类似的东西handleGuiEventLoop()

inno-setup

3
推荐指数
1
解决办法
2352
查看次数