Archive: "Improved" IsDotNETInstalled function for v1.1 only


"Improved" IsDotNETInstalled function for v1.1 only
I upgraded the IsDotNETInstalled function that was included with the NSIS 2.0 distribution to detect specifically v1.1. I also made it output the correct framework directory (i.e. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322) if it finds v1.1. See the attached .NSI file.

This function could very easily be modified to detect only v1.0. And then you could easily write a function to call both versions and detect either v1.0 or v1.1. But I don't have the energy.

I'm new to NSIS, so chances are that I could have written this more cleanly. In fact, any style suggestions would be appreciated. In particular, it just feels like I'm writing spaghetti code with all of the Goto statements. But perhaps this is just how NSIS code is written (?).


Getting ready to try this out. One question - does it work if .NET 1.1 SP1 has been installed? My application doesn't require SP1 to be present, but I just want to make sure the routine will still successfully detect 1.1 if SP1 IS installed. :)

Thanks!
-Zak