Tuesday, March 17, 2009

Installing .Net Framework (and Service Packs) on Vista, problems with Windows Features

Such a small thing, like cropping an image file, can lead to so much trouble. I found an image online that I wanted to crop. To do that I would normally use Paint.Net. The issue is that I do not have it installed. So I go and download the latest version and get the error message trying to install it. It requires a .Net Framework 3.5 Service Pack 1 to install. Luckily, I had the SP on a USB stick with me so I go on to install that. After a dozen of times trying to install that one and failing, I finally realize it requires .Net Framework 3.0 Service Pack 1 to install.

Alright. I download the web setup of SP1 for .Net Framework 3.0 this time. Now, trying to install that one gives me a message that this product is not supported on Vista operating system. :S

I can not reinstall .Net Framework 3.0. The standalone installation tells me to go through Programs and Features and install Windows Features. But in Windows Features I do not have anything. The Turn Windows Features On or Off screen is blank. No features get listed. I have downloaded the .Net Framework cleanup tool in case I need to remove the frameworks.

In the meantime, I found out I do not have .Net Framework 3.0 installed. This is weird. So I can not install the Visual Studio 2008 SP1, nor .Net Framework 3.5 SP1, nor .Net Framework 3.0 SP1. And I can not install the .Net Framework 3.0 because my Windows Features list is empty. Now I'm off to solve that issue.

There is a Knowledge Base article (KB 931712) that supposedly helps with this problem. The solutions there do not work, though.

Another solution claims to fix the problem of blank Windows Features list (link). This one depends on running the System Updates Readiness Tool from Microsoft. It also states that another solution - "reg delete HKLM\COMPONENTS /v StoreDirty" does not work, either.

Since the download for the System Updates Readiness Tool took a while, I was trying to fix the issues in CBS.log, listed after running "sfc /scannow", the first suggested solution. From the logs it seems I have a corrupted autochk.exe. The article (link) shows how to access Vista DVD installation files to restore the original versions of files. This solution is even worse, in download time, as it requires downloading 1GB from the Microsoft site. It is, nonetheless, a good solution for accessing the Windows installation images. But, to access the right installation files, I first have to slipstream the Service Pack 1 to my Vista installation. The instructions to do that are here.

After running the System Updates Readiness tool I had three failed entries in the CheckSUR.log (in %windows%\Logs\CBS folder) and none fixed. Now, the procedure is to run regedit and go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\ and delete the keys from there that are found as failed in the CheckSUR.log file. The issue now is that I can not delete these keys. To solve this (@#@#%$!#!@$%#$!@%) I have to set the security access permissions on the registry keys. First take ownership (right-click the key, select Permissions, click Advanced button, go to Owner tab and set yourself as the owner, replacing the permissions on child keys as well). Fortunately, I'm the administrator on the machine so I did not have to explicitly set that part, too. After taking ownership add full rights to yourself. I added them to the Administrators group. After that the keys were allowed to be deleted. Which I wholeheartedly did.

Opening the Windows Features took a bit longer than before, with hourglass rotating on the screen and my fingers knocking on the table and the tension growing in the air... Yes, the features were finally listed!

Installing .Net Framework 3.5 Service Pack 1 (which is cumulative) finally succeeded after this. There are additional updates, as listed in KB959209, of which I could install only the first one (for 3.5).

And, yes, after everything I could finally install Paint.NET and crop the image, finishing what I started yesterday.

No comments: