我正在从事自动化 UI 测试。
当我在物理 Win 11 Pro 计算机上启动安装程序时,在初始语言选择对话框后会创建一个单独的进程。
在 Hyper-V 虚拟机(Win 11 企业评估映像)上启动安装程序时,只有一个进程。
我可以处理这两种情况,但我想了解原因,以及如何使其保持一致,以便我可以使用相同的代码在我的开发计算机上进行测试以及在 Hyper-V VM 中运行时。
我尝试过直接启动安装程序(右键单击并以管理员身份运行)、从命令提示符(以管理员身份运行)、从 Eclipse(以管理员身份运行)或通过带有
-h
标志的 PsExec (sysinternals) 启动安装程序。
我认为这与安装4j升降机构的方式有关。
虚拟机的另一个区别是它还没有添加到域中(此时只是概念证明),并且用户是本地用户而不是域用户(但它是本地管理员组的一部分) .
详情:
点击确定后,向导UI出现在第二个进程中:
如果所选区域设置与系统区域设置不同,安装程序将重新启动。
为了避免这种情况,您有两种选择:
使用命令行参数启动安装程序
-Duser.language=de -Dinstall4j.language=de
在这种情况下,不会显示语言选择对话框。
使用命令行参数启动安装程序
-Dinstall4j.noSecondaryProcess=true
在这种情况下,会显示语言选择对话框,但不会执行重新启动。相反,区域设置是在同一进程中设置的,这具有重新启动可以避免的一些缺点。我没有这些缺点的列表,但用户界面中可能存在格式或消息不一致的情况。