[Solved] Extraction of Dell's BIOS Installer named *.EXE

I haven’t used python freezing utilities in years, so I cannot be of assistance there. All I can suggest is to actually install python and the requirements. It is very easy. Download the latest version of Python 3.12.x, follow the Requirements and run using Main flow.

2 Likes

@plutomaniac , I downloaded the latest BIOSUtilities, that looks like it was just updated. I ran a new Dell Precision 7550 bios update into dell_pfs_extract.py, and it just ran right through it. It ran so quickly, I couldn’t see any error message - the related command prompt just opens and closes out.

I then ran it through an older 5/26/2024 Dell_PFS_Extract, and had no problem.

Edit 1: Also, I ran both Dell bios types (Precision_7X50_1.34.0.exe and BIOS_IMG.rcv) through the updated Dell_PFS_Extract, and got the same result.

Edit 2: It looks like required files have changed to include pefile and dissect.util. I’m not sure they’re needed if you drag the dell bios directly into Dell_PFS_Extract, but I installed them anyway, and am coming up with the same result. I logged out after installing them, and tried again, but it’s still a no go.

@ChrisM

For single filetype py- script you need to put in the separate commands at a python prompt (link) (Windows pathnames with normal slash [or maybe ‘\’, didn’t try])

After having installed biosutilities as a project it’s otherwise fine to just drop the file on main.py (doesn’t matter where main.py is located as long as python directory is in the path)

@plutomaniac

Thanks for the answer, as written having python installed but in a VM to keep the working Windows installation leaner and avoid having to update another program. So I’ll work with the versions from april, most of the time they work pretty well!

With the older version, if you had Python installed + required packages, you didn’t have to mess with main.py, nor commands. All you had to do is drag the Dell bios into the Dell_PFS_Extract, and it would create an extracted bios folder in the working folder (BIOSUtilities-main). I’m assuming you should still be able to do this - I don’t need to mess with main.py if I’m working with a Dell bios.

Microsoft Windows [Version 10.0.19045.5011]
(c) Microsoft Corporation. All rights reserved.

C:\Program Files\Python312>python -m pip install --upgrade biosutilities
Requirement already satisfied: biosutilities in c:\program files\python312\lib\site-packages (24.11.10)

C:\Program Files\Python312>python -m pip install --upgrade biosutilities[pefile,lznt1]
Requirement already satisfied: biosutilities[lznt1,pefile] in c:\program files\python312\lib\site-packages (24.11.10)
Requirement already satisfied: dissect.util==3.18 in c:\program files\python312\lib\site-packages (from biosutilities[lznt1,pefile]) (3.18)
Requirement already satisfied: pefile==2023.2.7 in c:\program files\python312\lib\site-packages (from biosutilities[lznt1,pefile]) (2023.2.7)

C:\Program Files\Python312>

Maybe I’m not understanding Package installation?

Edit 1: The attached is a slightly newer BIOSUtilities-main, with 6/17/2024 extract files. The 6/17/2024 Dell_PFS_Extract works just like the 5/26/2024 version.

BIOSUtilities-main(2).zip (64.2 KB)

Guys, in your case, you can use the easy “Main” flow. Download the repo, install the requirements (either found in $PATH or within an “external” named directory at project root), and then drag and drop one or more files to main.py script. If you use Linux/macOS (where python drag & drop is not a thing), or if you use the terminal on Windows, you can call “main.py” as explained in the README.

The “Package” method is for those who are more familiar with python and/or need to use the project programmatically as a library/dependency. The “Main” flow is supposed to be used instead of “Package”, and vice versa, not at the same time.

Don’t install as package but also keep a local folder to run “main.py” as the imports will be taken from the package installation instead of the local files and cause confusion and/or errors if there is any mismatch (e.g. forgotten outdated package version etc).

OK, got it. Was missing the 7z.exe.

Thanks @lfb6 and @plutomaniac