我们正在使用以下脚本在 Windows 服务器上安装 MSI 文件,并且能够在 Windows 服务器上安装 MSI 文件。以下代码对于某些 MSI 文件运行良好,但对于其他文件则失败。退出代码为 1603。如果我们进行全新安装,它工作正常,但在尝试重新安装时,我们收到退出代码:1603 错误。所有服务的所有配置设置都相同。
正如Microsoft 网站上提到的,我们验证了以下条件,但没有一个条件适用于我们的案例。
Windows Installer 正在尝试安装您的电脑上已安装的应用程序。
您尝试安装 Windows Installer 程序包的文件夹已加密。
包含您尝试安装 Windows Installer 程序包的文件夹的驱动器将作为替代驱动器进行访问。
SYSTEM 帐户对您尝试安装 Windows Installer 程序包的文件夹没有完全控制权限。您会注意到该错误消息,因为 Windows Installer 服务使用 SYSTEM 帐户来安装软件。
代码:
:outer for($i=1; $i -le $attempts; $i++) {
$timeout = $null
$proc = Start-Process -filePath $InstallerPath -ArgumentList $InstallCommand -PassThru
$proc | Wait-Process -Timeout $SecondsToWait -ea 0 -ev timeout
If (($timeout) -or ($proc.ExitCode -ne 0)) {
$proc | kill
$error = "`tFailed To …
Run Code Online (Sandbox Code Playgroud) 我是Reactive Extensions的新手.我有对象集合并为每个对象调用方法,并返回布尔值.通过使用每个循环并调用方法,而不是循环遍历每个循环,是否有一种方法在响应式扩展中同时调用(fork和join)给定数量的对象的方法(一次是ex 5)并且在第一次完成之后,第六个应该调用方法,它应该继续,直到所有对象都完成.
感谢您的回复.