![](/img/trans.png)
[英]libphonenumber Jar File Compatible with Java JRE 1.7.0_79
[英]WIX - MSI: How to check highest version of jre 1.7 - till 1.6 from multiple version of JRE (1,8, 1.7.0_80, 1.7.0_79 and 1.6.0_45) in the system
如何使用WIX檢查系統中安裝的1.7 JRE的最高版本? 1)我的應用程序僅適用於JRE的1.6或1.7。 2)因此,在安裝MSI期間,需要找到我們的1.7或1.6的最高版本。 a)如果在系統中已安裝1.8.0_45,1.7.0_80,1.7.0_79和1.6.0_45。 在這種情況下,我必須找出1.7.0_80並需要獲取安裝路徑。
據我所知,我們可以找到系統中安裝的最高版本的JAVA。
<Property Id="JRE_64">
<RegistrySearch Id="JRE_64R" Root="HKLM" Key="SOFTWARE\JavaSoft\Java Runtime Environment" Name="CurrentVersion" Type="raw" Win64="yes" />
</Property>
基於此值檢查是JAVA的1.8,則需要得到1.7
<?if [JRE_64] < 1.6 AND [JRE_64] >= 1.8 ?>
<Property Id="JRE_64_7">
<RegistrySearch Id="JRE_64R_7" Root="HKLM" Key="SOFTWARE\JavaSoft\Java Runtime Environment" Name="Java7FamilyVersion" Type="raw" Win64="yes" />
</Property>
<?if ([JRE_64_7] >= 1.7 AND [JRE_64_7] < 1.8) ?>
<Property Id="JRE_64_6">
<RegistrySearch Id="JRE_64R_6" Root="HKLM" Key="SOFTWARE\JavaSoft\Java Runtime Environment" Name="Java6FamilyVersion" Type="raw" Win64="yes" />
</Property>
<?endif?>
<?endif?>
但是如果條件不適用於屬性值比較,這是否可行 ? 我該如何解決? 任何建議。
嘗試自定義操作,包括一個vbs二進制文件嘗試使用wmi對象並獲取Java系列的屬性
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set allProds= objWMIService.ExecQuery("SELECT Name,Vendor,Version FROM Win32_Product")
遍歷allProds,如果name為java,請檢查版本
樣品響應
版本= 6.0.100
供應商= Sun Microsystems,Inc.
名稱= Java(TM)6更新10
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.