Jump to content

[Tutorial] How to install net framework 4.7.2 on Windows Vista


WinFX

Recommended Posts

Hello everyone, this time I do not bring a question if not a solution for all users who are still using Windows Vista in 2019, how to install new versions of the .NET Framework in Windows Vista!

Tested versions for me: 4.6.2 | 4.7

Requirements to be able to update net framework in Vista to more recent versions:

  • Service Pack 2 installed (I recommend having the platform supplement and all the updates until April 2017)
  • Net Framework 4.6.1 (Latest version compatible tested until moment with Vista)
  • Compressor files like WinRAR or 7zip

Warning: You will not be able to use Windows Update again in Vista after installing NET Framework 4.6.2 or 4.7.2, I recommend updating the system with all the updates until April 2017!

Let's start with the procedure:

  1. Download the net framework version chosen in this case 4.7.2 from the MS page
  2. With our file compressor open the executable to install net framework and look for the file ParameterInfo.xml and copy it to the desktop
  3. Open the xml and search this line:
    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
  4. Replace all this code:
    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
            <And>
              <Equals LeftHandSide="Installing" BoolWhenNonExistent="false">
                <Operation />
              </Equals>
              <Or>
                <Or>
                  <GreaterThanOrEqualTo LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </GreaterThanOrEqualTo>
                  <And>
                    <Equals LeftHandSide="6.2" BoolWhenNonExistent="false">
                      <TargetOS />
                    </Equals>
                    <Equals LeftHandSide="Client" BoolWhenNonExistent="false" Id="IsClient">
                      <RegKeyValue Location="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallationType" />
                    </Equals>
                  </And>
                </Or>
                <And>
                  <Equals LeftHandSide="10.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </Equals>
                  <GreaterThan LeftHandSide="14393" BoolWhenNonExistent="false">
                    <RegKeyValue Location="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber" />
                  </GreaterThan>
                </And>
              </Or>
            </And>
          </BlockIf>

    For this other code:

    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
            <And>
              <Equals LeftHandSide="Installing" BoolWhenNonExistent="false">
                <Operation />
              </Equals>
              <Or>
                <Or>
                  <GreaterThan LeftHandSide="6.0.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </GreaterThan>
                  <Equals LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </Equals>
                </Or>
                <And>
                  <And Id="Is2k8ServerCore">
                    <And>
                      <And>
                        <And>
                          <LessThanOrEqualTo LeftHandSide="6.0.0" BoolWhenNonExistent="false">
                            <TargetOS />
                          </LessThanOrEqualTo>
                          <GreaterThan LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                            <TargetOS />
                          </GreaterThan>
                        </And>
                        <Not>
                          <Equals LeftHandSide="Client" BoolWhenNonExistent="false">
                            <TargetOSType />
                          </Equals>
                        </Not>
                      </And>
                      <Exists>
                        <FileVersion Location="%windir%\system32\oclist.exe" />
                      </Exists>
                    </And>
                    <Exists>
                      <Path Location="%windir%\system32\scregedit.wsf" />
                    </Exists>
                  </And>
                  <Not>
                    <LessThanOrEqualTo LeftHandSide="4.0.31106.0" BoolWhenNonExistent="false">
                      <FileVersion Location="%windir%\System32\mscoree.dll" />
                    </LessThanOrEqualTo>
                  </Not>
                </And>
              </Or>
            </And>
          </BlockIf>
  5. After saving the file open the net framework executable
  6. Open the label that you have installed Vista in this case C and you should find a folder with a long name that includes hexadecimal characters, open it and quickly replace the XML ParameterInfo that you edited. Note: I may still show you that it is not compatible, this is tedious and annoying but try several times as fast as possible to replace the xml ParamenterInfo while the files are being extracted before the installation begins!
  7. Net framework updated in Windows Vista!

Screenshots here:

https://drive.google.com/open?id=14gKJ6JlY1XxeDvcZtS7WdfncfnbHRAnZ

https://drive.google.com/open?id=1r8bmcCjJ30UewCxCXgraMKunbhrk9ynb

https://drive.google.com/open?id=1gdvPTKUbvEMPCBK2u-Osfxk-Fnttl3as

Edited by Win2000Fan
Link to comment
Share on other sites


On 5/29/2019 at 3:19 AM, Win2000Fan said:

Warning: You will not be able to use Windows Update again in Vista after installing NET Framework 4.6.2 or 4.7.2, I recommend updating the system with all the updates until April 2017!

... What is the actual meaning of this message? :dubbio:Will installing your way totally break Windows Update itself on the machine? :angry:

If, OTOH, you mean that the installed version of .NET FW (> 4.6.1) won't receive any additional security & performance updates directly from WU, this is an already known limitation that applies even to 4.6.1 (which will install simply by running its default installer); only 4.6.0 is officially supported by Microsoft on Vista/Server 2008, as such is the last version that would receive updates the "normal" way; for any version higher than this, the user has to hunt down provided updates for 4.x.x in Microsoft Update Catalog, download and install manually...

Also, have you tried a slight variant to your method?

1. First decompress the provided 4.6.2 official installer with 7-zip, as detailed previously in the "Last versions of software for Windows Vista and Windows Server 2008" thread.
2. In the created directory, locate file ParameterInfo.xml, patch as instructed and save the modifications (perhaps one other possible workaround could be to overwrite the original file with the one provided inside 4.6.2 Preview; the "Preview" does install normally in Vista).
3. Then, instead of running the .MSI file (as instructed in the mentioned thread), just run the Setup.exe file; it should read the modified ParameterInfo.xml file adjacent to it, allowing for a successful installation...

9 hours ago, Jaguarek62 said:

isn't it faster to just open netfx_x64full.exe?

... Do you actually mean netfx_Full_x64.msi in the decompressed installer directory (NB, this is for Vista SP2 64-bit, only!) ?

9 hours ago, Jaguarek62 said:

is there any benefit doing it this way?

At least one person has reported some problems with 4.6.2 Final when installed via the ".MSI" method:

My response:

On 5/18/2019 at 9:18 PM, VistaLover said:

This is most probably caused by the fact 4.6.2 Preview can be properly installed via the provided installer, while 4.6.2 Final can only be installed via a hack-ish way ;); it is possible running just the .MSI (in the unpacked original setup) does not write all of the necessary registry keys and/or modify ENV VARs;

Presumably, @Win2000Fan's method simulates better a "proper" install as if original 4.6.2 installer (NDP462-KB3151800-x86-x64-AllOS-ENU.exe) had been Vista compatible from the start... ;)

 

Link to comment
Share on other sites

It does not break windows update but applications that require net 4.x do not work

Edited by Win2000Fan
Error
Link to comment
Share on other sites

On 5/29/2019 at 5:49 AM, Win2000Fan said:

Hello everyone, this time I do not bring a question if not a solution for all users who are still using Windows Vista in 2019, how to install new versions of the .NET Framework in Windows Vista!

Tested versions for me: 4.6.2 | 4.7

Requirements to be able to update net framework in Vista to more recent versions:

  • Service Pack 2 installed (I recommend having the platform supplement and all the updates until April 2017)
  • Net Framework 4.6.1 (Latest version compatible tested until moment with Vista)
  • Compressor files like WinRAR or 7zip

Warning: You will not be able to use Windows Update again in Vista after installing NET Framework 4.6.2 or 4.7.2, I recommend updating the system with all the updates until April 2017!

Let's start with the procedure:

  1. Download the net framework version chosen in this case 4.7.2 from the MS page
  2. With our file compressor open the executable to install net framework and look for the file ParameterInfo.xml and copy it to the desktop
  3. Open the xml and search this line:
    
    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
  4. Replace all this code:
    
    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
            <And>
              <Equals LeftHandSide="Installing" BoolWhenNonExistent="false">
                <Operation />
              </Equals>
              <Or>
                <Or>
                  <GreaterThanOrEqualTo LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </GreaterThanOrEqualTo>
                  <And>
                    <Equals LeftHandSide="6.2" BoolWhenNonExistent="false">
                      <TargetOS />
                    </Equals>
                    <Equals LeftHandSide="Client" BoolWhenNonExistent="false" Id="IsClient">
                      <RegKeyValue Location="HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallationType" />
                    </Equals>
                  </And>
                </Or>
                <And>
                  <Equals LeftHandSide="10.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </Equals>
                  <GreaterThan LeftHandSide="14393" BoolWhenNonExistent="false">
                    <RegKeyValue Location="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber" />
                  </GreaterThan>
                </And>
              </Or>
            </And>
          </BlockIf>

    For this other code:

    
    <BlockIf DisplayText="#(loc.Blocker_UnSupportedOS)" ID="UnSupportedOS">
            <And>
              <Equals LeftHandSide="Installing" BoolWhenNonExistent="false">
                <Operation />
              </Equals>
              <Or>
                <Or>
                  <GreaterThan LeftHandSide="6.0.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </GreaterThan>
                  <Equals LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                    <TargetOS />
                  </Equals>
                </Or>
                <And>
                  <And Id="Is2k8ServerCore">
                    <And>
                      <And>
                        <And>
                          <LessThanOrEqualTo LeftHandSide="6.0.0" BoolWhenNonExistent="false">
                            <TargetOS />
                          </LessThanOrEqualTo>
                          <GreaterThan LeftHandSide="6.1.0" BoolWhenNonExistent="false">
                            <TargetOS />
                          </GreaterThan>
                        </And>
                        <Not>
                          <Equals LeftHandSide="Client" BoolWhenNonExistent="false">
                            <TargetOSType />
                          </Equals>
                        </Not>
                      </And>
                      <Exists>
                        <FileVersion Location="%windir%\system32\oclist.exe" />
                      </Exists>
                    </And>
                    <Exists>
                      <Path Location="%windir%\system32\scregedit.wsf" />
                    </Exists>
                  </And>
                  <Not>
                    <LessThanOrEqualTo LeftHandSide="4.0.31106.0" BoolWhenNonExistent="false">
                      <FileVersion Location="%windir%\System32\mscoree.dll" />
                    </LessThanOrEqualTo>
                  </Not>
                </And>
              </Or>
            </And>
          </BlockIf>
  5. After saving the file open the net framework executable
  6. Open the label that you have installed Vista in this case C and you should find a folder with a long name that includes hexadecimal characters, open it and quickly replace the XML ParameterInfo that you edited. Note: I may still show you that it is not compatible, this is tedious and annoying but try several times as fast as possible to replace the xml ParamenterInfo while the files are being extracted before the installation begins!
  7. Net framework updated in Windows Vista!

Screenshots here:

https://drive.google.com/open?id=14gKJ6JlY1XxeDvcZtS7WdfncfnbHRAnZ

https://drive.google.com/open?id=1r8bmcCjJ30UewCxCXgraMKunbhrk9ynb

https://drive.google.com/open?id=1gdvPTKUbvEMPCBK2u-Osfxk-Fnttl3as

Thanks , will try it out soon :)

Link to comment
Share on other sites

  • 5 weeks later...
On 6/30/2019 at 10:46 PM, ~♥Aiko♥Chan♥~ said:

So does installing this framework even work with applications? If not, that negates the point of installing it...

This has also been discussed in another thread, beginning at https://msfn.org/board/topic/175262-last-versions-of-software-for-windows-vista-and-windows-server-2008/?do=findComment&comment=1164333.

Link to comment
Share on other sites

  • 2 years later...

Hey Thank you for this!

Is there a way to make this work on Windows 8.0 (version 6.2.9200). I am trying this and I get Blocking Issues: "You cannot use this setup program to install the .NET Framework"

Edit: I was doing it wrong. The method for Vista works just fine on Windows 8.0. It bypasses the installation block at least. After that was another story. I tried installing Synctrayzor 1.1.29 which needs .net 4.7.2 and I got an error message that ".net 4.7.2 is needed to run this application blablabla" with 4.7.2 installed. (By installed I mean that that the installation finished without any errors and called for the usual restart but when I checked after the Add/Remove Programs .Net 4.72 wasn't listed.) I will continue trying at some point and see what happens.

Edited by xrononautis
Link to comment
Share on other sites

11 hours ago, D.Draker said:

I was able to do that , but kinda like 90% of my software quit working after that . Had to use the MS cleanup tool to delete it . Reverted to 4.5 and all is fine.

I presume your experience was on Vista. (The previous poster was asking about Windows 8 RTM. Perhaps @Jody Thornton might take a look at that.) I also presume it was before you joined MSFN, having searched in vain for an earlier post with more details. In December 2020 you were running Vista RTM with .NET 4.0. The OP of this thread asserted that SP2 is a requirement, which I have no reason to doubt.

Of course no software that officially supported Vista should require a .NET version higher than 4.6.0 and a large majority would be fine with 4.5.2, and numerous problem reports have convinced me that installing 4.8 on Vista SP2 is a big mistake. However this thread is about 4.7.2, which seems to have a decent track record among MSFN members running Vista. For those who want a higher .NET version to try newer software on Vista, this is the highest version that could be suggested. You might want to read WinClient5270’s May 16, 2019 posts on this subject as well.

Link to comment
Share on other sites

On 9/27/2021 at 8:13 PM, Vistapocalypse said:

I presume your experience was on Vista.

Of course , it's the topic's name ! I guess the previous poster posted in the wrong place. I'm honoured you've been through my whole post history . Yep , I'm still on Vista RTM , but recently decided to try out the famous 360 Browser and it crashed the Video driver , so I was like , hey , why ? Then I decided to install Vista SP2 and the framework (just to try to identify the problem) , but it didn't help (surprise!). Yes , I know what this thread is about , that's precisely what I was writing about . Anyway , thanks. I tried to install it on SP1 too , so it kinda "works" , but the result is the same as with SP2.

I try to avoid "software" that needs frameworks , it's written by newbies anyways. Good soft doesn't depend on that , so it was only because of the 360 crashes I installed SP2 and later tried this topic's suggestion just out of curiosity.

Link to comment
Share on other sites

  • 1 year later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...