【发布时间】: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