Silent install, repair and uninstall command lines for the .NET Framework 4


I have previously posted command lines that can be used to install, repair and uninstall the versions of the .NET Framework in silent mode and unattended mode.  Now that the .NET Framework 4 has shipped, I wanted to post an equivalent set of steps to install, repair and uninstall the .NET Framework 4 Client Profile and Full.

The .NET Framework 4 uses a different setup chainer than in previous versions of the .NET Framework.  As a result, the command lines are somewhat different than in previous releases.  There are also a few differences in how the repair and uninstall processes work that I wanted to call out specifically:

  • There are different repair and uninstall command lines for 32-bit and 64-bit versions of the .NET Framework 4
  • The .NET Framework 4 includes both a client profile and a full version.  Uninstalling the full version requires 2 steps – one to uninstall the extended component and another to uninstall the client profile.

.NET Framework 4 product family

.NET Framework 4 Client Profile (32-bit) – silent repair

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

.NET Framework 4 Client Profile (32-bit) – unattended repair

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /passive /norestart

.NET Framework 4 Client Profile (32-bit) – silent uninstall

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /q /norestart

.NET Framework 4 Client Profile (32-bit) – unattended uninstall

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /passive /norestart

.NET Framework 4 Client Profile (64-bit) – silent repair

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

.NET Framework 4 Client Profile (64-bit) – unattended repair

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /passive /norestart

.NET Framework 4 Client Profile (64-bit) – silent uninstall

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /q /norestart

.NET Framework 4 Client Profile (64-bit) – unattended uninstall

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /passive /norestart

.NET Framework 4 Full (32-bit) – silent repair

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

.NET Framework 4 Full (32-bit) – unattended repair

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /passive /norestart

.NET Framework 4 Full (32-bit) – silent uninstall

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Extended\setup.exe /uninstall /x86 /x64 /ia64 /parameterfolder Extended /q /norestart

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /q /norestart

.NET Framework 4 Full (32-bit) – unattended uninstall

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Extended\setup.exe /uninstall /x86 /x64 /ia64 /parameterfolder Extended /passive /norestart

%windir%\Microsoft.NET\Framework\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /passive /norestart

.NET Framework 4 Full (64-bit) – silent repair

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /q /norestart

.NET Framework 4 Full (64-bit) – unattended repair

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /repair /x86 /x64 /ia64 /parameterfolder Client /passive /norestart

.NET Framework 4 Full (64-bit) – silent uninstall

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Extended\setup.exe /uninstall /x86 /x64 /ia64 /parameterfolder Extended /q /norestart

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /q

.NET Framework 4 Full (64-bit) – unattended uninstall

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Extended\setup.exe /uninstall /x86 /x64 /ia64 /parameterfolder Extended /passive /norestart

%windir%\Microsoft.NET\Framework64\v4.0.30319\SetupCache\Client\setup.exe /uninstall /x86 /x64 /parameterfolder Client /passive /norestart 

<update date=”6/1/2010″> Fixed incorrect command lines for uninstall of the .NET Framework 4 extended. </update>

 

Comments (106)

  1. Dennis Bakker says:

    I tried to use the full silent uninstall command lines, but they didn't work. The first command line should use the extended directory instead of the client directory!

    %windir%Microsoft.NETFrameworkv4.0.30319SetupCacheExtendedsetup.exe /uninstall /x86 /x64 /ia64 /parameterfolder Extended /q /norestart

  2. astebner says:

    Hi Dennis Bakker – Thanks for the heads up.  I've fixed the command lines in this blog post and in the one at blogs.msdn.com/…/9553804.aspx.

  3. Brian says:

    I see all the repair & uninstall links, but no links for silent install.  I followed the link to the deployment guide, but don't see them there either.

  4. astebner says:

    Hi Brian – The deployment guide that I linked at the top of this blog post contains a section titled Command-Line Options (available at msdn.microsoft.com/…/ee942965(v=VS.100).aspx).  In that section, there is documentation about the /q, /passive and /norestart switches that you can use for silent and/or unattended installation of the .NET Framework 4.  Please let me know if you have any issues getting these command line switches to work in your scenarios.

  5. pronichkin says:

    Hi Aaron,

    Could you please clarify the difference between error codes 1614 and 3010? In “.NET Framework Deployment Guide for Administrators” they both are described as “A restart is required to complete the installation. This message indicates success”.

    Thanks in advance

  6. astebner says:

    Hi Pronichkin – It looks like there is a typo in that user's guide.  I think it should list error code 1641 instead of 1614.  That is one of the standard Windows Installer error codes listed at msdn.microsoft.com/…/aa368542.aspx.  I've never actually encountered a 1641 error code before – I always see 3010.  I think the difference is that with 1641, Windows Installer will initiate a reboot for you automatically (unless you use the norestart switch), whereas with 3010, Windows Installer is telling you that a reboot is needed but will not initiate one automatically.  I think you should plan on using the norestart switch in your deployment scenarios, and if you do that, you shouldn't need to handle 1641 any differently than 3010.

  7. astebner says:

    Hi Pronichkin – It looks like there is a typo in that user's guide.  I think it should list error code 1641 instead of 1614.  That is one of the standard Windows Installer error codes listed at msdn.microsoft.com/…/aa368542.aspx.  I've never actually encountered a 1641 error code before – I always see 3010.  I think the difference is that with 1641, Windows Installer will initiate a reboot for you automatically (unless you use the norestart switch), whereas with 3010, Windows Installer is telling you that a reboot is needed but will not initiate one automatically.  I think you should plan on using the norestart switch in your deployment scenarios, and if you do that, you shouldn't need to handle 1641 any differently than 3010.

  8. dennis says:

    I have a Toshiba Satellite L505 lap top and I keep getting an error message saying that I need to install .Net Framework version v4.0.30319

    Can anyone help me with this. I have no clue.

    Thanks

  9. astebner says:

    Hi Dennis – You should be able to download and install the .NET Framework 4 from http://www.microsoft.com/…/details.aspx to solve this type of error.

  10. JapaneseOma says:

    my SONY VAIO was upgraded to Windows 7 and we added Norton 360. Now it won't access the internet, giving me a message that NET Framework version 4 needs to be repaired. As a novice, I have no clue how to repair, and I begin classes in two weeks. Any advice would be much appreciated. Thanks, and more thanks in advance.

  11. astebner says:

    Hi JapaneseOma – You can repair the .NET Framework 4 by using the entries that it creates in the Programs and Features control panel on your computer.  They will be named "Microsoft .NET Framework 4 Extended" and "Microsoft .NET Framework 4 Client Profile".  Hopefully this will help in your scenario.

  12. Dennis says:

    Hi Astebner-Thank you for the link to fix this .Net Framework error message. When I go to the link, I see I am installing .Net Framework 4. Is this the same as v4.0.30319? I am confused because the download does not mention this version at all. The error message says that I need to install .Net Framework version v4.0.30319. If I download the .Net Framework 4 will this do the trick? Thanks, Dennis

  13. astebner says:

    Hi Dennis – The final build number for the .NET Framework 4 is 4.0.30319, so yes, the .NET Framework 4 is what you want if you are seeing an error message from a program that says it needs v4.0.30319.  Let me know if you have any trouble getting it to install on your system.

  14. Dennis says:

    Hi Astebner-This version 4.0.30319 is already installed on my system but the error keeps appearing. What do you suggest I do about fixing this problem? Thanks.

  15. astebner says:

    Hi Dennis – I'd suggest trying to repair the .NET Framework 4 (both the Extended and Client components) by using the entries in the Programs and Features control panel.  If that doesn't help, then I'd suggest trying to uninstall + re-install the .NET Framework 4.

  16. Dennis says:

    Hi Astebner-I have done a repair on both components twice without results and when I try to uninstall I get a warning: Uninstalling Microsoft .NET Framework may cause some applications to cease to function. Should I go ahead and uninstall anyway and then re-install? Thanks.

  17. astebner says:

    Hi Dennis – That warning appears because uninstalling the .NET Framework 4 will prevent applications that were written to use the .NET Framework 4 to fail to work.  However, in your case, you're planning to re-install afterwards, so you can safely ignore that warning.

  18. Dennis says:

    Hi Astebner-I have done the uninstall of both components and now will re-install. But before I do, do you have any special instructions? As I read above at the top of this page, I am a bit confused as to how and where to proceed with the download. Do I click on the "Download location" above? And under that you have "Deployment guide with silent install command lines". Is this something I need to pay attention to also? I am a bit of a novice so if you could walk me through this. I don't want to mess up anything. Thanks.

  19. Dennis says:

    Hi Astebner-I went ahead and re-installed, which was successful for both components. But within half an hour the same anoying error message has reappeared. What can be done at this point? Thanks.

  20. astebner says:

    Hi Dennis – Are you getting this error from a specific program on your computer?  Does it work for a half hour or so and then stops working?  If so, is it possible that there's some kind of process running on your system that is modifying files or registry that is created by the .NET Framework 4 setup?  Can you try to run the .NET Framework verification tool from blogs.msdn.com/…/8999004.aspx and verify the .NET Framework 4 to see if it reports any errors?

  21. Dennis says:

    Hi Astebner-No, I am not getting this error from anything specific. It is completely random and does not effect the performance of the computer at all. The only thing I am noticing is that the error message keeps appearing several times a day in the middle of the screen and I need to delete it. As you suggested I ran the verification tool and it failed. It says: Product verification failed. See log for details. I tried to read the log but it was very difficult to understand. Any suggestions? Thanks.

  22. astebner says:

    Hi Dennis – This error comes from a program that is trying to use the .NET Framework.  If you don't know which program it is, then it might be something like a service that is running in the background or something like that.

    Can you please zip and upload your verification log files named %temp%setupverifier*.txt to a file server (such as http://skydrive.live.com) and then reply here with a link I can use to download the logs and take a further look?

  23. Dennis says:

    Hi Astebner-I went through the verification log files but found nothing that said %temp%setupverifyier*.txt. Am I looking in the wrong place? The log is very long. Maybe you could walk me through this to make sure that we are on the same page. Are you asking me to upload all of the log to the file server? The entire log? I am not sure at this point if I understand completely what you need. Sorry.

  24. astebner says:

    Hi Dennis – You've got a typo in the log names – they should be located in your %temp% directory and be named setupverifier*.txt (you've got a "y" in your name).  The exact names of the log files are listed in the verification tool user's guide at blogs.msdn.com/…/8999004.aspx.  Can you please check again and see if you can find these log files?

  25. Dennis says:

    Hi Astebner – I found the log files without any problem but I am not able to send them to you. If you could please supply me with directions about how to send them. I know that I need to send you a link and I tried for a couple of hours last night to do that but I was unable to figure it out.

  26. astebner says:

    Hi Dennis – What I would do is zip the log files into a single file, then create an account on http://skydrive.live.com, upload the zip file there, then share out the file for the public (instead of friends only), then send me a link to your Skydrive page.

    If you have trouble getting those steps to work, you can contact me via blogs.msdn.com/…/contact.aspx and after I reply, you can attach the files to an email instead.

  27. Dennis says:

    Hi Astebner-Here is the link to my skydrive account. I hope it works. If it does not, then I will send it in an email to the blog account.

    cid-bb62435309d25b93.office.live.com/…/.Documents

  28. astebner says:

    Hi Dennis – I was able to download your logs, and they don't show any missing files or registry keys, but they do show a problem running a small .NET Framework test application.  That is likely failing with a similar error to the one you're seeing pop up on your computer periodically.  I normally suggest that users repair or uninstall + re-install the .NET Framework to solve this type of problem, but in your case, that hasn't helped.

    I do see one potential problem – the version number of mscoree.dll in your log file is still the old 2.0 version instead of the new 4.0 version.  Can you please use the tool described at blogs.msdn.com/…/6458047.aspx to gather all of your .NET Framework setup log files, then upload the file %temp%vslogs.cab that this tool creates to your Skydrive page so I can take a look at that as well?

  29. Dennis says:

    Hi Astebner – I was able to find the vslogs.cab file but have no idea how to get it over to you. Please advise. Thanks.

  30. astebner says:

    Hi Dennis – Can you please post %temp%vslogs.cab to your Skydrive location just like the previous log file you uploaded?

  31. Dennis says:

    Hi Astebner – I have been trying to post the files to my Skydrive location like I did before but I am unable to do it succesfully. Can you please advise me? Thanks.

  32. astebner says:

    Hi Dennis – I don't know why you aren't able to upload the file when you were able to upload other files previously.  Does Skydrive give you any error messages?  How big is your vslogs.cab file?  I think there is a 50 megabyte limit per file on Skydrive so you may need to try to use a different file sharing web site instead or unzip the cab file and remove some of the log files not related to the .NET Framework to make it smaller or something like that.

  33. Dennis says:

    Hi Astebner – I am noticing that when the .Net Framework error message appears, everything freezes and I need to delete the message in order to proceed. The vslogs.cab file is very big and there is a limit per file so I am unable to share the entire file to Skydrive. Can you recommend another file sharing web site that will allow larger files? I do not know which log files to remove. I am new to this and sort of flying blind. Thanks.

  34. astebner says:

    Hi Dennis – Instead of trying to fix the vslogs.cab to make it smaller, I'm going to have you try to create a separate zip file with just the .NET Framework 4 setup log files.  Can you please try the following and see if it works for you:

    1.  Click on the Windows start menu, choose Run, type %temp% and click OK

    2.  Look for files that have names beginning with "Microsoft .NET Framework 4"

    3.  Hold down the Ctrl key on your keyboard and select each of the files with this type of name

    4.  Right-click and choose Send To, then Compressed (zipped) Folder

    5.  This should create a .zip file with each of the .NET Framework 4 setup log files – take that .zip file and upload it to Skydrive

    Hopefully this will work.

  35. Dennis says:

    Thanks for the detailed directions. They helped a lot. You can go to my Skydrive account and find the zip file. I hope it works.

  36. astebner says:

    Hi Dennis – I downloaded your log files and I can see that the step in .NET Framework 4 setup that is supposed to update some OS components isn't working the way it should, and that is definitely going to cause the error message that you are seeing.  I'm not entirely sure why that step isn't working though, so I'm trying to find someone with more expertise about this part of .NET Framework setup to help me figure that part out.

    In the meantime, do you also see any log files in your %temp% directory that start with the name dd_install?  If so, can you please upload those to your Skydrive site and reply back here with a link I can use to download them?

  37. Dennis says:

    Hi Astebner – I have looked through all the files and I do not see any that start with the name dd_install. There are some that start with dd_(and something else) but none with dd_install.

    Thank you for your efforts. I am encouraged that you did find what could cause the error message and look forward to hearing back again when you find help in figuring out how to resolve the issue. Thanks.

  38. Eric says:

    I know you are interested in MCE2005. It is worth noting that .Net Framework 4 breaks MCE 2005. The symptoms are that the guide downloads to 25% and then stops. If you try deleting the epg folder and starting again, it offers the selection of transmitters, which when selected, it then locks up. Uninstalling Framework 4 fixes the problem.

  39. astebner says:

    Hi Eric – I heard about a couple of issues during the .NET Framework 4 beta, but I haven't heard of any reports of problems with Media Center 2005 and the final release of the .NET Framework 4 until now.  If you have a chance, I'd suggest posting a bug on the Connect site at connect.microsoft.com/visualstudio so the .NET Framework team can investigate further in the future.

  40. astebner says:

    Hi Dennis – Which files do you have on your computer that begin with dd_?

  41. Eric says:

    Thanks Aaron. I've done that, but I think I'll just not install it for the moment. At some point in the near future, I'll upgrade to Windows 7, but my MCE2005 has been so good, I'm happy just chuntering along with it for the moment 🙂

  42. Dennis says:

    Hi Astebner – Here is the list of files that begin with dd_.

    dd_ATL80SP1

    dd_Bits

    dd_dotNetFx40

    dd_TMP1DCE.tmp_Compression_Log

    dd_VCREDISTUI1501

    dd_VCREDISTMSI1501

    dd_wcf_CA_SMCi_

    dd_SETUPUTILITY

    Thanks, Dennis

  43. astebner says:

    Hi Dennis – If possible, could you please zip and upload all of these files to your Skydrive site as well so I can take a quick look?

  44. astebner says:

    Hi Dennis – There are a couple of other things I'd like to ask for here as well:

    1.  Can you please go to c:windowslogscbs and make a copy of the file cbs.log, then paste it to your desktop.  After that, right-click on the file and choose Send To, Compressed (zipped) file, and create a zip file for it and upload that to your Skydrive site.

    2.  Can you please make a zip file for c:windowswindowsupdate.log and upload that as well?

    3.  Can you please go to c:windowssystem32, find the file named kernel32.dll, right-click on it, choose Properties, then click Details and let me know what the full file version is for that file?

  45. Dennis says:

    Hi Astebner – I am sorry I have not been back to you sooner. I have just uploaded the files you requested to my Skydrive site. These are the ones you asked for 6 Sep 2010 4:19 PM. I will now attempt to work on the list of the three items you requested 6 Sep 2010 5:04 PM. Thanks.

  46. Dennis says:

    Hi Astebner – I have uploaded the zip files to my Skydrive site as you requested in the first two items on the above list. As for number three, the file version is 6.1.7600.16385

    Thanks

  47. astebner says:

    Hi Dennis – I got the WindowsUpdate.log, but the CBS.log isn't the actual log, it is just a shortcut.  Can you please make sure that you copy the full log to your desktop before you zip it?

    Also, can you please go to c:windowssystem32, find the file named kernel32.dll, right-click on it, choose Properties, then click Details and let me know what the full file version is for that file on your computer?

  48. Dennis says:

    Hi Astebner – I have returned to find the full file version under details and the file version is as I submitted above: 6.1.7600.16385. Please tell me if I am doing it wrong. Under details it says: "file version 6.1.7600.16385".

    I will go back and try to have the full log: CBS.log at my Skydrive site ASAP.

  49. Dennis says:

    Hi Astebner – I have placed the full CBS.log at the Skydrive site.

  50. astebner says:

    Hi Dennis – Thanks for posting the logs.  The version number for kernel32.dll looks correct to me.  It looks like your computer is having trouble installing all OS updates that have been attempted over the past few months.  Your last attempt to install the .NET Framework 4 happened before the last entries in your CBS and WindowsUpdate log files though, so there isn't any error information related to the .NET Framework in those logs.  Would it be possible for you to try to uninstall + re-install the .NET Framework 4 one more time and then post updated versions of your CBS.log and WindowsUpdate.log to your SkyDrive site for us to look at?

  51. Dennis says:

    Hi Astebner – I have just now finished uninstalling and re-installing the .Net Framework 4 on my computer. Shortly after that I noticed a window open up that I have seen occasionally. It reads: "MONITOR OF TOSHIBA REALTIME HAS STOPPED WORKING. A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available". It has appeared many times before together with the error notice for the .Net Framework.

    I will now go ahead and post the updated logs to my skydrive site and will let you know when I have that done. Thanks.

  52. Dennis says:

    Hi Astebner – I have the CBS file on my desk top but when I try to zip it, I get a message "file not found or no read permission". Any advice?

  53. astebner says:

    Hi Dennis – Are you sure you copied the file to your desktop and not a shortcut?  How did you zip and post that file last time?

    Also, if you can't get that one to work, can you please post the updated WindowsUpdate.log anyways?  I think the most useful information to try to narrow this down will be in that file, and I was just asking for cbs.log as well just in case.

  54. Dennis says:

    Hi Astebner – The WindowsUpdate zip is now in my Skydrive under log files. I hope you can find it. If not, let me know and I will try again. Thanks

  55. Dennis says:

    Hi Astebner – I tried to copy the cbs.log again but was told is was "empty". Maybe I have deleted the file. Not sure what happened. Can you advise me how to fix this? Thanks.

  56. astebner says:

    Hi Dennis – I was able to download your WindowsUpdate log and I'm working with the .NET Framework setup team to see if there is anything they can figure out from that.  Would it be possible for you to contact me by using the email form at blogs.msdn.com/…/contact.aspx so I can ask you a couple of follow up questions?

  57. Dennis says:

    Hi Astebner – I sent a message using your email form. Thanks.

  58. Carlos Eduardo says:

    Tks for the post!!

    iis are the best.. i was can uninstall NetFramework 4 now ^^

    rly tks 😀

  59. Digo says:

    Hi Aaron,

    I recently updated my computer with windoes updates (may have included a .net framework update) and I think they caused an error with my windows 7, as after restarting I got a popup stating a framework dll file was missing and the error box would not go away and kept coming back everytime I clicked ok.

    I also started to get the Blue screen of death after restarting and entering in my windows password. My computer rolled back and after logging on I noticed Windows Live messenger didnt work (when opened it opened a window which was just balck), windows media player also wont play videos and my sound seems to have dissapeared (checked device manager and everything seems fine and sound drivers are ok and say 2008 so were not updated recently) I tried to uninstall the net framework 4 from the control panel and as I couldnt as it game me an error about missing files, i reinstalled the framework 4 standalone installer.

    Yet still have problems with MSN, Media player and Sound, but no more errors.

    Is this something that the Net famework could have done. (I checked for viruses by 2 different scanners, nothing found).

  60. astebner says:

    Hi Digo – I'm not sure if these problems could be caused by the .NET Framework or not.  The application errors are possible, but I don't recall seeing the .NET Framework cause OS blue screens in the past.  Typically, that type of crash is caused by driver problems.

    I'd suggest using steps like the ones listed at blogs.msdn.com/…/how-to-repair-the-net-framework-2-0-and-3-0-on-windows-vista.aspx to repair the versions of the .NET Framework that come with your OS (Windows 7 comes with the .NET Framework 2.0 SP2, 3.0 SP2 and 3.5 SP1).  It might also help to install the .NET Framework 4 from http://www.microsoft.com/…/details.aspx.

    I'd also suggest checking on the web site for the manufacturer of your sound card to see if they have any updated drivers for Windows 7 that you can try installing to fix the audio issue.  Windows 7 shipped in the fall of 2009, so if you have a driver from 2008, it would have been created before Windows 7 shipped.

  61. Digo says:

    Hi Aaron,

    Thanks for replying, I have found the cause of the Blue screen of death and it was indeed a driver problem with the readyboost.sys driver. I also downloaded the standalone installer and it seemed to install fine without any problems. I also checked framework with the framework checker tool thats posted on the site and everything seemed fine.

    Yet I'v still got the problem with my Windows live messenger and sound, the sound was working fine before so it cant be a driver issue, but I did just incase uninstall the drier and then ask windows to search for the best driver again.

    I also ran the SFC tool and it found errors and fixed them, however it did say some were unable to be fixed. I have the log and will work with the links you posted to see what I can do.

  62. astebner says:

    Hi Digo – There is a knowledge base article at support.microsoft.com/…/928228 that explains how to analyze the log files created by SFC and try to fix this type of issue.  Hopefully this will help in your scenario.

  63. Laurence says:

    Hi Aaron. I have exactly the same problem as Dennis here above. I tried many fixes (uninstalling/reinstalling, repair…) but to no avail. In the log i'm told the mscoree dll could not be loaded and it is the version 2. So i'd be very interested to know whether you managed to fix this problem and how you managed to fix it. Thanks a lot.

  64. astebner says:

    Hi Laurence – It sounds like you're running into the issue that I described at blogs.msdn.com/…/10110053.aspx.  I don't have a lot of good answers about how to solve this type of issue though.  There is a tool linked at the end of that blog post that might help.  It might also help to try to install (or re-install) the latest OS service pack on your computer.

    If neither of those help, then I typically suggest contacting Microsoft technical support for more in-depth troubleshooting assistance using contact information at http://support.microsoft.com.  Alternatively, you can try to repair/re-install Windows.

  65. Laurence says:

    Thanks Aaron.

    I'll look at those blogs.

    Thanks for your help.

  66. Jassim says:

    Hi Aaron I tried applying graphics through skin using the way presented in this site msdn.microsoft.com/…/ykzx33wh.aspx

    I worked with asp .net 3.5 but with 4.0 I didn't work. When I viewed the page source I get

    <img id="image" src="App_Themes/test/Contoso.gif" style="border-width:0px;" />

    for asp.net 3.5

    and i get

    <img id="MainContent_Image1" ImagerUrl="~/images/Contoso.gif" src="" />

    for asp.net 4.0

    It seems asp.net 4.0 doesn't replace ImageUrl attribute with src when rendering

    My question is: do I have problem with asp.net 4.0 that I need to repair/reinstall or is it something else?

  67. astebner says:

    Hi Jassim – I don't have enough expertise with ASP.NET to know for sure what is going on in this scenario.  I'd suggest posting a question on the forums at http://forums.asp.net to see if someone there can provide some suggestions for this scenario.

  68. Jassim says:

    Thanks Aaron 😉

  69. Dave says:

    is there a way to install netframework 4 using a swtich to have it pass the admin credentials?

  70. astebner says:

    Hi Dave – There is not anything built into the .NET Framework installer for this type of thing.  It is the responsibility of the calling process to provide the credentials that you want to install the product with.

  71. Ganton says:

    Hi Aron i have a problem whit netframework4.I have it installed but it say that i need to install it.I have tryed re-install,uninstall…But i have problem whit verification.So what shall i do?

  72. Kate says:

    Hi Aaron, I have recently installed a game onto my computer (Sims Medieval) and it has installed successfully. However, when I click on the shortcut a message pops up on the screen saying: I need to install netframework4. I have tried many times to install it, but every time it says the installation was unsuccessful becasue'no signature was present in the subject'. I don't know what this means or how to solve this problem. Please help,   Thanks

  73. astebner says:

    Hi Ganton – If you haven't yet, I'd suggest using the cleanup tool and the steps described at blogs.msdn.com/…/8108332.aspx to fully remove the .NET Framework 4 and then try to re-install it and see if that helps in this scenario.

  74. astebner says:

    Hi Kate – Can you please use the tool described at blogs.msdn.com/…/6458047.aspx to collect all of your .NET Framework 4 setup log files, upload the file named %temp%vslogs.cab that this tool will create to a file server (such as http://skydrive.live.com) and then reply back here and post a link that I can use to download your log files and take a closer look?

  75. Ganton says:

    Aaron i have tryed it adn it isnt working.I got missing this files missing: WindowsMicrosoft.NETFrameworknetfxsbs12.hkf

    WindowsMicrosoft.NETFrameworksbscmp20_mscorlib.dll

    WindowsMicrosoft.NETFrameworkv4.0.30319WPFwpftxt_v0400.dll

    WindowsMicrosoft.NETFramework64v4.0.30319WPFWPFFontCache_v0400.exe

    WindowsMicrosoft.NETFramework64v4.0.30319WPFwpftxt_v0400.dll

  76. astebner says:

    Hi Ganton – Are these files being reported as missing by the .NET Framework verification tool?  If so, those should be listed as warnings and not errors, and it should be safe to ignore any reports about those files being missing from your computer.  Do you still see errors related to the .NET Framework 4 after uninstalling it and re-installing it on your computer?  If so, what are the exact errors?

  77. Kate says:

    Hi Aaron, thanks for being so helpful, but i've managed to fix the problem – Windows hadn't been installing the right updates.

  78. Ganton says:

    Yes i got those files as waring.And i still got error.And here is link for SS.See post where it say "Evo SS." and click the picture.http://www.bug.hr/…/101799.aspx

  79. Ganton says:

    Sorry for double post but i am not geting any updates for net framework on windows update.Maybe thats the problem?

  80. astebner says:

    Hi Ganton – If you are having problems getting .NET Framework updates, then you might be running into the issue that I described at blogs.msdn.com/…/10110053.aspx.  To confirm that, can you check and see what the version number is for the file mscoree.dll on your computer?

  81. Ganton says:

    Hi Aaron-my mscoree.dll wont updtae to 4.0.So what shall i do?Shall i re-install windows 7 ?

  82. astebner says:

    Hi Ganton – I'd suggest trying the System Update Readiness Tool that is linked in that other blog post.  If that doesn't help, then the only way I know of to solve this type of issue is to repair/re-install Windows.

  83. Command Arguments the same for use with custom bootstrapper? says:

    I've created a custom bootstrapper using the custom bootstrapper generator and have tried all forms  of /q /passive and no matter what I get the security warning for the dotnetfx_full_x86_x64.exe. Is there any way to bypass this dialogue?

  84. astebner says:

    Hi Command Arguments the same for use with custom bootstrapper – What version of the bootsrapper and Visual Studio are you using?  There is a built-in bootstrapper package for the .NET Framework 4 in Visual Studio 2010, so I'd suggest using that if possible.

    If you're using a pre-2010 version of Visual Studio, then I'm not sure it is going to be possible to suppress that security warning.  If it is the one that I'm thinking of, it is the elevation prompt on Windows Vista and Windows 7.  Silent install command line switches do not allow you to bypass that type of warning (because otherwise, any malware and virus could install themselves behind the scenes by doing things like that).  Instead, it is up to the calling process to make sure that it has elevated permissions before trying to run a child process that requires elevation.

  85. Randy says:

    Not sure if my post made it in… so I will send it again.  I am wondering about installing .Net 3.5 on a machine that already has .Net 4.0 installed.  Should I uninstall 4.0 first and then reinstall after installing 3.5 or is it OK to install 3.5 with 4.0 already installed?

    Thanks,

  86. astebner says:

    Hi Randy – The .NET Framework 4 is designed to allow you to install it and run it side-by-side with other versions of the .NET Framework.  There is no need to uninstall the .NET Framework 4 before trying to install the .NET Framework 3.5.

  87. Unattended without cancel button says:

    Sometimes you want to show a user progress (so they don't turn it off) but nto let them cancel it.

    For msi's you can use /qb! instead of just /qb

    I can't find a way to do this with dotnet4 or its updates!

  88. astebner says:

    Hi Unattended without cancel button – There is not a way to do that with teh .NET Framework 4 installer.  If you need to suppress the cancel button in your scenarios, you will have to write your own wrapper UI and use a technique like the one at technet.microsoft.com/…/ff859983 to register for progress messages.

  89. Doug_Ivison says:

    Hi, Aaron — thanks much for posting this.

    SUMMARY:  Where can we get NetFx_DTP.msi?  

    This is the file that "Repair" is asking for, when attempting to

    repair "Microsoft .NET Framework 4 Multi-Targeting Pack",

    from within control panel / programs / programs and features / right-click, "Repair".

    I searched my hard disc (on a Server 2008 system) for "net*.msi", and searched the install discs for Windows Server 2008, Visual Studio 2008, and Visual Studio .NET, but do not see this file, that control panel's "Repair" is asking for.

    Thanks much,

    — Doug Ivison

  90. astebner says:

    Hi Doug_Ivison – The multi-targeting pack is installed as a part of Visual Studio 2010.  If it is complaining about a missing MSI file, you might need to uninstall that component and then repair Visual Studio 2010 to get the multi-targeting pack to successfully repair on your computer.

  91. Doug_Ivison says:

    Hi, Aaron — thanks for the reply, and the suggestion!  

    SUMMARY:  the suggestion did not fix it… but I might be ok:  

    our other servers do not even show "Microsoft .NET Framework 4 Multi-Targeting Pack" on their installed-programs lists, so I'm hoping I do not need this.  

    (The other servers only show "Client Profile" and "Extended".)

    WHY I'VE BEEN PURSUING THIS:  a security update for .NET Framework 4, on Windows Update last week, hung on that server for over 12 hours, and "Microsoft .NET Framework 4 Multi-Targeting Pack" turned out to need repair.

    MY REMAINING QUESTIONS:

    1) I've been pursuing this because it was HANGING UP THE SERVER'S WINDOWS UPDATE.  Is it valuable to have the multi-targeting pack?… or is it enough to uninstall it?

    2) If it *is* worthwhile installing it, could I download one of the versions I found at this link, and if so, which version?  4.0.2?:  

    http://www.microsoft.com/…/search.aspx

    (((

    (In case it helps anything…) DETAIL OF WHAT I DID, FOLLOWING YOUR SUGGESTION:  

    — Since we did not have Visual Studio 2010 (our website application vendor didn't promise support past VS2008), I started by downloading & installing Visual Studio 2010 Web Developer Express.  I then:  

    — uninstalled "Microsoft .NET Framework 4 Multi-Targeting Pack"

    — selected "Repair" (in control panel programs&features), for Visual Studio

    ——- (hourglass for about 15 seconds, no message).

    ——- (no effect:  no reappearance of ".NET Framework 4 Multi-Targeting Pack").

    — tried re-running the VisStudio2010WebDevExpress install (vwd.exe), which did install.

    ——- (still no effect:  no reappearance of the Multi-Targeting Pack).

    )))

    Again, THANKS VERY MUCH,

    — Doug

  92. astebner says:

    Hi Doug_Ivison – The multi-targeting pack is only needed when developing .NET Framework applications in Visual Studio.  You should not need it in any other cases.  It is installed as a part of up-level Visual Studio 2010 editions (such as Professional, Premium or Ultimate).  It is n't installed as a part of the VS 2010 Express Editions because those editions don't support multi-targeting functionality.  The multi-targeting pack is a separate product from the .NET Framework runtime, and it shouldn't be able to interfere with the installation of any .NET Framework updates, so I'm not sure how it would have caused .NET Framework 4 security updates to hang like you are describing.

  93. Doug_Ivison says:

    Hi, Aaron — thanks again for your comments.  

    First, thanks for clarifying the applicability of .NET Framework 4.  

    A consultant that works alot with our web development environment says that our web development environment is not yet using .NET Framework 4,

    but it does use .NET Framework 3.5.

    So, long story short:  I will probably uninstall .NET Framework 4 for now, so we stop having problems with Windows Update

    (unless you have better suggestions — which would be welcome).  

    Second, giving you more detail:  the server in question had a problem before:  back in October, Windows Update hung on an update to .NET Framework 4.  (Then, the solution had been to download the update as a package… but that didn't work this time.)  About a week before that problem, that server had the Net-Worm.Win32.Morto.c, successfully removed.  So, this all may be related to that worm.  

    Thirdly, note:  when I've had problems "Repair"ing, the prompt has pointed to a folder in someone's "My Documents", for a logon for a person that no longer works here, to a folder that doesn't exist… so it looks like he installed from his personal logon, and possibly the installer files' folder was deleted since then.  

    In any case, you were right:  uninstalling the multi-targeting pack did not help.  

    And your links, to downloads, have been very helpful — thank you.  

    (((

    In case there's still hope :), details since my last comment:  

    I tried Repairing "to original settings" .NET Fw 4 Extended and Client Profile, thru control panel's Uninstall/Change feature…

    But when that didn't stop the Windows Update hanging,

    I ended up un-installing .NET Framework 4 Extended, and .NET Framework 4 Client Profile as well, using the regular uninstall features in Control Panel.  

    I then used your links to stand-alones, to download and re-install.

    And, as intended, I ran Windows Update afterward…

    … however, as I write this, Windows Update is hung again — its progress bar is unchanged, since about 3 hours ago.  

    It's not even hung on the same update (since I unchecked the update it hung on before — KB2656351), but it is again hung on an update to .NET Framework 4.  

    (((

    Further detail:

    1)  After un-installing .NET Framework 4, control panel only showed Frameworks 1.0, 2.0, and 3.0 installed:  I did not see 3.5, and though I'm not sure, I don't think I ever saw 3.5 on the list.  So, after uninstalling 4, I installed 3.5, before reinstalling 4.

    2)  Of the 2 download links you provide, for 3.5, the first failed to install on my system.  The second download for 3.5 that you link to, for Framework 3.5 SP 1, installed successfully.

    3)  Framework 4 installed successfully.

    )))

    Comments?  Insights?  Laughter? 🙂

    thanks,

    — Doug

  94. astebner says:

    Hi Doug_Ivison – If you're seeing .NET Framework 4 updates hang or fail on your computer, then I'd suggest trying to use the cleanup tool and the steps listed at blogs.msdn.com/…/8108332.aspx to manually remove the .NET Framework 4, then re-install the .NET Framework 4 Full (which will install both client profile and extended).  After that, you can try to visit Windows Update again and see if it gives better results when installing .NET Framework 4 updates.

    Hopefully this helps.

  95. Jacob Owens says:

    I'm getting this error: "Microsoft.NETFrameworkv4.0.30319mscoreei.dll could not be loaded" and when I try downloading a different Microsoft .NET Framework, I get this error: ".NET Framework 4 has not been installed because: Fatal error during installion" Can anyone help me out on this concern and let me know what I can do to fix this annoying problem. Thanks.

  96. astebner says:

    Hi Jacob Owens – Can you please use the tool described at blogs.msdn.com/…/6458047.aspx to collect all of your setup log files, post the file named %temp%vslogs.cab that this tool will create to a file server (such as http://skydrive.live.com), and then reply back here and provide a link that I can use to download your log files and take a closer look?

  97. Jacob Owens says:

    How do I get a download link for those files.?

  98. astebner says:

    Hi Jacob Owens – If you are using SkyDrive, you can post a link to the folder that you uploaded vslogs.cabs to (from your browser's address bar), and I should be able to go to that folder and download the log files from there.

  99. Jacob owens says:

    OS Version Information:

    OS Version = 6.0.6001, Platform 2, Service Pack 1

    OS Description = Vista – x86 Home Basic Edition Service Pack 1

    OS Version Information

    Environment details:

    CommandLine = C:b7947815fafdc4a4433c2f6\Setup.exe /x86 /x64

    TimeZone = Eastern Standard Time

    Initial LCID = 1033

    Environment details

    Loading localized engine data for language 1033 from C:b7947815fafdc4a4433c2f61033LocalizedData.xml

    Entering Function: LocalizedData::CreateLocalizedData

    exiting function/method

    succeeded

    Entering Function: EngineData::CreateEngineData

    Current SetupVersion = 1.0

    SetupVersion specified in ParameterInfo.xml is '1.0'

    Adding Item type "Exe", local path SetupUtility.exe

    Adding Item type "MSI", local path RGB9RAST_x86.msi

    Adding Item type "MSI", local path RGB9RAST_x64.msi

    Adding Item type "ServiceControl", local path (not applicable)

    Adding Item type "ServiceControl", local path (not applicable)

    Adding Item type "ServiceControl", local path (not applicable)

    Adding Item type "ServiceControl", local path (not applicable)

    Adding Item type "File", local path Windows6.0-KB956250-v6001-x86.msu

    Adding Item type "Exe", local path Windows6.0-KB956250-v6001-x86.msu

    Adding Item type "File", local path Windows6.0-KB956250-v6001-x64.msu

    Adding Item type "Exe", local path Windows6.0-KB956250-v6001-x64.msu

    Adding Item type "File", local path Windows6.0-KB956250-v6001-ia64.msu

    Adding Item type "Exe", local path Windows6.0-KB956250-v6001-ia64.msu

    Adding Item type "File", local path Windows6.1-KB958488-v6001-x86.msu

    Adding Item type "Exe", local path Windows6.1-KB958488-v6001-x86.msu

    Adding Item type "File", local path Windows6.1-KB958488-v6001-x64.msu

    Adding Item type "Exe", local path Windows6.1-KB958488-v6001-x64.msu

    Adding Item type "File", local path Windows6.1-KB958488-v6001-ia64.msu

    Adding Item type "Exe", local path Windows6.1-KB958488-v6001-ia64.msu

    Adding Item type "Exe", local path SetupUtility.exe

    Adding Item type "File", local path netfx_Core.mzz

    Adding Item type "File", local path netfx_Core.mzz

    Adding Item type "File", local path netfx_Core.mzz

    Adding Item type "MSI", local path netfx_Core_x86.msi

    Adding Item type "MSI", local path netfx_Core_x86.msi

    Adding Item type "MSI", local path netfx_Core_x64.msi

    Adding Item type "MSI", local path netfx_Core_x64.msi

    Adding Item type "MSI", local path netfx_Core_ia64.msi

    Adding Item type "MSI", local path netfx_Core_ia64.msi

    Adding Item type "File", local path netfx_Extended.mzz

    Adding Item type "File", local path netfx_Extended.mzz

    Adding Item type "File", local path netfx_Extended.mzz

    Adding Item type "MSI", local path netfx_Extended_x86.msi

    Adding Item type "MSI", local path netfx_Extended_x86.msi

    Adding Item type "MSI", local path netfx_Extended_x64.msi

    Adding Item type "MSI", local path netfx_Extended_x64.msi

    Adding Item type "MSI", local path netfx_Extended_ia64.msi

    Adding Item type "MSI", local path netfx_Extended_ia64.msi

    Adding Item type "Exe", local path dotNetFx40LP_Full_x86en.exe

    Adding Item type "Exe", local path dotNetFx40LP_Full_x86_x64en.exe

    Adding Item type "Exe", local path dotNetFx40LP_Full_x86_ia64en.exe

    Adding Item type "Exe", local path SetupUtility.exe

    Adding Item type "Exe", local path SetupUtility.exe

    Adding Item type "Exe", local path SetupUtility.exe

    Adding Item type "ServiceControl", local path (not applicable)

    No ProcessBlock element

    No ServiceBlock element

    Disabled CommandLineSwitch added: createlayout

    Using Simultaneous Download and Install mechanism

    exiting function/method

    succeeded

    MaintenanceMode determination: evaluating EnterMaintenanceModeIf

    evaluating EnterMaintenanceModeIf:

    Or: evaluating

    Or: evaluating

    And: evaluating

    And: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    Exists: evaluating

    MsiGetProductInfo with product code {0A0CADCF-78DA-33C4-A350-CD51849B9702} found no matches

    Exists evaluated to false

    And evaluated to false

    Exists: evaluating

    Exists evaluated to true

    And evaluated to false

    And: evaluating

    And: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Exists: evaluating

    MsiGetProductInfo with product code {8E34682C-8118-31F1-BC4C-98CD9675E1C2} found no matches

    Exists evaluated to false

    And evaluated to false

    Exists: evaluating

    Exists evaluated to true

    And evaluated to false

    Or evaluated to false

    And: evaluating

    And: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Exists: evaluating

    MsiGetProductInfo with product code {394244F5-63DB-3B52-A1AB-3FF407A07E9B} found no matches

    Exists evaluated to false

    And evaluated to false

    Exists: evaluating

    Exists evaluated to false

    And evaluated to false

    Or evaluated to false

    MaintenanceMode determination evaluates to 'not in maintenance mode'

    Operation Type:

    Operation: Installing

    Operation Type

    Package details: Microsoft .NET Framework 4 Setup

    Package Name = Microsoft .NET Framework 4 Setup

    Package Version = 4.0.30319

    Package details

    User Experience Data Collection Policy:

    User Experience Data Collection Policy: Disabled

    User Experience Data Collection Policy

    Entering Function: UiDataT::CreateUiDataT

    Loading file – C:b7947815fafdc4a4433c2f6UiInfo.xml

    Add to schema collection schema file – C:b7947815fafdc4a4433c2f6SetupUi.xsd

    Successfuly found file C:b7947815fafdc4a4433c2f61033SetupResources.dll

    Successfuly found file C:b7947815fafdc4a4433c2f6Strings.xml

    exiting function/method

    succeeded

    Global Block Checks: Checking for global blockers

    BlockIf: Microsoft .NET Framework 4 is already a part of this operating system. You do not need to install the .NET Framework 4 redistributable. More information.

    Microsoft .NET Framework 4 is already a part of this operating system. You do not need to install the .NET Framework 4 redistributable. More information.

    evaluating BlockIf:

    Equals: evaluating

    RegKeyValue: HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4FullCBS does NOT exist.

    returning BoolWhenNonExistent's value: false

    Equals evaluated to false

    BlockIf evaluated to false

    BlockIf: Same or higher version of .NET Framework 4 has already been installed on this computer.

    Same or higher version of .NET Framework 4 has already been installed on this computer.

    evaluating BlockIf:

    And: evaluating

    LessThanOrEqualTo: evaluating

    RegKeyValue: HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv4FullVersion does NOT exist.

    returning BoolWhenNonExistent's value: false

    LessThanOrEqualTo evaluated to false

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to true

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: The setup cannot run in compatibility mode. For more information, see the Readme file.

    The setup cannot run in compatibility mode. For more information, see the Readme file.

    evaluating BlockIf:

    Exists: evaluating

    Not In OS Compatability Mode

    Exists evaluated to false

    BlockIf evaluated to false

    BlockIf: Microsoft .NET Framework 4 is already a part of this operating system, but it is currently turned off. To enable the .NET Framework 4, use Turn Windows features on or off in Control Panel. More information.

    Microsoft .NET Framework 4 is already a part of this operating system, but it is currently turned off. To enable the .NET Framework 4, use Turn Windows features on or off in Control Panel. More information.

    evaluating BlockIf:

    Equals: evaluating

    RegKeyValue: HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupOS Integrationv4 does NOT exist.

    returning BoolWhenNonExistent's value: false

    Equals evaluated to false

    BlockIf evaluated to false

    BlockIf: You do not have sufficient privileges to complete this operation for all users of this computer. Log on as an administrator and rerun Setup.

    You do not have sufficient privileges to complete this operation for all users of this computer. Log on as an administrator and rerun Setup.

    evaluating BlockIf:

    Not: evaluating

    Exists: evaluating

    IsAdministrator: IS a member of the Administrators group

    Exists evaluated to true

    Not evaluated to false

    BlockIf evaluated to false

    BlockIf: The .NET Framework 4 Client Profile and the .NET Framework 4 Extended must be removed separately. Please use Control Panel to uninstall these programs. For more information, see the Readme file.

    The .NET Framework 4 Client Profile and the .NET Framework 4 Extended must be removed separately. Please use Control Panel to uninstall these programs. For more information, see the Readme file.

    evaluating BlockIf:

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to false

    BlockIf evaluated to false

    BlockIf: Setup cannot continue because a previous installation requires your computer to be restarted. Please restart your computer and rerun Setup.

    Setup cannot continue because a previous installation requires your computer to be restarted. Please restart your computer and rerun Setup.

    evaluating BlockIf:

    And: evaluating

    And: evaluating

    Exists: evaluating

    RebootPending: No reboot pending

    Exists evaluated to false

    Or: evaluating

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to true

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to false

    Or evaluated to true

    And evaluated to false

    Not: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to false

    Exists: evaluating

    Exists evaluated to false

    Or evaluated to false

    Not evaluated to true

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: You cannot use this setup program to install the .NET Framework. For more information, see the Readme file.

    You cannot use this setup program to install the .NET Framework. For more information, see the Readme file.

    evaluating BlockIf:

    Not: evaluating

    Or: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to true

    Exists: evaluating

    Exists evaluated to true

    Or evaluated to true

    Exists: evaluating

    Exists evaluated to false

    Or evaluated to true

    Not evaluated to false

    BlockIf evaluated to false

    BlockIf: This setup program requires IA64 or x86 computer. It cannot be installed on x64 computer. For more information, see the Readme file.

    This setup program requires IA64 or x86 computer. It cannot be installed on x64 computer. For more information, see the Readme file.

    evaluating BlockIf:

    And: evaluating

    And: evaluating

    Or: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to true

    Exists: evaluating

    Exists evaluated to true

    Or evaluated to true

    Exists: evaluating

    Exists evaluated to false

    Or evaluated to true

    And: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not: evaluating

    Or: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    Or evaluated to true

    Not evaluated to false

    And evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: This setup program requires x64 or x86 computer. It cannot be installed on IA64 computer. For more information, see the Readme file.

    This setup program requires x64 or x86 computer. It cannot be installed on IA64 computer. For more information, see the Readme file.

    evaluating BlockIf:

    And: evaluating

    And: evaluating

    Or: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to true

    Exists: evaluating

    Exists evaluated to true

    Or evaluated to true

    Exists: evaluating

    Exists evaluated to false

    Or evaluated to true

    And: evaluating

    Exists: evaluating

    Exists evaluated to true

    Not: evaluating

    Or: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    Or evaluated to true

    Not evaluated to false

    And evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: This setup program requires an x86 computer. It cannot be installed on x64 or IA64 computers. For more information, see the Readme file.

    This setup program requires an x86 computer. It cannot be installed on x64 or IA64 computers. For more information, see the Readme file.

    evaluating BlockIf:

    And: evaluating

    Or: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to true

    Exists: evaluating

    Exists evaluated to true

    Or evaluated to true

    Exists: evaluating

    Exists evaluated to false

    Or evaluated to true

    Not: evaluating

    Or: evaluating

    Or: evaluating

    Exists: evaluating

    Exists evaluated to false

    Exists: evaluating

    Exists evaluated to true

    Or evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    Or evaluated to true

    Not evaluated to false

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: The .NET Framework 4 is not supported on this operating system. For more information, see the Readme file.

    The .NET Framework 4 is not supported on this operating system. For more information, see the Readme file.

    evaluating BlockIf:

    And: evaluating

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to true

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: The .NET Framework 4 is not supported on this operating system. For more information, see the Readme file.

    The .NET Framework 4 is not supported on this operating system. For more information, see the Readme file.

    evaluating BlockIf:

    And: evaluating

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to true

    Equals: evaluating

    RegKeyValue: HKLMSOFTWAREMicrosoftWindows NTCurrentVersionInstallationType does NOT exist.

    returning BoolWhenNonExistent's value: false

    Equals evaluated to false

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: Cannot install the .NET Framework 4. Other applications on your computer are not compatible with this program. For more information, see Release Notes.

    Cannot install the .NET Framework 4. Other applications on your computer are not compatible with this program. For more information, see Release Notes.

    evaluating BlockIf:

    And: evaluating

    Equals: evaluating

    Current Operation value is Installing

    Equals evaluated to true

    Or: evaluating

    Equals: evaluating

    RegKeyValue: HKLMSOFTWAREMicrosoft.NETFrameworkv4.0FullSBSDisabledInstall does NOT exist.

    returning BoolWhenNonExistent's value: false

    Equals evaluated to false

    Equals: evaluating

    RegKeyValue: HKLMSOFTWAREMicrosoft.NETFrameworkv4.0CoreSBSDisabledInstall does NOT exist.

    returning BoolWhenNonExistent's value: false

    Equals evaluated to false

    Or evaluated to false

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: You must install the 32-bit Windows Imaging Component (WIC) before you run Setup. Please visit the Microsoft Download Center to install WIC, and then rerun Setup.

    You must install the 32-bit Windows Imaging Component (WIC) before you run Setup. Please visit the Microsoft Download Center to install WIC, and then rerun Setup.

    evaluating BlockIf:

    And: evaluating

    And: evaluating

    Or: evaluating

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    And evaluated to false

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    And evaluated to false

    Or evaluated to false

    GreaterThan: evaluating

    FileVersion for C:Windowssystem32windowscodecs.dll is 6.0.6001.22253

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    And evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to false

    BlockIf evaluated to false

    BlockIf: You must install the 64-bit Windows Imaging Component (WIC) before you run Setup. Please visit the Microsoft Download Center to install WIC, and then rerun Setup.

    You must install the 64-bit Windows Imaging Component (WIC) before you run Setup. Please visit the Microsoft Download Center to install WIC, and then rerun Setup.

    evaluating BlockIf:

    And: evaluating

    And: evaluating

    Or: evaluating

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    And evaluated to false

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    And evaluated to false

    Or evaluated to false

    GreaterThan: evaluating

    FileVersion for C:Windowssystem32windowscodecs.dll is 6.0.6001.22253

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    And evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    BlockIf evaluated to false

    Global Block Checks no blocking conditions found

    OpenFileMapping fails with last error: 6

    The handle to the section is Null

    OpenFileMapping fails with last error: 6

    The handle to the section is Null

    Successfuly found file C:b7947815fafdc4a4433c2f61033EULA.rtf

    Applicability for Installing: evaluating each item

    Determining state: of C:b7947815fafdc4a4433c2f6SetupUtility.exe

    evaluating ApplicableIf:

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    evaluating IsPresent:

    returning false

    Determining state of C:b7947815fafdc4a4433c2f6SetupUtility.exe – available but not verified yet

    evaluating IsPresent:

    returning false

    Determining state: of C:b7947815fafdc4a4433c2f6RGB9RAST_x86.msi

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to false

    GreaterThan: evaluating

    No FileVersion found for C:Windowssystem32rgb9rast_2.dll

    returning BoolWhenNonExistent's value: true

    GreaterThan evaluated to true

    And evaluated to false

    Determining state of C:b7947815fafdc4a4433c2f6RGB9RAST_x86.msi – not applicable

    Determining state: of C:b7947815fafdc4a4433c2f6RGB9RAST_x64.msi

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThanOrEqualTo evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    GreaterThan: evaluating

    No FileVersion found for C:Windowssystem32rgb9rast_2.dll

    returning BoolWhenNonExistent's value: true

    GreaterThan evaluated to true

    And evaluated to false

    Determining state of C:b7947815fafdc4a4433c2f6RGB9RAST_x64.msi – not applicable

    Determining state: of clr_optimization_v2.0.50727_32

    evaluating ApplicableIf:

    Exists: evaluating

    FileVersion for C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorsvw.exe is 2.0.50727.3053

    Exists evaluated to true

    evaluating IsPresent:

    returning false

    Determining state of clr_optimization_v2.0.50727_32 – payload not required for this item to perform action.

    Determining state: of clr_optimization_v2.0.50727_64

    evaluating ApplicableIf:

    And: evaluating

    Or: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Or evaluated to false

    Exists: evaluating

    FileVersion for C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorsvw.exe is 2.0.50727.3053

    Exists evaluated to true

    And evaluated to false

    Determining state of clr_optimization_v2.0.50727_64 – not applicable

    Determining state: of clr_optimization_v4.0.30319_32

    evaluating ApplicableIf:

    Exists: evaluating

    No FileVersion found for C:WindowsMicrosoft.NETFrameworkv4.0.30319mscorsvw.exe

    Exists evaluated to false

    Determining state of clr_optimization_v4.0.30319_32 – not applicable

    Determining state: of clr_optimization_v4.0.30319_64

    evaluating ApplicableIf:

    And: evaluating

    Or: evaluating

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    Or evaluated to false

    Exists: evaluating

    No FileVersion found for C:WindowsMicrosoft.NETFrameworkv4.0.30319mscorsvw.exe

    Exists evaluated to false

    And evaluated to false

    Determining state of clr_optimization_v4.0.30319_64 – not applicable

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x86.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    Determining state of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x86.msu – not applicable

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x86.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    And: evaluating

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to true

    And evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to true

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to true

    evaluating IsPresent:

    returning false

    Determining state of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x86.msu – available but not verified yet

    evaluating IsPresent:

    returning false

    Determining state: of C:b7947815fafdc4a4433c2f6SetupUtility.exe

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    And: evaluating

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to true

    And evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to true

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to true

    evaluating IsPresent:

    returning false

    Determining state of C:b7947815fafdc4a4433c2f6SetupUtility.exe – available but not verified yet

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x64.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    Determining state of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x64.msu – not applicable

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x64.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    And: evaluating

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to true

    And evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    Determining state of C:b7947815fafdc4a4433c2f6Windows6.0-KB956250-v6001-x64.msu – not applicable

    Determining state: of C:UsersPREFER~1AppDataLocalTempMicrosoft .NET Framework 4 Setup_4.0.30319Windows6.0-KB956250-v6001-ia64.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to false

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    Determining state of C:UsersPREFER~1AppDataLocalTempMicrosoft .NET Framework 4 Setup_4.0.30319Windows6.0-KB956250-v6001-ia64.msu – not applicable

    Determining state: of C:UsersPREFER~1AppDataLocalTempMicrosoft .NET Framework 4 Setup_4.0.30319Windows6.0-KB956250-v6001-ia64.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    And: evaluating

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    LessThanOrEqualTo evaluated to true

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to true

    And evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to false

    And evaluated to false

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to false

    Determining state of C:UsersPREFER~1AppDataLocalTempMicrosoft .NET Framework 4 Setup_4.0.30319Windows6.0-KB956250-v6001-ia64.msu – not applicable

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.1-KB958488-v6001-x86.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    GreaterThan: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

    GreaterThan evaluated to true

    Equals: evaluating

    TargetArchitecture is x86

    Equals evaluated to true

    And evaluated to true

    Not: evaluating

    Exists: evaluating

    Exists evaluated to false

    Not evaluated to true

    And evaluated to true

    evaluating IsPresent:

    returning false

    Determining state of C:b7947815fafdc4a4433c2f6Windows6.1-KB958488-v6001-x86.msu – available but not verified yet

    Determining state: of C:b7947815fafdc4a4433c2f6Windows6.1-KB958488-v6001-x86.msu

    evaluating ApplicableIf:

    And: evaluating

    And: evaluating

    And: evaluating

    LessThanOrEqualTo: evaluating

    TargetOS is 6.0.1

    all numeric characters – canonicalizing

  100. astebner says:

    Hi Jacob Owens – Can you please use the tool described at blogs.msdn.com/…/6458047.aspx to collect all of your setup log files, post the file named %temp%vslogs.cab that this tool will create to a file server (such as http://skydrive.live.com), and then reply back here and provide a link that I can use to download your log files and take a closer look?

  101. David says:

    I know this blog post hasn't been updated in a while but I can't help but notice the client version commands look identical to the full version. At least for the ones I compared.

    I have compared the unattended repair for Client and Full version (32 and 64bit) and they look identical.

    Just thought you might like to know.

    David

  102. astebner says:

    Hi David – The command lines in this post are correct.  The .NET Framework 4 repair process will figure out behind the scenes if it needs to repair the Client + Full packages or just the Client package.

  103. Ronald Barton says:

    Could you please post the command prompt info for a silent install for Framework 4??  The title of this article is "Silent install, repair and uninstall command lines for the .NET Framework 4" but I only see information for repairing and uninstalling… nothing on the aforementioned silent install besides a useless MSDN link.  

  104. astebner says:

    Hi Ronald Barton – The deployment guide contains the command line switches for silent install, so I opted to not duplicate that information in my blog post.  You can find the command line switches at msdn.microsoft.com/…/ee942965(v=VS.100).aspx.  The most common scenario that I have seen is to use /q and /norestart switches and then to have the calling process check the exit code from .NET Framework setup.  Exit code 0 means success with no reboot required, 3010 means success with a reboot required, and any other exit code means setup failed.

  105. Jeetendra says:

    Just use command prompt.

       C:WindowsMicrosoft.NETFramework64v4.0.30319aspnet_regiis -i

    .net 4.0 installed automatically.

  106. Hi Jeetendra – The .NET Framework 4 is installed as a part of Windows starting with Windows 8, but the command lines in this blog post still apply for the .NET Framework 4 on pre-Windows 8 PCs.

    The command line you listed does not repair the .NET Framework though.  The aspnet_regiis.exe tool is used to register ASP.NET applications with IIS, and you can find more details about what that tool does here – msdn.microsoft.com/…/k6h9cz8h(v=vs.100).aspx.