当来自 SCCM 的 运行 时,我的安装程序包抛出 3010 或 1641。如果我 运行 作为管理员工作正常

My installer package throws 3010 or 1641 when run from SCCM. Works fine if i run as admin

我有一个安装程序包 (mySoftware.exe),当我以管理员身份手动 运行 时,它工作正常,没有任何问题。但是当我通过 SCCM 安装包时,我得到退出代码 3010,1641。如果退出代码不是“0”,我的代码将跳过后续步骤。现在,我的安装程序将“0”视为成功。非零是错误代码。

我是否需要修改安装程序脚本以将“0”、“3010”、“3011”、“1641”、“1604”视为成功退出代码?我们需要在 SCCM 端更改任何内容吗?

我是否需要考虑添加任何其他退出代码作为成功?对于此问题,我们还有其他解决方法吗?

mySoftware.exe /s /v" /quiet ADDLOCAL="mySoftwareConfig" /L*v "%mySoftwareLogFile%" /clone_wait

> My installer script has the following actions: 
  1)First uninstall existing package on the system.
> 2. Install the new package.  (Exit code 3010,1641 returns during installing the new package)
> 3. Configure the package.

Reboot:这些通常只是标准的重启消息,您应该按照自己的建议在批处理文件中处理它们。

这只是一个模型样本(我已经不是这方面的专家了):

msiexec.exe /I Setup.msi ALLUSERS=1 /L*V %MSILOG% /qb-! ADDLOCAL=ALL
if %errorlevel% == 3010 goto REBOOT

<..stuff here..>

:REBOOT
echo MSIEXEC returned exit code 3010 which means that a reboot is required to complete installation >> %LOGFILE%

关于错误级别的一些信息:


MSI 错误消息https://docs.microsoft.com/en-us/windows/win32/msi/error-codes

  • 0 - ERROR_SUCCESS - 操作成功完成。
  • 1604 - ERROR_INSTALL_SUSPEND - 安装暂停,未完成。
  • 1641 - ERROR_SUCCESS_REBOOT_INITIATED - 安装程序已启动重新启动。此消息表示成功。
  • 3010 - ERROR_SUCCESS_REBOOT_REQUIRED - 需要重新启动才能完成安装。此消息表示成功。这不包括 ForceReboot 操作为 运行.
  • 的安装

以及来自其他来源: