【问题标题】:Visual Studio 2008 Installer - Java prerequisite in Product ManifestVisual Studio 2008 安装程序 - 产品清单中的 Java 先决条件
【发布时间】:2013-11-19 06:58:50
【问题描述】:

我想使用 Visual Studio 2008 安装程序为 Java 应用程序创建安装程序

我已按照说明使用 Bootstrapper Manifest Generator 工具创建先决条件。
How to: Create a Product Manifest

我想创建一个先决条件,以便在机器上不存在 Java 时安装它。

为此,我检查了注册表项: HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java 运行时环境\CurrentVersion

我测试 CurrentVersion 是否 >= 1.7。

生成的product.xml如下:

<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="Java1.7" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
  <PackageFiles CopyAllPackageFiles="false">
    <PackageFile Name="jre-7u45-windows-x64.exe" />
  </PackageFiles>
  <InstallChecks>
    <RegistryCheck Property="Java_Version" Key="HKLM\Software\JavaSoft\Java Runtime Environment" Value="CurrentVersion" />
  </InstallChecks>
  <Commands Reboot="Defer">
    <Command PackageFile="jre-7u45-windows-x64.exe">
      <InstallConditions>
        <BypassIf Property="Java_Version" Compare="VersionGreaterThanOrEqualTo" Value="1.7" />
      </InstallConditions>
      <ExitCodes>
        <ExitCode Value="0" Result="Success" />
        <ExitCode Value="3010" Result="Success" />
        <DefaultExitCode Result="Fail" String="Anunexpectedexitcodewasr" FormatMessageFromSystem="true" />
      </ExitCodes>
    </Command>
  </Commands>
</Product>

我使用此先决条件(VS 2008)生成安装程序,但如果我在已安装 Java 的机器上运行安装程序,安装程序会要求我安装 Java!

由于某些原因忽略了 ByPassIf 指令。 我检查了注册表项是否明显存在...

有什么想法吗?

【问题讨论】:

    标签: java visual-studio-2008 windows-installer bootstrapper prerequisites


    【解决方案1】:

    http://archive.msdn.microsoft.com/bmg/Thread/View.aspx?ThreadId=6765 请检查安装日志,是否有以下错误:“无法读取注册表值错误”

    引用上面的帖子: “32 位机器工作正常,只有在 SP2 的 64 位机器上才会出现问题(服务器版本抛出错误)。Windows 7 专业版工作正常。”

    请检查 32 位机器上发生的情况。它适用于 32 位机器,但不适用于 64 位机器

    【讨论】:

    • 对不起。我刚刚看到文档。没关系
    • 链接失效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多