Microsoft's classic win9X-era version of Visual C++.
Still in use for some shipping retail apps twelve years later!
What does not
Didn't find something, yet.
What was not tested
Other types of projects.
Only tweaks i made was 32 bit installation and selecting windows 98 from winecfg.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||Ubuntu 15.04 "Vivid" amd64 (+ variants like Kubuntu)||May 12 2015||1.7.38||Yes||Yes||Gold||an anonymous user|
|Show||Ubuntu 10.04 "Lucid" i386 (+ variants like Kubuntu)||May 16 2011||1.2.2||Yes||Yes||Bronze||an anonymous user|
|Show||Fedora 8||Nov 02 2008||1.1.5||Yes||Yes||Platinum||an anonymous user|
|Show||Gentoo Linux x86_64||Aug 09 2008||1.1.2||Yes||Yes||Silver||Jazz|
|Show||UHU-Linux 1.1 "Kamion"||Jul 15 2006||0.9.12.||N/A||Yes||Gold||an anonymous user|
Native alternatives for non-windows platforms:
Make sure you operate on a clean WINEPREFIX (~/.wine)!
Prerequisite installation by using 'winetricks' script
will take care of needed installation prerequisites and work around
sÂome installer problems.
$ wget http://kegel.com/wine/winetricksÂ
Â$ sh winetricks -q vcrun6 mfc40
Install steps to work around some bugs
After winetricks step start "winecfg" tool and select "Windows 98" from Windows Version Listbox. Press "Apply" button. Press "Ok" button.
Now you may run the installer. The installer might crash when trying to install the required 'virtual machine for java' (bug 18097). Ignore this and upon "reboot" when asked to install DCOM98, uncheck the box and let the installer proceed.
After the installation is finished, change the Windows version back to default (Windows XP).
ÂBecause bug 5322 will probaÂbly stand a long time, I present another method.
1.) Save the following snippet to a text file, for example "vc6-installer-fix":
while(*++$x != 0x07B0B18B && $x < $end)
if $x != $end
set *(int*) $x = 0x5BC0335E
set *(int*)($x+4) = 0x900004C2
handle SIGSEGV pass nostop noprint
handle SIGTRAP nopass nostop noprint
2.) run the following command, assuming you saved the snippet to "vc6-installer-fix":
$ winedbg --gdb setup.exe < vc6-installer-fix
NOTE: If the installer spawns a sub-installer that crashes due to this bug, you must first run the main installer and then attach to sub-installer with debugger.
This can be done in automated way (assuming the main installer has already started sub-installer):
Â$ winedbg --gdb $(( 16#$(winedbg --command "info proc" | grep your-sub-installer-process-name | cut -f 2 -d " ") )) < vc6-installer-fixÂ
It tells winedbg to query process ids, filters out the target process, converts the PID to decimal and then starts winedbg in gdb proxy mode, attaching to target process and executing patch script.
This should work for all VC6 installers and even Embedded Visual C++ 4.x ones.What does it do?
Basically it starts the installer under control of a debugger and the works around bug 5322 by in-memory patching execution flow.
NOTE: This method is not recommended for the average user!