It was not as smooth as I thought while installing the Windows 8.1 as a fresh OS in my laptop. Though the OS and other major software installation was smooth, but I faced lots of issues while installing some software's that need .NET Framework 3.5.
Did lots of analysis, tried various methods to install the framework but all failed. At the end I got an perfect solution which resolved the problem. Thought to share in case you faced similar, will help you.
As I formatted my hard drive and installed Windows 8.1 Preview as a fresh operating system, my system was completely blank and I had to install all the other softwares one by one. This is really a hectic job but it should not be that much problematic if the Windows installation provided me the .NET Framework 3.5 by default.
Yes, I faced hell lot of issues installing .NET Framework in Windows 8.1 as it was needed by some software like Live Essential 2012. Though I was trying to install it from various package, it was asking me all the time to install .NET Framework 3.5. I was shocked when I saw the system asking me to Install .NET Framework 3.5 before installing .NET Framework 3.5. Did I mentioned anything wrong here? No, I wrote it correct. The system was asking me to install .NET Framework 3.5 before continuing the installation of .NET Framework 3.5.
The things that I tried
Let’s discuss what are the things that I tried. If you want to know only the solution, just go to the next point else continue reading the struggle that I faced with this installation.
I had the .NET Framework 3.5 installer package available in my software collection already and first I tried to install from there when I saw the below screen when trying to install the Windows Live Essential 2012. This is common because the Live Essential need Framework 3.5 to execute. I know it already from my past experience with the software.
My struggle starts at this point when I saw the same screen when trying the install the package i.e. install .NET Framework 3.5 to install the .NET Framework 3.5 itself. Isn’t it too annoying when it placed itself in a deadlock? That’s a perfect example.
I tried it twice from the same installation package and when failed, tried to download the installer from online by clicking the “Download and install this feature” button from the wizard. My bad, that threw me an Error Code: 0x800F081F with a message stating “Windows couldn’t find required files”, that means, the installer package link has been moved to a different location.
In the next step, I downloaded a new installer package from Microsoft Download Centre, same happened. WTH!!! Now I tried downloading it from the MSDN subscriber page. Had a bad luck for sure. Got the same screen with the same error message. Tried searching online and then tweeted about the error and the “Windows Support Team” replied. They asked me to post a Forum thread stating the issue. OMG! They don’t have the answer too! I spent a huge time (it’s more than 3 hours I assume) to find out the issue and finally left the PC intact, posted a forum thread and went to sleep as it was late night in India already.
In the morning I woke up early (generally I don’t) and tried installing the same again but didn’t get any clue what’s going wrong here. Didn’t get any proper solution in the forum too. I don’t think some one already faced and/or solved this issue. In the next step of my struggle, I tried to install it from the Control Panel –> Programs and Features –> Turn Windows features on or off –> .NET framework 3.5 (includes .NET 2.0 and 3.0), as shown here but that was also not a good try for me.
Tried searching in the Windows 8.1 installation media but didn’t find any redistributable package of the framework inside the ISO image. If it is require by few applications, why don’t Microsoft provide it with the Windows OS itself. This way the end user will not suffer a lot downloading and installing it. That’s a good thought but when I posted it in my Facebook page, got different replies from different people. That’s a long story. Will not cover that here but yes, it comes with the Windows package but not available as part of the installation by default. Read my next point to know more about it.
Finally, I found a solution in an MSDN article (shared by Suprotim Agarwal sir) which helped me to resolve the issue. When this kind of issue happens with the .NET Framework installer package, we can install it directly from the Windows installation media using the “Deployment Image Servicing and Management” tool, in short DISM command line tool, that helps you to extract the image from the Windows installer package and install it in the system.
The .NET Framework package is available under the “sources\sxs” folder of the Windows installation media and if you try to find the framework installer, you will not get it there. You have to use the DISM tool for that.
To install the .NET Framework from the Windows installation media, open the “Command Prompt” in administrator mode and provide the following command:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:x:\sources\sxs
/Online targets the operating system you're running (instead of an offline Windows image).
/Enable-Feature /FeatureName:NetFx3 specifies that you want to enable the .NET Framework 3.5.
/All enables all parent features of the .NET Framework 3.5.
/LimitAccess prevents DISM from contacting Windows Update.
/Source specifies the location of the files needed to restore the feature (in this example, the x:\sources\sxs directory).
Once I provided the above command in the console window, it started installing it from the Windows Installation Media. In my case, it was the ISO image of the Windows 8.1 Preview mounted to a virtual DVD ROM.
My Question to Microsoft
After struggling a lot, my simple question to the Microsoft Windows team who packed the installer: Why don’t you provide the said and required frameworks installed by default with the Windows installation? When I asked the same question to my friends available in Facebook, I got many stated that it would be a huge install and hence will take a lot of time. Someone stated that, it would need a big installation media and hence it would not be accommodated within a 3GB ISO image.
.NET Framework is not too huge. Max to max it will take 250-300 MB additional space if not already provided within the ISO image. If it comes with the default installation, people will not face such kind of issues that I faced while installing .NET Framework 3.5. As it is used by many applications till date, it would be a good idea to pack it as the standard installation of the OS.
The good news is: it comes by default with the Windows Installer package but the bad news is: it comes as an optional component. Hence, it will not make the installation media a bigger one as it is already there. Just the point is that, we don’t know (in general) that it comes by default with the package which we can directly install using the DISM tool without downloading additional setup from internet.
So, the question again comes: “Why .NET 2.0, .NET 3.0 and .NET 3.5 are not part of the standard Windows installation?” and I am still inside a dark big cloud until I get a suitable answer from Microsoft. I know, you will also like to get this answered from Microsoft and will be glad if they provide it by default with the Windows Installation.
It was a long post I know but I wanted to share with you my experience struggling to find the solution. It might take some amount of time reading the whole post without directly providing the solution but I know, it will be a good read for you to understand the whole thing. If you already faced the same issue, you will not have to do the same struggle and directly fix it by using the same steps with the DISM tool mentioned in the “Final Solution” section above.
If you had the same experience earlier before reading this post, share the same with us. Thanks to Suprotim Agarwal sir once again for helping me to resolve the issue. Also my sincere thanks to all those friends who helped me with various steps. I assume that this post will help you in future. Don’t forget to share it to your friends or network and help them to gain the same knowledge that we learnt.