【发布时间】:2016-06-27 08:32:35
【问题描述】:
我们有 .Net 4.5.1 作为我们软件套件的先决条件。在我们编写 burn 时,我们拥有 .net 4.5.1 作为最新版本,因此我们不必检查更高版本的安装。现在我们在 pc 中有 4.6.X 或更高版本的 .Net 版本,我们的设置总是尝试安装 .Net 4.5.1。那么,如何检查是否安装了更高版本并跳过.Net安装?
我们不使用网络安装。安装文件将以 .exe 格式提供,供刻录访问。这是当前的创作代码。
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx451Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="$(var.NetFx40EulaLink)" />
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version"
Variable="Net4FullVersion" />
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full" Value="Version"
Variable="Net4x64FullVersion" Win64="yes" />
<PackageGroup Id="Netfx451Full">
<ExePackage Id="Net45" Name="Microsoft .NET Framework 4.5.1.exe"
Description="Microsoft .NET Framework 4.5.1 AllOS (x86 and x64) Setup"
Cache="no" Compressed="no" PerMachine="yes" Permanent="yes" Vital="yes"
InstallCommand="/norestart"
SourceFile="$(var.PreRequisites_x86)DotNetFramework\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"
DetectCondition="(Net4FullVersion = "4.5.50938") AND (NOT VersionNT64 OR (Net4x64FullVersion = "4.5.50938"))"
InstallCondition="(VersionNT >= v6.1 OR VersionNT64 >= v6.1) AND (NOT (Net4FullVersion = "4.5.50938" OR Net4x64FullVersion = "4.5.50938"))" />
</PackageGroup>
【问题讨论】:
标签: .net installation wix burn