hn.today

Show HN: Microsoft Office Running with Wine on Linux with No Virtualization

github.com6 points4 comments
Screenshot of Show HN: Microsoft Office Running with Wine on Linux with No Virtualization

A Nix flake and helper scripts that run Microsoft 365 (click-to-run Office) on Linux without full virtualization by launching it under UMU + GE-Proton (Proton-GE) or Bottles’ ProtoSoda Wine core. It does not ship Microsoft binaries: the Office Deployment Tool and Office are downloaded at install time and require a valid Microsoft 365 license. Installation and launch are driven via simple nix run commands (ms365 install, ms365 run word, etc.), which create a Wine prefix, apply winetricks verbs, fetch the ODT payload (several GB stored in ~/.local/share/ms365/odt/Office) and run the installer. The flake exposes many environment knobs for runner choice, prefix path, product/channel/version/edition/language, excluded apps, SCA vs vNext licensing, Wayland vs X11, and debug logging; it also provides logs, commands to exec regedit/winecfg/cmd and utilities to rerun or reset phases.

Substantively, the build documents a long series of targeted fixes that make Office usable under Wine 11 lineage: Word launches, draws UI and shows the Sign in button, though sign-in/activation remained unverified at the noted status. Workarounds include a replacement sppc licensing DLL, an ole32 forwarder that supplies missing COM exports and loader fixes, kernel32 stub rewrites, hiding problematic APCs, VFS mirroring into Program Files, winhttp/wininet option acceptance, a d2d1.dll from a fixed Wine build to correct rendering, MSI component reconstruction, and Wayland popup ownership fixes. The flake automates these shims and provides debugging aids to iterate on remaining issues.

Read on github.com4 comments on Hacker News

Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.

More in Other

The daily digest

Today's best Hacker News stories, summarized and screenshotted, one email a day.