Skip to content

Instantly share code, notes, and snippets.

View dustinlange's full-sized avatar

Dustin Lange dustinlange

View GitHub Profile
@dustinlange
dustinlange / crxi-dll-validation.md
Last active April 30, 2026 16:18
Crystal Reports XI DLL Registration Validation — Windows Server 2025

Crystal Reports XI DLL Registration Validation — Windows Server 2025

Generated: 2026-04-30
Scope: Static PE analysis of Crystal Reports XI DLLs in Practice/Install/Release/base/MSIFiles/


🔑 Key Finding: The Confluence Root Cause Analysis Is Incorrect

The Confluence page attributes the Server 2025 failure to VC++ 2005/2008 SxS ATL/MFC/MFCLOC assemblies. Static PE analysis of the actual DLLs disproves this:

@dustinlange
dustinlange / win2025-compat-report.md
Created April 30, 2026 14:07
Windows Server 2025 Compatibility Report — NexTech NX Repo

Windows Server 2025 Compatibility Report — NexTech NX Repo

Generated: 2026-04-30


🔴 Root Cause (Confirmed)

Practice.msi bundles Crystal Reports XI (craxddrt.dll). During installation, regsvr32 attempts to register that DLL, which requires VC++ 2005 SP1 and VC++ 2008 SP1 x86 SxS ATL/MFC/MFCLOC assemblies. On Server 2025, the assembly publisher only publishes CRT — ATL/MFC/MFCLOC are silently skipped. The redistributable bootstrapper exits 0 (success), but the assemblies are never written to C:\Windows\WinSxS\. craxddrt.dll then fails with HRESULT 0x8007007E, and the MSI aborts with Error 1904 / 1603.

@dustinlange
dustinlange / fetch_remote_pr.md
Last active December 1, 2025 19:59
Fetch_remote_PR

Fetch a remote PR into your local repo

git fetch upstream pull/[ID]/head:[BRANCH_NAME]

git checkout [BRANCH_NAME]

Alias for checking out PRs

git config --global alias.pr '!f() { git fetch -fu ${2:-$(git remote |grep ^upstream || echo origin)} refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f'