WineHQ

Visual C++

Microsoft's classic win9X-era version of Visual C++.

Still in use for some shipping retail apps twelve years later!

Application Details:

Version: 6.0
License: Retail
URL: http://msdn.microsoft.com/visu...
Votes: 1
Latest Rating: Gold
Latest Wine Version Tested: 1.7.38

Maintainers: About Maintainership

No maintainers. Volunteer today!

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Installation, running, compiling and executing simple windows console application.

What does not

Didn't find something, yet.

Workarounds

What was not tested

Other types of projects.

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

Only tweaks i made was 32 bit installation and selecting windows 98 from winecfg.

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
CurrentUbuntu 15.04 "Vivid" amd64 (+ variants like Kubuntu)May 12 20151.7.38Yes Yes NoGoldan anonymous user 
ShowUbuntu 10.04 "Lucid" i386 (+ variants like Kubuntu)May 16 20111.2.2Yes Yes NoBronzean anonymous user 
ShowFedora 8Nov 02 20081.1.5Yes Yes NoPlatinuman anonymous user 
ShowGentoo Linux x86_64Aug 09 20081.1.2Yes Yes NoSilverJazz 
ShowUHU-Linux 1.1 "Kamion"Jul 15 20060.9.12.N/A Yes NoGoldan anonymous user 

Known Bugs

Bug # Description Status Resolution Other apps affected
9153 midl generates wrong output, keeps Visual C++ 6 from working properly NEW View
15039 MSVC 6: Menu popdowns too narrow for arrows REOPENED View

Show all bugs

HowTo / Notes

Native alternatives

Native alternatives for non-windows platforms:
- Anjuta

HOWTO

Make sure you operate on a clean WINEPREFIX (~/.wine)!


Prerequisite installation by using 'winetricks' script

­Winetricks 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).

Installing with Wine Windows versions set to NT4/2K/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":

set $x=0x410000
set $end=0x420000
while(*++$x != 0x07B0B18B && $x < $end)
end
if $x != $end
set *(int*) $x = 0x5BC0335E
set *(int*)($x+4) = 0x900004C2
end
handle SIGSEGV pass nostop noprint
handle SIGTRAP nopass nostop noprint
cont

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!

Comments

Comments Disabled

Comments for this application have been disabled because there are no maintainers.
Back