The solution might've been a bit shorter if he'd known to search for info about the WOW6432Node and found out about how registry redirection works, something I don't see him clearly call out in there despite wondering where that extra bit comes from:
Hi there, author here. It was more than due to a 32-bit game running on 64-bit Windows and compatability mode didn't work.
Ubisoft changed the reg key of the base game from it's retail key to "Uplay Install 87" and the expansion had no idea to look for that key at all. If you used the Ubisoft copy of both games, the expansion pack would never have found the base game.
Yeah I was thinking he could have just flipped the KEY_WOW64_64KEY or the KEY_WOW64_32KEY on where ever it opened the registry in the installer Or use compatibility mode?
I am still glad he got it working in the end.
Are there any articles from Microsoft folks on why they made the 32/64 compatibility choices they did?
I'm not going to say they're the worst, and they certainly work, but they're also pretty obtuse and "Why would you design a thing like that?"
From memory of the era, the 32/64 bit client transition seemed a bit rushed when Intel had long decreed no home users would need 64-bit, and then AMD promptly started selling the Athlon 64 to anyone who would buy one.
https://docs.microsoft.com/en-us/windows/win32/winprog64/reg...
Presumably this is happening due to this being an old 32-bit game running on 64-bit Windows. The WOW in there stands for "Windows on Windows."