we get signal

2006-12-30

Visual Studio 6.0 cannot install onto Windows XP SP2? (resolved)

(tags programming, open-source, Emacs, Windows, installer, bug, workaround, resolved)

I am compelled to write a post on compiling Emacs on Windows using the Visual Studio 6.0 C++ compiler (cl.exe), because I figured out how to do so, despite the lack of documentation. (Perhaps my Internet searching skills are wavering?) But before I do, I want to explain my problems just trying to install Visual Studio 6.0 Professional on my Windows XP Professional Service Pack 2 development environment.

If you can install Visual Studio 6.0 on your Windows XP computer without fail, that's great. In fact, in a number of cases, it worked for me without incident on other computers. But unfortunately on my personal computer, I get this error message every time I "Autorun" my MSDN provided CD-ROM or run \Setup.exe:

It seems to be a common thing. (1, 2, 3, 4, 5)

As luck would have it, I got more information by pressing the Debug button, but that's only because I succeeded in installing Visual Studio 6.0 C++ before writing this blog post.

I found some attempts at a solution:

  • Running \Setup.exe in various Compatibility modes (Properties->Compatibility Tab)
  • Installing the Microsoft Java machine (available in the Internet Explorer 4 (!) directory as \IE4\MSJAVX86.EXE on the same CD) because WinXP SP2 blocks the installation of Visual J++ 6.0 (MSKB:299764)
  • Making sure my %SystemDir%\system32\{autoexec,config}.nt are properly configured.
  • Making sure my system is "clean" to install VS6.0 (MSKB:248347)
  • Disabling DEP (activated by Windows XP SP 2) globally (MSKB:875352)

... didn't help at all. There's also more:

  • Disabling key "performance" in the Registry (MSKB:192731)

... but I didn't try it. Finally I come across a post that mentions to run the \setup\acmesetup.exe directly, with some required fooling with some Registry entries at HKLM\SOFTWARE\Microsoft\VisualStudio\6.0.

The command to directly run the compiler/IDE setup is (explanation at MSKB:250343):
D:\SETUP\ACMSETUP.EXE /T *.STF /S D:\ /n "" /o "" /k "YYYYYYYYYY" /b1

The needed Registry entries came from another computer's successful installation. I pared it down to just the following: <<EOF
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Visual Studio 98\SetupWizard]
"aspo"=dword:38395356
EOF

Success! It works at least with VS6.0 Professional (US English) and Enterprise (Japanese).

Now do I install Service Pack 5 or Service Pack 6? 6 FTW, but look at that, building Mozilla 1.x or FireFox <3.0 requires Service Pack 5!?! Bah I don't need to compile Mozilla or Firefox for myself.

Anyway, VS C++ is in and it feels like 1998 all over again. Tune in next time for some Emacs compiling love.