Installing .NET Framework 4.0, The "irarab fix" and Potential Dangers RRS feed

  • General discussion

  • I am posting this because I have offered 'irarab's fix (renaming the asembly directory) as part of a suggested way to get .NET Framework 4.0 installed after failed attempts. I had observed many reports of success using this technique, but I was unaware of the potential dangers involved.

    I was contacted by .NET Framework Team and advised that there are potential problems with the "irarab fix" and with use of the .NET Framework Cleanup Tool (which I have also suggested as part of solutions to .NET Framework install problems, except as a LAST RESORT.

    Here is the pertinent part of the communication from the .NET Framework Team:

    "An unsupported fix which solves a targeted issue today might be the cause of a new problem tomorrow when applied unconditionally on a large scale. Deleting/Renaming the assembly folder breaks all the applications which have installed assemblies to the GAC.  Depending on which assembly folder is being deleted it also deletes operating system files.  There is no easy way for the customer to get these back.  This issue is likely caused by a bad ACL on assembly\tmp folder. After installing updates, the ACL propagates to installed assembly folders in both 4.0 & legacy GAC.  If those updates were installed by WU or another user, the propagated ACL will prevent install of the same assembly by the current user.

    A work around would be to reset the ACL on GAC dirs.

    for /F %D in ('dir %WINDIR%\assembly %WINDIR%\Microsoft.NET\assembly /s /b /a:d') do takeown /F %D && icacls %D /reset /T"

    I apologize to all forum participants for this error on my part. I will not be recommending the "irarab fix" or use of the .NET Framework Cleanup Tool (except as a LAST Resort) in the future.

    Friday, April 6, 2012 3:52 AM

All replies

  • Hi,

    I have to say, you have been always helping people a lot here.  Thank you sharing the background information and, the workaround.

    best regards,

    Forrest Guo | MSDN Community Support | Feedback to manager

    Monday, April 9, 2012 2:47 AM
  • Hello,

    Thanks for sharing the error solution. I will definitely update my list for this.

    Monday, April 9, 2012 12:37 PM
  • Hi,

    Sorry if I misled anyone or caused any problems. Microsoft has to properly address this problem.

    Pvdg42, thank you for clearing this up.

    Tuesday, April 10, 2012 4:14 AM
  • Hi pddg42

    I'm trying to install .NET 4.0 in my computer (Windows 7.0 64) but the installation always rollbacks. I posted the log files in this FORUM and I was told that the cause of the mistakes is:

    09/23/12 13:47:06 DDSet_Error: Failure creating interface IAssemblyCache
    09/23/12 13:47:06 DDSet_Error: CreateAssemblyCache() returned -2147024703
    09/23/12 13:47:06 DDSet_Error: Error occurred while initializing fusion.
    Error 25003. Error occurred while initializing fusion.

    MSI (s) (E0!C8) [13:47:06:855]: Product: Microsoft .NET Framework 4 Client Profile -- Error 25003. Error occurred while initializing fusion.

    I was refer to your above  comment as a posible solution but I don't understand this computer wording

    for /F %D in ('dir %WINDIR%\assembly %WINDIR%\Microsoft.NET\assembly /s /b /a:d') do takeown /F %D && icacls %D /reset /T

    I went to the window assembly  directory through the command prompt dialog but I don't know what to do further. please explain how to do this


    Jose Navarro

    Friday, September 28, 2012 2:27 PM
  • Hello, Jose.

    To run the command correctly, do the following:

    1. Open a Windows Command Prompt *As Administrator*.

    2. Copy this command to the clipboard:

    for /F %D in ('dir %WINDIR%\assembly %WINDIR%\Microsoft.NET\assembly /s /b /a:d') do takeown /F %D && icacls %D /reset /T

    3. Click on the icon at the left of the Command Prompt window titlebar, then select Edit->Paste to paste the command to the prompt.

    4. Hit the Enter key.

    Note: you MUST open the Command Prompt window As Administrator, or the command will not work correctly.

    Friday, September 28, 2012 5:20 PM