Auto-map \\HOST to Z: from the W95TOOLS guest agent (#364)

* Auto-map \\HOST to Z: from W95TOOLS at login

W95TOOLS.EXE now calls WNetAddConnectionA("\\\\HOST\\HOST", NULL, "Z:")
on a short retry timer (5 tries, 3s apart) so the shared folder shows up
as a drive without a trip through Start -> Run. MPR.DLL is LoadLibrary'd
so the EXE keeps its USER32/KERNEL32-only import table and still launches
if MPR is somehow absent. Skipped if Z: is already taken; gives up
silently if no share is configured.

Works for any user folder because the SMB server's tree-connect already
routes every share name other than TOOLS/IPC$ to the user share; added a
comment in server.ts pointing at the dependency.

Verified by cold-booting the image with the new vs. old binary in
StartUp: new -> tree connect to \\HOST\\HOST within ~5s of desktop and
z:\ opens in Explorer; old -> no SMB traffic after 55s at desktop.

* Drop rebuilt W95TOOLS.EXE from the diff

Binary will be rebuilt and baked into the image alongside the next
default-state re-bake; keep this PR source-only.

* Stop tracking guest-tools/agent/W95TOOLS.EXE

It's a build output of `make -C guest-tools/agent` and CI doesn't
consume it (the disk image is baked out-of-band), so there's no reason
to carry the binary in git.
This commit is contained in:
Felix Rieseberg
2026-04-12 09:16:54 -07:00
committed by GitHub
parent b74e6c7b0a
commit d38355ff16
5 changed files with 54 additions and 9 deletions

1
.gitignore vendored
View File

@@ -15,5 +15,6 @@ trusted-signing-metadata.json
.env
electron-windows-sign.log
.npmrc
guest-tools/agent/W95TOOLS.EXE
/.claude/scheduled_tasks.lock
/.claude/worktrees/