|
- # Bag3 / Bag4 Windows exe build (run all commands in this python/ folder)
-
- py -m pip install --upgrade pyinstaller
- py -m pip install --upgrade pywin32
- py -m pip install --upgrade Pillow "qrcode[pil]" requests pyserial
-
- # --- Bag4 (DataFlex with expiry) ---
- py -m PyInstaller --noconfirm --clean Bag4.spec
- # Output: dist\Bag4.exe (one-file). Copy Bag4.exe to the client PC.
- # Settings are created next to the exe: bag4_settings.json
- # Do not overwrite Bag3.exe; Bag3 and Bag4 are separate.
-
- # --- Bag3 (DataFlex without expiry) ---
- py -m PyInstaller --noconfirm --clean Bag3.spec
- # Output: dist\Bag3.exe
-
- # --- If the client exe flashes and closes ---
-
- 1) On the client PC, open cmd in the folder that contains the exe and run:
- Bag4.exe
- You should see the error in the console, or open bag4_startup_error.log next to Bag4.exe.
- (Bag3: bag3_startup_error.log)
-
- 2) Compare BUILD machines (both should match):
- py --version
- py -m PyInstaller --version
- py -m pip show pyinstaller pywin32 Pillow qrcode requests pyserial
-
- A broken build is often caused by:
- - Different Python major version (e.g. 3.13 vs 3.11)
- - Incomplete tkinter on that Python (Store Python / partial install)
- - Old PyInstaller missing Tcl/Tk files in the bundle
-
- 3) Rebuild on the machine that works, or reinstall Python from python.org (64-bit)
- and reinstall deps above, then rebuild.
-
- 4) Spec files disable UPX (upx=False) for stability; do not re-enable unless you test on the client.
-
- 5) Client needs 64-bit Windows and Microsoft VC++ Redistributable (same as your Python installer).
-
- 6) Antivirus may quarantine the exe — whitelist the folder if the log mentions missing DLL.
|