04/22 Add build_app script

This commit is contained in:
2026-04-22 13:16:40 -04:00
parent c0e965f10b
commit bcfbf516df
2 changed files with 346 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
"""
hook_path.py — PyInstaller runtime hook for Website Checker.
Executed by the PyInstaller bootloader before any Python code runs.
Prepends the bundle's _internal/ directory (where python3xx.dll lives)
to the Windows PATH so that LoadLibrary() can find the VC++ runtime DLLs
(vcruntime140.dll, msvcp140.dll, etc.) that python3xx.dll depends on.
This resolves the error:
"Failed to load Python DLL ... python3xx.dll.
LoadLibrary: The specified module could not be found."
Without this hook the DLL is present in the bundle but Windows cannot
satisfy its own import chain because the VC++ DLLs are not on PATH.
"""
import os
import sys
# sys._MEIPASS is set by PyInstaller to the bundle's extraction directory
# (_internal/ for one-folder builds, a temp dir for --onefile builds).
try:
_bundle_dir = sys._MEIPASS
except AttributeError:
# Fallback when running outside a PyInstaller bundle (e.g. during testing)
_bundle_dir = os.path.dirname(os.path.abspath(sys.executable))
# Prepend — not append — so the bundle's DLLs take precedence over any
# system-wide copies that may be an incompatible version.
os.environ["PATH"] = _bundle_dir + os.pathsep + os.environ.get("PATH", "")