This actually seems to be caused by the pdmp failing to load. `make install` installs the pdmp file as `EMACS_PDMP = `./src/emacs${EXEEXT} --fingerprint`.pdmp`. However, this is not the filename that emacs tries to load - it attempts to load it from the wrong directory, which fails. That seems to be why `initialized` is false, and why uniscribe / harfbuzz is not loaded. If I rename the emacs-.pdmp file to emacs.pdmp, and place it next to emacs.exe everything works as expected (and emacs loads a lot faster!). I did a procmon dump to see what .pdmp files emacs.exe is trying to load, and it attempts these locations: - E:\dev\emacs-src\bin\emacs.pdmp - E:\dev\emacs-src\libexec\emacs\30.0.50\x86_64-w64-mingw32\emacs-ef314e5e05618ae9e98f9cccc0769b2adce721d1b3bac00e305e61b4d457b0a4.pdmp - E:\dev\emacs-src\libexec\emacs\30.0.50\x86_64-w64-mingw32\emacs.pdmp The thing is, the emacs version is 30.0.90, not 30.0.50. A strings dump of emacs.exe: strings emacs.exe | grep 30.0 %emacs_dir%/libexec/emacs/30.0.50/x86_64-w64-mingw32 $Id: GNU Emacs 30.0.90 (x86_64-w64-mingw32 ACL GIF GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB) $ 30.0.90 %emacs_dir%/share/emacs/30.0.90/lisp %emacs_dir%/share/emacs/30.0.90/site-lisp;%emacs_dir%/share/emacs/site-lisp /30.0.90/lisp/ %emacs_dir%/share/emacs/30.0.90/etc %emacs_dir%/libexec/emacs/30.0.90/x86_64-w64-mingw32 %emacs_dir%/libexec/emacs/30.0.50/x86_64-w64-mingw32 So it seems something is going wrong with setting the path. I noticed that exec/configure.ac has: AC_INIT([libexec], [30.0.50], [bug-gnu-emacs@gnu.org], [], [https://www.gnu.org/software/emacs/]) I tried changing this to 30.0.90 and re-building (using make bootstrap), but the resulting binary still has 30.0.50 in it.