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).
*****