Share via

.Net 4.6.1 Updates Fail on Windows 7 With Error 0x648

Anonymous
2016-07-21T09:41:49+00:00

Hi,

I am responsible for updating ~1200 Windows 7 PCs using WSUS, and recently I have observed that many PCs are failing to install .NET Framework 4.6.1 updates.  The error code returned is usually 648 (or 0x648), and looking into the update logs in %temp% it appears that the updates fail because the MSI evaluates the PC as having .NET 4.6, *not* 4.6.1 - which I base on errors such as the following which appear throughout the log:

MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

And this at the end:

Action: Performing actions on all Items

Entering Function: BaseMspInstallerT >::PerformAction

Action: Performing Install on MSP: E:\187bdc794e7836e489\NDP46-KB3164025.msp targetting Product: Microsoft .NET Framework 4.6

Patch (E:\187bdc794e7836e489\NDP46-KB3164025.msp) Install failed on product (Microsoft .NET Framework 4.6). Msi Log: 

MSI returned 0x648

Entering Function: MspInstallerT >::Rollback

Action Rollback changes

PerformMsiOperation returned 0x648

PerformMsiOperation returned 0x648

OnFailureBehavior for this item is to Rollback.

Action complete

Final Result: Installation failed with error code: (0x80070648), "Unknown property. " (Elapsed time: 0 00:00:04).

If I manually uninstall .NET I can then reinstall it (along with the failing updates) from WSUS and it correctly recognizes the .NET version:

Action: Performing actions on all Items

Entering Function: BaseMspInstallerT >::PerformAction

Action: Performing Install on MSP: E:\f21320ca521e301e4874ee\NDP46-KB3164025.msp targetting Product: Microsoft .NET Framework 4.6.1

Returning IDNO. INSTALLMESSAGE_USER [You must restart your system for the configuration changes made to Microsoft .NET Framework 4.6.1 to take effect. Click Yes to restart now or No if you plan to manually restart later.]

Patch (E:\f21320ca521e301e4874ee\NDP46-KB3164025.msp) Install succeeded on product (Microsoft .NET Framework 4.6.1) and requires reboot. Msi Log: 

Action 

PerformMsiOperation returned 0xBC2

PerformMsiOperation returned 0xBC2

Action: ServiceControl - Stop MSIServer

ServiceControl operation succeeded!

Action complete

Action complete

Final Result: Installation completed successfully with success code: (0x80070BC2), "The requested operation is successful. Changes will not be effective until the system is rebooted. " (Elapsed time: 0 00:00:30).

Unfortunately, the next month, any .NET 4.6.1 update will fail because it attempts to install to 4.6.  I have checked everything I can think of and can find no reference to 4.6 anywhere on the systems:

PSChildName                      Version        Release Product

-----------                      -------        ------- -------

v2.0.50727                       2.0.50727.5420                

v3.0                             3.0.30729.5420                

Windows Communication Foundation 3.0.4506.5420                 

Windows Presentation Foundation  3.0.6920.5011                 

v3.5                             3.5.30729.5420                

Client                           4.6.01055      394271  4.6.1  

Full                             4.6.01055      394271  4.6.1  

Client                           4.0.0.0                       

Can anyone suggest a way I might be able to fix this issue - or even troubleshoot it further?  I can provide any logs that are needed...

Thanks,

Tom

Windows for home | Previous Windows versions | Performance and system failures

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

11 answers

Sort by: Most helpful
  1. Anonymous
    2016-07-27T08:17:12+00:00

    Hi Jayant,

    Thanks again for your help with this - my testing time is a little limited at the moment, so I'm trying to work through the various suggestions in the different links and will let you know when that is complete!  So far, the only possibility I have found is that there are sometimes entries for .NET 4.6 install files under the HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted registry key.  However, when I have asked users to remove these values and retry the updates, it still gives the same error.

    There was previously a GPO active to install .NET 4.6 to some PCs, and it seems to be mostly these ones that now return the error.  Could it be that something is stuck in the registry as a result, and this is causing the clients to fail to determine the actual installed version of .NET (which is now definitely 4.6.1)?

    Thanks,

    Tom

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-07-23T02:38:56+00:00

    Hi Tom,

    Thank you for keeping us posted.

    I appreciate all your efforts in trying to fix this issue.

    There could be a possibility that this issue might have occurred due to corruption in .Net framework or it needs to be updated on the system.

    I would suggest you to try the following methods and check if it helps.

    Method 1:

    To diagnose the problem whether any third party program or application is causing the conflict, I would suggest you to try “clean boot” and check if it helps.

    Placing your system in “Clean Boot” state helps in identifying if any third party applications or startup items are causing the issue. You need to follow the steps from the article mentioned below to perform a Clean Boot.

    How to perform a “clean boot” in Windows, please follow the steps in the link provided below.

    http://support.microsoft.com/kb/929135/en-us

    Note: Refer "How to reset the computer to start normally after clean boot troubleshooting" to reset the computer to start as normal after troubleshooting.

    Try to reboot the system and check if it helps.

    If the issue persists, follow method 2          

    Method 2:

    Please refer to the article in the link given below and follow the steps and check if it helps.

    Troubleshooting Blocked .NET Framework Installations and Uninstallations.

    https://msdn.microsoft.com/en-us/library/hh925569(v=vs.110).aspx

    **Note:**This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

    How to back up and restore the registry in Windows

    For reference:

    You may refer to the following articles given below and check if that helps.

    Installing the .NET Framework

    https://msdn.microsoft.com/en-us/library/5a4x27ek(v=vs.110).aspx

    How to: Determine which .Net Framework Updates are installed

    https://msdn.microsoft.com/en-us/library/hh925567(v=vs.110).aspx

    **Note:**This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

    How to back up and restore the registry in Windows

    Microsoft .Net Framework Update required

    https://technet.microsoft.com/en-us/library/bb219038(v=exchg.80).aspx

    I hope this information is helpful.

    Please do let us know if you need any further assistance, we will be glad to assist you.

    Thank you.

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2016-07-22T14:37:13+00:00

    Also, if it helps, here is the result of a diff on the log files for a successful and unsuccessful update (these are both from my PC - the reference is the success log and the diff is the failure):

    Comparing files C:\PS\blut.txt and C:\PS\BLIT.TXT

    ***** C:\PS\blut.txt

    Environment details:

    CommandLine = E:\36f6fb3ab7f41ce4d626695acc146e\Setup.exe /q /norestart /chainingpackage NETFX45WUKB

    TimeZone = W. Europe Daylight Time

    ***** C:\PS\BLIT.TXT

    Environment details:

    CommandLine = E:\9ece86f08b260314c9a2a423e889c7\Setup.exe /q /norestart /chainingpackage NETFX45WUKB

    TimeZone = W. Europe Daylight Time

    *****

    ***** C:\PS\blut.txt

    Environment details 

    Loading localized engine data for language 1033 from E:\36f6fb3ab7f41ce4d626695acc146e\1033\LocalizedData.xml

    Entering Function: LocalizedData::CreateLocalizedData

    ***** C:\PS\BLIT.TXT

    Environment details 

    Loading localized engine data for language 1033 from E:\9ece86f08b260314c9a2a423e889c7\1033\LocalizedData.xml

    Entering Function: LocalizedData::CreateLocalizedData

    *****

    ***** C:\PS\blut.txt

    Exists: evaluating

    Failed to get context of product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    ***** C:\PS\BLIT.TXT

    Exists: evaluating

    MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    *****

    ***** C:\PS\blut.txt

    Applicability for Installing: evaluating each item

    Determining state: of E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp

    evaluating ApplicableIf:

    ***** C:\PS\BLIT.TXT

    Applicability for Installing: evaluating each item

    Determining state: of E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp

    evaluating ApplicableIf:

    *****

    ***** C:\PS\blut.txt

    Exists: evaluating

    Failed to get context of product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    ***** C:\PS\BLIT.TXT

    Exists: evaluating

    MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    *****

    ***** C:\PS\blut.txt

    Exists evaluated to false

    Determining state of E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp - available but not verified yet

    Determining state: of E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe

    Determining state of E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe - available but not verified yet

    Determining state: of MSIServer

    ***** C:\PS\BLIT.TXT

    Exists evaluated to false

    Determining state of E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp - available but not verified yet

    Determining state: of E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe

    Determining state of E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe - available but not verified yet

    Determining state: of MSIServer

    *****

    ***** C:\PS\blut.txt

    Exists: evaluating

    Failed to get context of product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    ***** C:\PS\BLIT.TXT

    Exists: evaluating

    MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    *****

    ***** C:\PS\blut.txt

    Exists: evaluating

    Failed to get context of product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    ***** C:\PS\BLIT.TXT

    Exists: evaluating

    MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    *****

    ***** C:\PS\blut.txt

    Exists: evaluating

    Failed to get context of product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    ***** C:\PS\BLIT.TXT

    Exists: evaluating

    MsiDeterminePatchSequence failed for product code {94A631D5-B30A-3DD8-B65C-1117C09DA73E}, error: 1605

    MsiXmlBlob: this patch is applicable

    *****

    ***** C:\PS\blut.txt

    Action: Disk space check for items being downloaded

    Drive:[C:] Bytes Needed:[2064386] Bytes Available:[43833106432]

    Action complete

    ***** C:\PS\BLIT.TXT

    Action: Disk space check for items being downloaded

    Drive:[C:] Bytes Needed:[2064386] Bytes Available:[43585937408]

    Action complete

    *****

    ***** C:\PS\blut.txt

    Action: Downloading and/or Verifying Items

    Verifying Digital Signatures: E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp

    E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp: Verifying signature for NDP46-KB3164025.msp

    Signature verified, verifying signer

    E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp - Signature verified successfully for NDP46-KB3164025.msp

    E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp Signature verified successfully for NDP46-KB3164025.msp

    Signature verification succeeded for NDP46-KB3164025.msp

    File E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp, locked for install. 

    Verifying Digital Signatures: E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp Success

    Verifying Digital Signatures: E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe

    E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe: Verifying signature for SetupUtility.exe

    Signature verified, verifying signer

    E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe - Signature verified successfully for SetupUtility.exe

    E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe Signature verified successfully for SetupUtility.exe

    Signature verification succeeded for SetupUtility.exe

    File lock postponed for E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe.

    Verifying Digital Signatures: E:\36f6fb3ab7f41ce4d626695acc146e\SetupUtility.exe Success

    Action complete

    ***** C:\PS\BLIT.TXT

    Action: Downloading and/or Verifying Items

    Verifying Digital Signatures: E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp

    E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp: Verifying signature for NDP46-KB3164025.msp

    Signature verified, verifying signer

    E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp - Signature verified successfully for NDP46-KB3164025.msp

    E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp Signature verified successfully for NDP46-KB3164025.msp

    Signature verification succeeded for NDP46-KB3164025.msp

    File E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp, locked for install. 

    Verifying Digital Signatures: E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp Success

    Verifying Digital Signatures: E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe

    E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe: Verifying signature for SetupUtility.exe

    Signature verified, verifying signer

    E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe - Signature verified successfully for SetupUtility.exe

    E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe Signature verified successfully for SetupUtility.exe

    Signature verification succeeded for SetupUtility.exe

    File lock postponed for E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe.

    Verifying Digital Signatures: E:\9ece86f08b260314c9a2a423e889c7\SetupUtility.exe Success

    Action complete

    *****

    ***** C:\PS\blut.txt

    Exists evaluated to false

    evaluating IsPresent:

    returning false

    calling PerformAction on an installing performer

    ***** C:\PS\BLIT.TXT

    Exists evaluated to false

    calling PerformAction on an installing performer

    *****

    ***** C:\PS\blut.txt

    Entering Function: BaseMspInstallerT >::PerformAction

    Action: Performing Install on MSP: E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp targetting Product: Microsoft .NET Fra

    mework 4.6.1

    Successfully called MsiEnableLog with log file set to C:\Users\T142C~1.WOO\AppData\Local\Temp\KB3164025_20160722_133824307-Micr

    osoft .NET Framework 4.6.1-MSP0.txt

    Log File C:\Users\T142C~1.WOO\AppData\Local\Temp\KB3164025_20160722_133824307-Microsoft .NET Framework 4.6.1-MSP0.txt does not 

    yet exist but may do at Watson upload time

    about to call MsiInstallProduct with PATCH="E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp" on product {BD6F5371-DAC1-30

    F0-9DDE-CAC6791E28C3}(C:\Windows\Installer\3372b.msi) to install patches.

    Returning IDNO. INSTALLMESSAGE_USER [You must restart your system for the configuration changes made to Microsoft .NET Framewor

    k 4.6.1 to take effect. Click Yes to restart now or No if you plan to manually restart later.]

    Patch (E:\36f6fb3ab7f41ce4d626695acc146e\NDP46-KB3164025.msp) Install succeeded on product (Microsoft .NET Framework 4.6.1) and

     requires reboot. Msi Log: 

    MSI returned 0xBC2: ERROR_SUCCESS_REBOOT_REQUIRED

    Action 

    PerformMsiOperation returned 0xBC2

    exiting function/method

    PerformMsiOperation returned 0xBC2

    Item Requested Reboot.

    Wait for Item (MSIServer) to be available

    MSIServer is now available to install

    Creating new Performer for ServiceControl item

    Action: ServiceControl - Stop MSIServer

    ServiceControl operation succeeded!

    Action complete

    Error 0 is mapped to Custom Error: 

    Action complete

    Final Result: Installation completed successfully with success code: (0x80070BC2), "The requested operation is successful. Chan

    ges will not be effective until the system is rebooted. " (Elapsed time: 0 00:00:26).

    ***** C:\PS\BLIT.TXT

    Entering Function: BaseMspInstallerT >::PerformAction

    Action: Performing Install on MSP: E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp targetting Product: Microsoft .NET Fra

    mework 4.6

    Successfully called MsiEnableLog with log file set to C:\Users\T142C~1.WOO\AppData\Local\Temp\KB3164025_20160722_112315218-Micr

    osoft .NET Framework 4.6-MSP0.txt

    Log File C:\Users\T142C~1.WOO\AppData\Local\Temp\KB3164025_20160722_112315218-Microsoft .NET Framework 4.6-MSP0.txt does not ye

    t exist but may do at Watson upload time

    Patch (E:\9ece86f08b260314c9a2a423e889c7\NDP46-KB3164025.msp) Install failed on product (Microsoft .NET Framework 4.6). Msi Log

    MSI returned 0x648

    Entering Function: MspInstallerT >::Rollback

    exiting function/method

    Action Rollback changes

    PerformMsiOperation returned 0x648

    exiting function/method

    PerformMsiOperation returned 0x648

    OnFailureBehavior for this item is to Rollback.

    Action complete

    Sending Manifest Report

    Final Result: Installation failed with error code: (0x80070648), "Unknown property. " (Elapsed time: 0 00:00:04).

    *****

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2016-07-22T09:52:00+00:00

    Hi Jayant,

    Thanks for your response - I've tried following those steps, and while it does remove .NET from the system I get exactly the same problem again.  Once I reinstall .NET 4.6.1 I am offered 6 security updates.  If I install all 6 together, they will work, but if I install 5 of them, reboot, and try to install the 6th it will fail with error 648 again:

    Again, the update fails because it is trying to update 4.6 and not 4.6.1 - yet when I look in my registry I can't see anything that would tell the update to aim at 4.6:

    gci -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4' -Recurse

        Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4

    Name                           Property                                                                                                                                                           

    ----                           --------                                                                                                                                                           

    Client                         Version       : 4.6.01055                                                                                                                                          

                                   TargetVersion : 4.0.0                                                                                                                                              

                                   Install       : 1                                                                                                                                                  

                                   MSI           : 1                                                                                                                                                  

                                   Servicing     : 0                                                                                                                                                  

                                   Release       : 394271                                                                                                                                             

                                   InstallPath   : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\                                                                                                   

        Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client

    Name                           Property                                                                                                                                                           

    ----                           --------                                                                                                                                                           

    1033                           Version       : 4.6.01055                                                                                                                                          

                                   TargetVersion : 4.0.0                                                                                                                                              

                                   Install       : 1                                                                                                                                                  

                                   Servicing     : 0                                                                                                                                                  

                                   Release       : 394271                                                                                                                                             

        Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4

    Name                           Property                                                                                                                                                           

    ----                           --------                                                                                                                                                           

    Full                           Version       : 4.6.01055                                                                                                                                          

                                   TargetVersion : 4.0.0                                                                                                                                              

                                   Install       : 1                                                                                                                                                  

                                   MSI           : 1                                                                                                                                                  

                                   Servicing     : 0                                                                                                                                                  

                                   InstallPath   : C:\Windows\Microsoft.NET\Framework64\v4.0.30319\                                                                                                   

                                   Release       : 394271                                                                                                                                             

        Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full

    Name                           Property                                                                                                                                                           

    ----                           --------                                                                                                                                                           

    1033                           Version       : 4.6.01055                                                                                                                                          

                                   TargetVersion : 4.0.0                                                                                                                                              

                                   Install       : 1                                                                                                                                                  

                                   Servicing     : 0                                                                                                                                                  

                                   Release       : 394271                                                                                                                                             

    U:> gci -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0' -Recurse

        Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4.0

    Name                           Property                                                                                                                                                           

    ----                           --------                                                                                                                                                           

    Client                         Version : 4.0.0.0                                                                                                                                                  

                                   Install : 1    

    So, the only way to get the updates to install successfully is to completely uninstall .NET, then install all updates at the same time (and do this for each PC on each update run).  I don't know where else I can look to see why these updates can only recognize the installed version at certain times - and if they don't check these registry values what *are* they looking at?

    Thanks,

    Tom

    Was this answer helpful?

    0 comments No comments
  5. Anonymous
    2016-07-22T04:38:37+00:00

    Hi Tom,

    As per the description, you are experiencing issue with .Net 4.6.1 updates are failing to install with error code 0x648 on the system.

    I certainly understand your concern and appreciate all your efforts in trying to fix this issue.

    I would suggest you to try the steps provided in the article given below and check if that helps.

    .NET Framework Cleanup tool user’s guide

    https://blogs.msdn.microsoft.com/astebner/2008/08/28/net-framework-cleanup-tool-users-guide/

    Note: This .NET Framework cleanup tool is designed to automatically perform a set of steps to remove selected versions of the .NET Framework from a computer.  It will remove files, directories, registry keys and values and Windows Installer product registration information for the .NET Framework.  The tool is intended primarily to return your system to a known (relatively clean) state in case you are encountering .NET Framework installation, uninstallation, repair or patching errors so that you can try to install again.

    I hope this information is helpful.

    Please do let us know if you need any further assistance, we will be glad to assist you.

    Thank you.

    Was this answer helpful?

    0 comments No comments