如何通过wix引导检测到是否插入了JRE 8

问题描述

我正在使用wix引导程序来安装Java运行时。但我无法检测到JRE。我的代码如下。安装程序将始终安装JRE(即使已预安装)。但不会卸载。

似乎我的检测条件是错误的。但是我找不到正确的方法。请帮忙

'''

<?xml version="1.0" encoding="UTF-8"?>

<?define logo = "$(var.ProjectDir)\Resource\app.ico" ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

  <Bundle Name="MY Installer" Version="1.0.0.0" Manufacturer="ABCD" UpgradeCode="00f3b9ff-f82b-4a06-8ab1-d96de8ade69c"
          IconSourceFile="$(var.logo)">

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
      <bal:WixStandardBootstrapperApplication
        SuppressOptionsUI ="yes"
        SuppressRepair="yes"
        LicenseUrl=""
        logoFile="$(var.logo)" />
    </BootstrapperApplicationRef>

    <util:RegistrySearch
      Id="Java8FamilyVersion"
      Root="HKLM"
      Key="SOFTWARE\JavaSoft\Java Runtime Environment"
      Value="Java7FamilyVersion"
      Variable="Java8FamilyVersion" />

    <util:RegistrySearch
      Root="HKLM"
      Key="SOFTWARE\JavaSoft\Java Runtime Environment\[Java8FamilyVersion]\MSI"
      Value="PRODUCTVERSION"
      Variable="JavaProductVersion"
      After="Java8FamilyVersion"
      Condition="Java8FamilyVersion" />

    <Chain>
      <ExePackage Id="Java8Runtime"
                  displayName="Java Runtime Version 8"
                  Cache="no"
                  Compressed="yes"
                  PerMachine="yes"
                  Vital="yes"
                  Permanent="no"
                  Name="Redist\jre-8u271-windows-x64.exe"
                  SourceFile="..\..\Common\Java\jre-8u271-windows-x64.exe"
                  InstallCondition="NOT (JavaProductVersion &gt;v8.0.2710.9)"
                  DetectCondition="Java8FamilyVersion AND (JavaProductVersion &gt;=v8.0.2710.9)" 
                  InstallCommand="/s INSTALL_SILENT=Enable"/>

      
    </Chain>
  </Bundle>
</Wix>

'''

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)