texhex / BiosSledgehammer

Automated BIOS, ME, TPM firmware update and BIOS settings for HP devices
Apache License 2.0
128 stars 17 forks source link

ME Update requires .NET Framework 3.5 - error handling #63

Closed datagutten closed 6 years ago

datagutten commented 6 years ago

When I run BiosSledgehammer on a fresh install of Windows 10 on a 640 G1 or 840 G4 I get a popup asking me to install .NET Framework 3.5 during the ME upgrade step. The upgrade returns a non-zero exit code, but BiosSledgehammer does not detect it and tells me that the upgrade has succeeded and that I should restart the computer. I am not sure if it is the detection tool or the upgrade itself that requires .NET, but I will examine that further tomorrow.

texhex commented 6 years ago

This is clearly an issue on my side, hence in BiosSledgehammer.ps1. So far, the return code is not checked so any "non fatal" exist is considered success.

As I imagine that those devices should return to users rather quick, I created a patch so the ME update uses the same logic as for BIOS updates, where only 0 or 3010 are considered successful execution.

texhex commented 6 years ago

You could test this new version (4.0.7) with that device to see if now an error is thrown if .NET 3 is not installed. Please note, this code is untested so far (but given that it works for BIOS updates, it should work).

As a side note: That newer ME updates require .NET 3 is noted in the docs.

texhex commented 6 years ago

@datagutten Did you had the chance to give the new code a test run?

datagutten commented 6 years ago

I have tested it once, and it worked, but I will do some more testing to see that it is stable.

texhex commented 6 years ago

I was able to grab a test device on Monday, removed .NET and an error was generated for the ME update. The fix is live with v4.0.7 so I'm closing this issue.

Please feel free to open it again if any future tests on your side show this is not fully fixed.