Java MSI 安装错误 3:-2147287037

Java MSI 安装错误 3:-2147287037

我们想通过其 msi 静默安装 Java 8 update 60。安装因一个模糊错误而停止,这对找到解决方案没有多大帮助。

这是 MSI 日志:

=== Verbose logging started: 10.09.2015  07:42:04  Build type: SHIP UNICODE 5.00.7601.00  Calling process: D:\Service\JRE\jre-8u60-windows-i586.exe ===
MSI (c) (90:48) [07:42:04:015]: Resetting cached policy values
MSI (c) (90:48) [07:42:04:015]: Machine policy value 'Debug' is 0
MSI (c) (90:48) [07:42:04:015]: ******* RunEngine:
           ******* Product: C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi
           ******* Action: 
           ******* CommandLine: **********
MSI (c) (90:48) [07:42:04:015]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (90:48) [07:42:04:015]: Grabbed execution mutex.
MSI (c) (90:48) [07:42:04:015]: Cloaking enabled.
MSI (c) (90:48) [07:42:04:015]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (90:48) [07:42:04:015]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (68:78) [07:42:04:031]: Running installation inside multi-package transaction C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi
MSI (s) (68:78) [07:42:04:031]: Grabbed execution mutex.
MSI (s) (68:F4) [07:42:04:031]: Resetting cached policy values
MSI (s) (68:F4) [07:42:04:031]: Machine policy value 'Debug' is 0
MSI (s) (68:F4) [07:42:04:031]: ******* RunEngine:
           ******* Product: C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi
           ******* Action: 
           ******* CommandLine: **********
MSI (s) (68:F4) [07:42:04:031]: Note: 1: 2203 2: C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi 3: -2147287037 
MSI (s) (68:F4) [07:42:04:031]: MainEngineThread is returning 3
MSI (s) (68:78) [07:42:04:031]: User policy value 'DisableRollback' is 0
MSI (s) (68:78) [07:42:04:031]: Machine policy value 'DisableRollback' is 0
MSI (s) (68:78) [07:42:04:031]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (68:78) [07:42:04:031]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (68:78) [07:42:04:031]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (68:78) [07:42:04:031]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2 
MSI (s) (68:78) [07:42:04:031]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2 
MSI (s) (68:78) [07:42:04:031]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (s) (68:78) [07:42:04:031]: Restoring environment variables
MSI (c) (90:48) [07:42:04:031]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (90:48) [07:42:04:031]: MainEngineThread is returning 3
=== Verbose logging stopped: 10.09.2015  07:42:04 ===

我们的系统使用以下参数运行 MSI:

jre-8u60-windows-i586.exe /s /L D:\Service\JRE\setup8u60.log

到目前为止,我们确保没有其他安装正在运行,并且 Java 已被完全删除,因为这些是我们在网上发现的唯一迹象。

任何建议都会有帮助!

答案1

Java 8 正在成为大规模部署的一大难题。

这次我认为是 8u60 中的 exe 的问题,它之前在 8u51 和 8u45 中是可以运行的。

如果您看到日志,它会尝试在 C:\windows\system32 上打开 msi,我认为它在那里找不到任何东西。在 Java 8u51 和 45 中...它成功了,因为它尝试在 C:\windows\syswow64 上打开。

对我有用的解决方法:

  • 提取 MSI ->http://www.techygeekshome.co.uk/2014/01/java-msi-extraction-from-windows-7-and.html 实际路径为 %userprofile%\AppData\LocalLow\Oracle\Java\jre1.8.0_60
  • 将 msi 复制到 C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi
  • 按照你之前的步骤执行安装程序 (.exe)。我使用:

    jre.exe INSTALL_SILENT=1 STATIC=0 AUTO_UPDATE=0 WEB_JAVA=1 WEB_JAVA_SECURITY_LEVEL=H WEB_ANALYTICS=0 EULA=0 REBOOT=0 NOSTARTMENU=1 /L C:\temp\jre-8u60.log
    

注意:在 8u51 和 8u45 中,我还需要在安装前将 java.setting.cfg 复制到 C:\ProgramData\Oracle\Java: http://www.edugeek.net/forums/enterprise-software/143767-java-8-update-25-silent-install-via-sccm-10.html#post1333454

正确尝试

我假设您以 SYSTEM 身份运行该 exe(可能是 SCCM?)。为了测试它,您可以尝试以 SYSTEM 身份在 CMD 中安装它,打开控制台并执行:

    PSEXEC -i -s -d CMD

然后您可以尝试 exe 安装。

答案2

在另一个页面上找到了这个 - 效果很好!“我发现最好的方法是在 PC 上安装 Java,然后转到位于此处的 appdata 文件夹:C:\Users\username\AppData\LocalLow\Oracle\Java\jre1.8.0_60 并将 jre1.8.0_60.msi 文件复制到用于 SCCM 部署的软件文件夹中。然后使用此 msi 文件设置您的 java 应用程序以进行部署。添加您的交换机或任何您需要的东西。我已经这样做了很多年,从来没有遇到过将 Java 部署到我管理的数千台计算机的问题。”

答案3

对我来说,这个错误是因为安装程序找不到 .CAB 文件。提取 .msi 时,您还需要获取 CAB 文件,并在调用时将它们放在与 .msi 相同的文件夹中。

相关内容