powershell - Delphi Tokyo 10.2 的 Powershell 静默/无人值守安装 - 用于在 win docker 容器中使用 CI
问题描述
我正在尝试创建一个 powershell 命令以静默安装 Delphi Tokyo 10.2 - 用作 Windows Docker 容器中的自动编译器。我无法找到任何有关如何使用正确的安装程序命令/开关实现无人值守/静默安装的最新文档。
我能够确定 Tokyo 和 Rio 安装程序使用 Inno Setup - 并且应该给予 Inno Setup 安装程序命令/开关。
来自 Tokyo 安装程序的关于页面:
https://photos.app.goo.gl/88jY7PF2mPAipwEA9
到目前为止,这是我搞砸的命令:
.\radstudio10_2_3_esd__93231.exe /sp- /verysilent /suppressmsgboxes /norestart/ /log="c:\somelocation\install.log"
但是,我无法让安装过程越过第一页或 EULA 复选框。失败的静默安装日志显示:
Log opened. (Time zone: UTC-05:00)
Setup version: Inno Setup version 5.5.6 (u)
Original Setup EXE: C:\somelocation\radstudio10_2_3_esd__93231.exe
Setup command line: /SL5="$18051C,138809719,642048,C:\somelocation\radstudio10_2_3_esd__93231.exe" /sp- /verysilent /suppressmsgboxes /norestart/ /log=c:\somelocation\install.log
Windows version: 10.0.18363 (NT platform: Yes)
64-bit Windows: Yes
Processor architecture: x64
User privileges: Administrative
64-bit install mode: No
Created temporary directory: C:\Users\username\AppData\Local\Temp\is-1QQ8P.tmp
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-1QQ8P.tmp\innocallback.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-1QQ8P.tmp\UnlockFirewall.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-1QQ8P.tmp\mOasisRuntime.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-1QQ8P.tmp\topbanner96.bmp
Failed to proceed to next wizard page; aborting.
Got EAbort exception.
Deinitializing Setup.
Log closed.
以下是同一安装程序包的非静默安装的部分日志:
Log opened. (Time zone: UTC-05:00)
Setup version: Inno Setup version 5.5.6 (u)
Original Setup EXE: C:\somelocation\radstudio10_2_3_esd__93231.exe
Setup command line: /SL5="$405F0,138809719,642048,C:\somelocation\radstudio10_2_3_esd__93231.exe" /log=c:\somelocation\install.log /saveinf=c:\somelocation\install.inf
Windows version: 10.0.18363 (NT platform: Yes)
64-bit Windows: Yes
Processor architecture: x64
User privileges: Administrative
264-bit install mode: No
Created temporary directory: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\innocallback.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\UnlockFirewall.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\mOasisRuntime.dll
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\topbanner96.bmp
Message box (OK):
Inno Setup version 5.5.6 (u)
Copyright © 1997-2015 Jordan Russell
Portions Copyright © 2000-2015 Martijn Laan
All rights reserved.
Inno Setup home page:
http://www.innosetup.com/
RemObjects Pascal Script home page:
http://www.remobjects.com/ps
User chose OK.
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\ProductCodes.ini
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\ProductCodes.ini
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\ProductCodes.ini
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\ProductCodes.ini
Extracting temporary file: C:\Users\username\AppData\Local\Temp\is-K4M7F.tmp\ProductCodes.ini
Starting the installation process.
Creating directory: C:\Program Files (x86)\Embarcadero
Creating directory: C:\Program Files (x86)\Embarcadero\Studio
Creating directory: C:\Program Files (x86)\Embarcadero\Studio\19.0
Directory for uninstall files: C:\Program Files (x86)\Embarcadero\Studio\19.0\
...
...
...
因此,在上述成功的非静默安装中 - 请注意日志中的那一行,说明Message box (OK)
在我接受 EULA 后会发生这种情况。所以目前我不确定如何通过安装程序开关以静默地满足 EULA 页面。
有没有人成功地创建了 Delphi Tokyo 或 Rio 的静默/无人值守安装?或者找到了帮助他们实现类似目标的文档?
任何帮助深表感谢!
亲切的问候,
解决方案
对于Delphi 2007
并且Delphi XE2
我们能够使用 进行静默安装setup.exe /s
,请参阅https://delphisorcery.blogspot.com/2011/07/unattended-delphi-installation-how.html以供参考。
但这不再适用Delphi 10.2 Tokyo
了。因此,我们的 IT 部门直接致电 Embarcadero,以获取有关如何进行静默安装的更多信息。但不幸的是,他们告诉我们,安装过程不能静默完成!
推荐阅读
- swift - 如何修复“无法在扩展中自动合成“协议”的实现?
- android - 带有 Retrofit 2 Cache-Control 的离线模式
- java - 错误:“items”不支持 c:forEach jsp 中的运行时表达式
- r - 在购物篮分析中,我有什么办法只能在关联规则的 lhs 中获得 1 项?
- php - 如何一次抛出错误消息?
- java - 递归结构上的 DTO 投影
- angularjs - Angularjs Ng-init 在通过 ng-repeat 时显示相同的检索到的表单值
- db2 - DB2 锁定场景
- elasticsearch - 如何在 Elasticsearch 上索引混合语言内容?
- python-3.x - rasa nlu 多模型 python