View Full Version : Problems with installing .Net Framework 4.6.2

04-05-2017, 12:40 AM

I made a prq-file for .Net Framework 4.6.2 based on the prq-file for .Net Framework 4.6.1 which was shipped with InstallShield. But when I install my Setup on a freshly installed Windows 10, the check for the current version fails and the setup tries to install 4.6.2. When I change the value which is checked from 394802 to 394254 (which indicates that the minimum .Net Framework is 4.6.1) the check fails too and the setup tries to install 4.6.2.
Here my prq-file:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<condition Type="2" Comparison="2" Path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" FileName="Release" ReturnValue="394802"/>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" ServicePackMajorMin="1"/>
<operatingsystemcondition MajorVersion="6" MinorVersion="2" PlatformId="2" CSDVersion=""/>
<operatingsystemcondition MajorVersion="6" MinorVersion="3" PlatformId="2" CSDVersion=""/>
<operatingsystemcondition MajorVersion="10" MinorVersion="0" PlatformId="2" CSDVersion=""/>
<file LocalFile=".\Microsoft .net\4.6.2\Full\NDP462-KB3151800-x86-x64-AllOS-ENU.exe" URL="https://download.microsoft.com/download/F/9/4/F942F07D-F26F-4F30-B4E3-EBD54FABA377/NDP462-KB3151800-x86-x64-AllOS-ENU.exe" CheckSum="9A5D647EE710AF2B1AEDE329C40BBE1A" FileSize="0,62008080"/>
<execute file="NDP462-KB3151800-x86-x64-AllOS-ENU.exe" cmdline="/q /norestart" cmdlinesilent="/q /norestart" returncodetoreboot="1641,3010" requiresmsiengine="1"/>
<properties Id="{4661371D-BBEA-49B0-AD92-95A563E2353B}" Description="This prerequisite installs the .NET Framework 4.6.2 full standalone package."/>
<behavior Reboot="2"/>


04-10-2017, 11:33 AM
I found this on https://msdn.microsoft.com/en-us/library/ee942965(v=vs.110).aspx. .NET 4.6.2 for the Windows 10 Anniversary Edition is 394802 but for all other OS other than that one, it's 394806. Perhaps it is not a Windows 10 Anniversary Edition and you should be using 394806 instead?