Copyright: Microsoft Developer Studio


Fortran Powerstation 4.0 Troubleshooting
Fortran PowerStation 4.0 Troubleshooting Guide

Most problems can be solved using the information provided with Fortran PowerStation 4.0. Here are some steps which can help you take advantage of the Fortran PowerStation resources and help you isolate the problem if you need to call technical support.

Check the Product Documentation

This is one of the most productive ways to find answers to questions, and it can save you time and money. You can consult several types of documentation:

•	Books Online. You can scan for information in InfoViewer, use Search to either search for a specific keyword or do a full-text search on a subject.

•	F1 Help. Context-sensitive help is available on specific keywords and functions. You can access Help by pressing F1 on a function in your source code. You can also get F1 help on error messages by positioning the cursor on the error message and pressing F1.

•	Readme. This section in Books Online contains late-breaking information about configuration problems, new features, and known bugs. You can open the Readme section by selecting it in Books Online.

•	Samples. Fortran PowerStation Books Online includes several sample applications that illustrate common programming tasks. You can view these by selecting the Samples directory in Books Online.

•	Microsoft Knowledge Base. The Microsoft Knowledge Base contains thousands of articles on known problems and programming issues. It is available through the Microsoft Developer's Network CD-ROM, and it can also be accessed from MSN (the Microsoft Network), the World Wide Web (http://www.microsoft.com), or the Internet (ftp.microsoft.com).

Reproduce the Problem

Reproducing the problem is the first step in solving it. Once you can reproduce the problem, you can start finding solutions. The following questions may give you more insight on the problem:

•	Does the problem occur with just this one program? You may want to try one of the samples to see if you can reproduce the problem with it. If you cannot reproduce the problem with other programs, think about what's specific about the program.

•	Does the problem occur on just your machine? If so, the problem may be related to your system configuration. Try using a different Windows video driver or modify your system configuration to see if the problem still occurs. It's a good idea to try to make your machine as much like the average machine as possible.

•	What versions of the tools are you using? Knowing the version of the compiler, linker, and other tools makes it easier to reproduce (or avoid) the problem in the future.

•	Under what circumstances does the problem occur? Does it only occur when you build from the command line, or within Microsoft Developer Studio? Does the amount of available memory affect the problem? How about other programs that are running in the system?

Isolate the Problem

After seeing what circumstances cause the problem, you may be able to isolate it. Once a problem is isolated, it's much easier and quicker to fix or work around.

•	Try isolating the component that's causing the problem. You can use the information about what conditions it reproduces to help isolate the component. For example, if a problem occurs when compiling both inside the development environment and using NMAKE from the command line, the problem probably isn't with the development environment.

•	If the problem is with the compiler, you may be able to create a small example. The compiler generates code on a per-function basis, and you might be able to isolate it to a particular module or function.

•	Sometimes you can isolate a problem by breaking things in half. For example, if a particular module is causing a LINK error, separating the module into two modules will help isolate the problem.

Setup Problems

For information on setup problems, see:

•	How to Diagnose Fortran PowerStation Setup Problems in Windows NT

•	Troubleshooting Fortran PowerStation 4.0 Setup Problems Under Windows 95

Note   This information was provided by Microsoft Product Support Services. Some procedures assume that you have access to the Microsoft Knowledge Base. See References for information (either for Windows NT or Windows 95) about accessing the Knowledge Base.


How to Diagnose Fortran PowerStation Setup Problems in Windows NT

This article describes how to troubleshoot setup problems with Fortran PowerStation 4.0 in Windows NT. (For information on troubleshooting under Windows 95, see Troubleshooting Fortran PowerStation 4.0 Setup Problems Under Windows 95.) Because most developers are more familiar with troubleshooting 16-bit problems, this article also mentions 16-bit methods that do not carry over to 32-bit setup troubleshooting.

The majority of 32-bit setup problems can be broken down into two areas:

•	Hardware failures, problems, or incompatibilities.

•	Bad or corrupt installations.

Each area is discussed in detail later in this article.

Use the following general process to troubleshoot Fortran PowerStation setup problems in Windows NT:

1.	If you receive an error message from the setup program or some other component of Fortran PowerStation, try to search the Microsoft Knowledge Base for a list of known problems by using words from that error message. The Microsoft Knowledge Base is available on the services listed in the "References (Under Windows NT)" section.

2.	After running setup, if Fortran PowerStation will not run at all, test the hardware first using the "Hardware Failures, Problems, or Incompatibilities under Windows NT" section of this article. Then try the "Bad Software Installation (Under Windows NT)" section of this article if necessary.

3.	If Fortran PowerStation starts but does not work correctly, first test the installation using the information in the "Bad Software Installation (Under Windows NT)" section. Then try the "Hardware Failures, Problems, or Incompatibilities under Windows NT" section if necessary.


Hardware Failures, Problems, or Incompatibilities under Windows NT

The problems you're experiencing may also show up in other applications. However, even if you are not having trouble with other CD-ROM-based applications, that does not necessarily mean that you don't have one of the problems discussed in this section.

First, check the Event Log with the Event Log Viewer application located in the Administrative Tools program group. The Event Log records a number of actions that your Windows NT system performs, including many hardware and software failures. Bad events are usually shown by a stop sign icon on the right side of the list. By default, the list is sorted by date.

If you see a number of stop signs for the same service or device, that sometimes indicates a hardware problem. Double-click the events to see if they all hold the same or related messages that indicate hardware device failures. Note, however, that even if there are no stop signs in the Event List, you may still have a hardware problem that was not detected by Windows NT.


Step-by-Step Troubleshooting Process with Windows NT

Failures of the CD-ROM drive or hard disk system are the most frequently encountered cause of setup problems. Check for possible causes in this order:

1.	Check for a bad SCSI termination. Most SCSI drives require a SCSI bus terminator on the end of the SCSI cable. Event Log time-out events or a number of the same type of failures from the SCSI or disk drive device can be an indication that the SCSI bus has a missing or incorrect termination resistor.

2.	Check to see if your hardware is on the Hardware Compatibility List (HCL). The HCL can be found in Help file format in the Support directory of the Windows NT distribution disk. Make sure all hardware drivers are correct and compatible with Windows NT. Check the HCL for your machine manufacturer, your hard disk maker, and your CD-ROM manufacturer. A number of IDE drives have been known to cause problems in Windows NT. Check the HCL or your dealer for the components in question. Microsoft specifically tested Windows NT with the devices on the HCL list, so hardware on the list is known to function correctly under Windows NT. Contacting the device controller manufacturer for updated drivers and/or firmware is always a good idea when incompatibilities are found, even for hardware not on the HCL list. You may also have other driver problems that only show up because of memory conflicts with the CD-ROM driver or some other driver. Windows NT is a symmetric multiprocessor operating system that can take advantage of multiple CPUs. Some drivers are not designed to run on multiprocessor computers. If you have a computer with more than one processor, check with the driver's manufacturer to be sure it will function properly. You may also have loaded the wrong driver when you installed Windows NT. If Windows NT did not automatically detect the hardware on your machine, make sure you loaded the right drivers for your hardware.

3.	Check for bad sectors on your hard disk. Run Chkdsk from within a Windows NT MS-DOS command prompt. If you find errors, fix them with Chkdsk /f. To check for a media surface problem, use Chkdsk /r to do a surface scan of the drive in question. You may receive a message stating that the volume cannot be scanned because it is currently in use. Answer Yes to the question of whether you would like to schedule this drive for checking on the next system startup. In this case, Windows NT will perform the check and/or fix the next time you reboot. Shut down and restart the system to allow the check to occur.

These commands check the integrity of the file system and check the hard disk surface itself for physical defects that may cause data loss. Chkdsk /r is the equivalent of the using the MS-DOS Scandisk program. Scandisk will not run under Windows NT or on an NTFS or HPFS drive while the machine is booted into MS-DOS.

Note   This operation can take some time depending on the size of your hard disk

1.	Check for corrupted files on the hard disk. These problems are often caused by the problems listed in steps 1 through 3. However, corrupted files can also be caused by CD-ROM or hard disk drivers when the files are created during the CD-ROM to hard drive copying process. This corruption usually shows up when setup runs without errors but some component of Fortran PowerStation will not run.

Use the MS-DOS or Windows NT File Compare program (FC.EXE) to compare the files that have been copied from your CD-ROM drive to your hard drive as follows:

FC /b [drive1:][path1]filename1 [drive2:][path]filename2

The /B (binary) switch tells the File Compare program to run a binary compare on the files. Comparing the files in the BIN subdirectory of the Fortran PowerStation installation (\MSDEV\BIN by default) with the corresponding directory on the CD-ROM disc will generally tell you fairly quickly if you have a problem.

Note   There are two files, MSDEV.EXE and FPSVARS.BAT, in the BIN subdirectory and one, MSVCFOR.PKG in the BIN\IDE subdirectory that FC.EXE will report as different. These two files are modified as part of the installation process, and are therefore expected to be different.

If no errors are found in the BIN directory, check the entire Fortran PowerStation installation using FC.EXE if Fortran PowerStation still won't run.

If FC.EXE reports differences, be sure you have checked the problems listed in steps 1 through 3. If these do not apply, your CD-ROM driver is likely the cause. You have three choices at this point:

•	To be absolutely sure, uninstall Fortran PowerStation from your hard drive and reinstall. Then use FC.EXE to check the installation again. If you still receive a report of differences try one of the following two choices.

•	If there are only a few corrupted files, use the Xcopy command to copy the files from the CD-ROM disc to the destination location. Use the FC.EXE command to compare the files again.

•	If you can, transfer the entire contents of the CD to a another installation location. If you are on a network and have sufficient hard drive space, use another computer with a working CD-ROM drive to copy the CD contents to the hard drive. Then share out the hard drive, and try to install the product from there. Use Xcopy /s to copy the CD contents from the CD-ROM disc to your hard drive. Type Xcopy /? at the Windows NT command prompt for more information on using Xcopy.

Alternatively, you can share out the CD-ROM drive on the other machine and install from there.

Check for a bad CD-ROM disc. This is unlikely yet still possible. Verify that the CD-ROM disc is bad by doing one of the following:

•	Wipe the CD-ROM disc gently with a soft cloth to remove any smudges, dust, or fingerprints. Be careful not to scratch it. Wiping outward from the center is the recommended method for cleaning a CD-ROM disc.

Any scratches produced will be radial and less likely to affect data transfers. Inspect the CD-ROM disc for deep scratches. These can also cause read errors. Often these errors will show up in the Event Log as read errors from the disk drive device.

•	If another machine with a different CD-ROM drive is available, install on that machine, and see if the installation works. If it does, you've verified that your CD-ROM disc is not the problem.

•	If you have another Fortran PowerStation CD-ROM disc for the same Fortran PowerStation version, use FC.EXE to compare the two for possible differences. You could also install from this second CD-ROM disc. If everything installs and works, then it is probable that the first one is bad. Call Fortran PowerStation Product Support at the number included in your documentation that comes with the product. Be sure to be prepared to repeat the tests that led you to the conclusion that your CD-ROM disc was bad.


Bad Software Installation (Under Windows NT)

Step-by-Step Troubleshooting Process

1.	Check the Microsoft Knowledge Base for known problems before troubleshooting a problem that Microsoft has already tracked for you. The Microsoft Knowledge Base is available on the services listed in the "References (Under Windows 95)" section.

2.	Check for Fortran PowerStation corrupted Registry entries. If you are not familiar with the Registry, be very careful following these instructions. Deleting the wrong registry keys can cause many more problems.

Registry entries may be viewed or edited by using REGEDT32.EXE, which comes with Windows NT. The registry is a database designed to hold information about your entire Windows NT system. Fortran PowerStation and other Microsoft applications store configuration information in this area. You will find this information in the following keys:

HKEY_CURRENT_USER\Software\Microsoft\Developer

HKEY_CURRENT_USER\Software\Microsoft\InfoViewer

HKEY_LOCAL_MACHINE\Software\Microsoft\Developer

HKEY_LOCAL_MACHINE\Software\Microsoft\InfoViewer

A new registry entry with all default values is generated the first time you run Fortran PowerStation if there is no registry entry for it.

To see this information, the window in focus must be HKEY_CURRENT_USER. The other keys (Software, Microsoft, and so on) are contained in a tree structure similar to the directory structure shown in File Manager. You can select a registry key by double-clicking the key. Any directory branches below it will then be visable.

Note   Before trying this step, be certain that you have the correct key selected (highlighted). If you delete another key, you may destroy valuable information that your system or another application needs to run.

You can delete the Fortran PowerStation registry tree by selecting it and then choosing Delete on the menu. When this key is removed, Fortran PowerStation can still be run, but it may not have some of its parameters set properly.

Running parts of the Fortran PowerStation interface may restore some of the registry keys to their default values, but rerunning setup is the only way to fully restore the registry.

If the problem is not fixed by deleting the registry entries, the next step is to uninstall Fortran PowerStation, and then reinstall Fortran PowerStation and test the installation again.

1.	Check for other corrupted Registry entries. To test this possibility, create a new user account by selecting New User on the User menu in the User Manager; User Manager is usually in the Administrative Tools group icon. Then install Fortran PowerStation when the new user is logged in.

If the software installs or runs correctly on the new account, the problem is most likely caused by bad registry entries on the old account. If the problem persists on the new account, the registry is probably not a factor.

1.	Check for other bugs or problems with setup. Search the Microsoft Knowledge Base for a list of known issues with the setup program.

For more information, see:

•	Other Troubleshooting Information (Under Windows NT)


Other Troubleshooting Information (Under Windows NT)

In 16-bit Windows, one of the first strategies to try in diagnosing setup problems is starting the computer in a "clean boot" configuration, which means all unnecessary commands are removed from the CONFIG.SYS and AUTOEXEC.BAT files.

Under Windows NT, a clean boot is not the same thing. The following information was extracted from the Windows NT 3.5 Resource Kit documentation:

During system startup, Windows NT adds any Path, Prompt, and Set commands from the C:\AUTOEXEC.BAT file to the Windows NT environment variables, and then ignores the rest of the contents of C:\AUTOEXEC.BAT and C:\CONFIG.SYS.

If these files are not present when you install Windows NT, the Setup program creates them. For a RISC-based computer, default AUTOEXEC.NT and CONFIG.NT files are created. The path and other Windows NT environment information are stored under the following Registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

When an MS-DOS-based application is started, Windows NT executes files specified in the application's .PIF files or the AUTOEXEC.NT and CONFIG.NT files in the SystemRoot\System32 directory. Any changes made in one of these files take effect as soon as the file is saved and a new MS-DOS-based application is started that uses that file. You do not need to restart your system after changing the *.NT files.


File Use in Windows NT

•	C:\AUTOEXEC.BAT

Path and environment variables added to the Windows NT environment at system startup.

•	C:\CONFIG.SYS

Not used by Windows NT.

•	AUTOEXEC.NT and CONFIG.NT

Files used every time an MS-DOS-based application in SystemRoot\SYSTEM32 is run with the _DEFAULT.PIF. (Custom *.NT files can be created and used when starting an application from another .PIF file.)

You can use Windows NT Diagnostics to view the contents of the AUTOEXEC.NT files and the CONFIG.NT files by selecting items on the File menu. You can edit the contents of these files by using any text editor.

Commands in the AUTOEXEC.BAT and CONFIG.SYS files for starting applications and initializing drivers are ignored in Windows NT.

For information on the Command Prompts and the four configuration files mentioned previously, please see the following articles in the Windows NT portion of the Microsoft Knowledge Base:

•	ARTICLE-ID: Q99279: MS-DOS-Based Applications and Command Prompts

•	ARTICLE-ID: Q93781: The Path Statement in Windows NT

•	ARTICLE-ID: Q124551: Configuring Parsing of the AUTOEXEC.BAT File

Note that the information that used to be stored in the WIN.INI and SYSTEM.INI files has been replaced by registry entries, so making modifications to these files will not affect Windows NT itself. However, many 16-bit applications, still use SYSTEM.INI for configuration information.


References (Under Windows NT)

The Microsoft Knowledge Base is available on the following services:

•	MSN The Microsoft Network

•	The Microsoft Technet CD-ROM disc

•	The Microsoft Developer Library CD-ROM disc (Developer products only)

•	The Internet (ftp.microsoft.com)

•	The World Wide Web (http://www.microsoft.com)


Troubleshooting Fortran PowerStation 4.0 Setup Problems Under Windows 95

This article shows you how to troubleshoot problems that may arise as you are setting up Fortran PowerStation under Windows 95. (For information on Windows NT, see How to Diagnose Fortran PowerStation Setup Problems in Windows NT.) The majority of setup troubles are going to have their root in one of three things:

•	Hardware incompatibility

•	Hardware failure

•	Device driver conflict (the most likely)

The goal of this article is to help you get Fortran PowerStation installed, build a sample program, and run the sample from within Microsoft Developer Studio.

If you run into a problem or receive an error along the way, the cause and the steps to take are pretty much the same regardless of whether the error occurs during the installation or after the installation as you try to build programs.

For more information, see:

•	Step-by-Step Troubleshooting under Windows 95

•	Bad Software Installation under Windows 95

•	Creating a Hardware Profile under Windows 95

•	References (Under Windows 95)


Step-by-Step Troubleshooting under Windows 95

1.	Determine which hardware device or device driver is causing the problem. To isolate the culprit, first look in the Device Manager. To find the Device Manager, point to the My Computer icon on your desktop, and click the right mouse button. Select Properties on the menu, and then choose the Device Manager Tab. Be sure the View Devices by Type option is selected. This displays a tree control of the various hardware devices you have. Opening a given device on the tree control (by double-clicking it or by selecting it and choosing the the Properties button) shows the property sheet for the driver currently managing the device.

2.	Open each device's property sheet. For each driver, check the device status message; you should see "Device is functioning properly." If the property sheet has a Driver tab, select it, and note the name of the driver file. If there is no Driver tab, the device driver is a standard driver, which is loaded internally by Windows 95. If you find a device driver that is malfunctioning and has a driver file, remove this driver and try again. If you find a standard device driver (no Driver tab on the property sheet) that is malfunctioning, check with the device's manufacturer to be sure there no third-party driver is required. Take careful note of whether or not your hard disk or CD-ROM uses third-party driver files, and what those file names are.

3.	Start Windows 95 in a safe mode—that is with only those third-party drivers that are absolutely required for the computer to run and install Fortran PowerStation.

•	Shut down your computer, and then restart it.

•	When the screen says "Starting Windows 95" press the F8 key to display the Windows 95 start-up menu.

•	Select Safe Mode or Safe Mode With Network Support. This will boot Windows 95 into plain VGA mode, with no third-party drivers loaded. If you are installing from a local CD-ROM drive to a local hard-disk drive, select Plain Safe Mode, even if you are on a network.

If your problem is an unsuccessful installation, re-do the installation at this point. If this installation is successful, there is a good chance you can restart in standard configuration and build a sample successfully. If standard configuration builds fail, restart in safe mode and see if you can build a program. If you can build in safe mode, proceed to step 4 as though your original problem was a successful installation, but you cannot build programs.

If your problem is a successful installation, but you can't build programs, try building a sample under safe mode. If you can build the sample, then your task in step 4 will be to re-add drivers one at a time until you find the one that breaks the build process.

Once discovered, you can contact the author to see if there are updates, or you can disable that driver when doing Fortran PowerStation builds.

If your CD-ROM or hard-disk drive was previously using a third-party driver, there is a good chance you will not be able to install in safe mode due to an inability to access either your CD-ROM or hard disk drive. If that is the case, proceed to step 4 for step-by-step clean boot instructions to load only the hard disk driver or CD-ROM driver file and no others.

Alternatively, you can share out the CD-ROM drive on the other machine and install from there.

Check for a bad CD-ROM disc. This is unlikely yet still possible. Verify that the CD-ROM disc is bad by doing one of the following:

•	Wipe the CD-ROM disc gently with a soft cloth to remove any smudges, dust, or fingerprints. Be careful not to scratch it. Wiping outward from the center is the recommended method for cleaning a CD-ROM disc.

Any scratches produced will be radial and less likely to affect data transfers. Inspect the CD-ROM disc for deep scratches. These can also cause read errors.

•	If another machine with a different CD-ROM drive is available, install on that machine, and see if the installation works. If it does, you've verified that your CD-ROM disc is not the problem.

•	If you have another Fortran PowerStation CD-ROM disc for the same Fortran PowerStation version, use FC.EXE to compare the two for possible differences. You could also install from this second CD-ROM disc. If everything installs and works, then it is probable that the first one is bad. Call Fortran PowerStation Product Support at the number included in your documentation that comes with the product. Be sure to be prepared to repeat the tests that led you to the conclusion that your CD-ROM disc was bad.

1.	Arriving at this step probably means one of two things. You have installed and can build in safe mode, but cannot build in your regular configuration, or you could not access your hard-disk drive or CD-ROM in safe mode. In this step, you will clean boot again, but with step-by-step confirmation for each driver being loaded.

•	Rename your SYSTEM.INI file to something else, such as SYSTEM.ORG (avoid .BAK as a suffix). Second, copy (do not rename) SYSTEM.CB to SYSTEM.INI. The SYSTEM.CB file is the "clean" SYSTEM.INI that safe mode uses to boot your computer.

•	Shut down your computer, and then restart it. When the screen says "Starting Windows 95," press the F8 key for the Windows 95 start-up menu.

•	Select Step-by-Step Confirmation, then follow these steps:

1)  Answer Y to process the system registry.

2)  Answer Y to create a start-up log file. The log file can be helpful in diagnosing problems, such as VxD's that can't load.

3)  Answer Y to process your start-up device drivers (CONFIG.SYS). You will not be asked this question if CONFIG.SYS is not found.

4)  Answer Y or N to each driver as appropriate (answer Y to HIMEM.SYS, EMM386.SYS, LFSHLP.SYS).

5)  Answer Y to process AUTOEXEC.BAT, or Y to load the Windows graphical user interface. You will be asked the first question if AUTOEXEC.BAT is not found, and the second question if it is.

6)  Answer Y to load all Windows Drivers. These are the internal Windows system drivers and are required.

If you are at this step (step 4) because of an inability to access your CD-ROM or your hard disk drive in safe mode, attempt to complete the installation if it is not already complete, and build a program. If you still cannot build or install, then the conflict is probably with the very driver you need to access your hard disk or CD-ROM drive. Note the name of the driver file involved, the date and time of the file, and the size in bytes. You may also be able to get a revision number by clicking the right mouse button when the file is selected in the Windows Explorer and selecting Properties. With this information, contact your hardware vendor to see if they have an update or a patch you can acquire.

A common symptom of CD-ROM or hard disk drive drivers conflicting or failing is files becoming corrupt during what appears to be a successful installation of Fortran PowerStation. To verify the integrity of the files copied from the CD-ROM to the hard disk drive, use FC.EXE. For information on how to do this, please see the following article in the Microsoft Knowledge Base:

•	ARTICLE-ID: Q94653: Using FC.EXE to Verify CD-ROM File System Drivers

Note that three files (MSDEV.EXE, FPSVARS.BAT, and MSVCFOR.PKG) are changed by the setup program, and are therefore reported as being different by FC.EXE. If any other files are found to differ, simply copying them from the CD-ROM drive may fix the problem.

If setup is still failing, the CD-ROM driver is the one that is conflicting, and it is impossible to download a new CD-ROM device driver, there is a last resort that sometimes works. Boot to MS-DOS mode. Copy the entire CD contents to a temporary directory on the computer's hard drive by using XCOPY. Then install from the temporary directory. Finally, delete the temporary directory. Of course this "solution" requires that the computer have plenty of extra disk space available.

If you are at step 4 because you can build in safe mode, but not in standard mode, begin adding the drivers you weren't loading, one-by-one, until the process breaks. If all drivers get loaded and the program still builds, your video driver may be at fault, or it may be a combination of two or more drivers being loaded simultaneously (and conflicting with each other) that is causing the problem. Once the culprit is found, again note the date and time, size in bytes, and possibly the revision number of the driver. Then contact the driver's manufacturer for an update or patch.


Bad Software Installation under Windows 95

Step-by-Step Troubleshooting Process

1.	Check the Microsoft Knowledge Base for known problems before troubleshooting a problem that Microsoft has already tracked for you. The Microsoft Knowledge Base is available on the services listed in the "References (Under Windows 95)" section.

2.	Check for Fortran PowerStation corrupted Registry entries. If you are not familiar with the Registry, be very careful following these instructions. Deleting the wrong registry keys can cause many more problems.

Registry entries may be viewed or edited by using REGEDIT.EXE, which comes with Windows 95. The registry is a database designed to hold information about your entire Windows 95 system. Fortran PowerStation and other Microsoft applications store configuration information in this area. You will find this information in the following keys:

HKEY_CURRENT_USER\Software\Microsoft\Developer

HKEY_CURRENT_USER\Software\Microsoft\InfoViewer

HKEY_LOCAL_MACHINE\Software\Microsoft\Developer

HKEY_LOCAL_MACHINE\Software\Microsoft\InfoViewer

A new registry entry with all default values is generated the first time you run Fortran PowerStation if there is no registry entry for it.

To see this information, the window in focus must be HKEY_CURRENT_USER. The other keys (Software, Microsoft, and so on) are contained in a tree structure similar to the directory structure shown in Explorer. You can select a registry key by using the mouse. Double-click the key to open up any other branches below it.

Note   Before trying this step, be certain that you have the correct key selected (highlighted). If you delete another key, you may destroy valuable information that your system or another application needs to run.

You can delete the Fortran PowerStation registry tree by selecting it and then clicking Delete on the menu. When this key is removed, Fortran PowerStation can still be run, but it may not have some of its parameters set properly.

Running parts of the Fortran PowerStation interface may restore some of the registry keys to their default values, but rerunning setup is the only way to fully restore the registry.

If the problem is not fixed by deleting the registry entries, the next step is to uninstall Fortran PowerStation, and then reinstall Fortran PowerStation and test the installation again.

1.	Check for other bugs or problems with setup. Search the Microsoft Knowledge Base for a list of known issues with the setup program.

For further information, see:

•	Creating a Hardware Profile under Windows 95


Creating a Hardware Profile under Windows 95

If you have to manipulate driver files individually, it may be useful to create a Hardware Profile, with only certain specified drivers loaded. Hardware Profiles may be created and saved as follows:

1.	Select My Computer using the right mouse button. Select the Hardware Profile tab, highlight Original Profile in the list box, and choose the Copy Button, naming the new profile as you wish. This Hardware Profile is now an exact copy of your original or default configuration.

2.	Select the Device Manager tab, and open the property sheet for each device driver. Note the section called Device Usage. Clear the check box next to your new profile for each device driver you don't want to load when booting under your new profile.

If you have more than one profile, Windows 95 will prompt you for which profile you wish to boot under at start-up.


References (Under Windows 95)

The Microsoft Knowledge Base is available on the following services:

•	MSN The Microsoft Network

•	The Microsoft Technet CD-ROM disc

•	The Microsoft Developer Library CD-ROM disc (Developer products only)

•	The Internet (ftp.microsoft.com)

•	The World Wide Web (http://www.microsoft.com)


Fortran Powerstation 4.0 Frequently Asked Questions

Q.  Can I install Fortran PowerStation on a network?

A.  Yes, you can. Instructions for installing and administering Fortran PowerStation on a network are located in the file \FPSSETUP\NETWORK.BAT. Network installation is only possible with the Fortran PowerStation CD.

Q.  When I uninstall the product using the Remove All option, why does the FPSSetup directory remain in the Fortran PowerStation program group in Windows NT 3.51?

A.  Uninstall doesn't remove the FPSSetup directory on NT 3.51. This is the way the setup works. SETUP.EXE itself is deleted properly, but not the \FPSSETUP directory.

Q.  Can I create a change or create a new a project type based on an existing project?

A.  If you have a project of one type (such as console application) and you want to change it to another type (such as QuickWin), you must start over. The same applies if you have a project which you want to use as the basis for another similar project of a different type.

Q.  How do the keywords get colored in Microsoft Developer Studio?

A.  By design, the keywords are colored without any knowledge of context. Microsoft Developer Studio has no compiler parser. For example, if you have a variable with the name "end", it will be colored, because there is a valid statement with the same name.

Q.  Is syntax code coloring available for user-defined types?

A.  No, the code coloring is not available for user-defined data types.

Q.  Can I save the Watch or Variables windows in the debugger?

A.  In the past you were able to save the Various windows that the debugger used as files. You can no longer do this with the Watch and Variables windows. However, you can copy the content to the Clipboard and paste it in a file.

Q.  How can I debug assumed-size arrays?

A.  When displaying an assumed size array it will expand to display the first element of the leftmost index. As an example, if you have an array A(3), you only see A(1) in the array expansion in the Watch, Quickwatch, and Variables windows. If, on the other hand, you have a multidimensional array such as A(2,2,2), when expanded, you will see A(1,1,1), A(2,1,1), A(1,2,1), A(2,2,1). Assumed-size arrays have many restrictions on them in source code. If you want to look at the rest of the array, you need to use the Memory window.

Q.  If you have a DO loop and set a breakpoint on the DO line, the breakpoint only stops the first time through when debugging. For example, if I said DO N=1,100, I would expect to stop on the line 100 times, yet I only stop there once.

A.  A debug source line consists of zero or more assembly lines. When you set a breakpoint on a source line, a breakpoint is set on the first instruction in a group of assembly instructions. A simple DO loop consists of about a dozen assembly lines. The first half sets up the variables and the last half decrements the variables and checks for loop termination. When you set a breakpoint on the source line, you are actually setting a breakpoint on the initialization code. If you step through this in disassembly mode you can see what is happening. If you want to set a breakpoint that stops at each loop iteration you can either:

•	Set the breakpoint on the first source line inside the DO loop

 - or -

•	Select Disassembly from the View menu after the debugger has been started and set the breakpoint on the loop code

Q.  If the exception for floating divide-by-zero is set at "Stop if not handled" in the Debug\Exceptions menu, the debugger does not stop even if divide by zero is not handled. It does stop if "Stop always" is selected.

A.  The floating point divide-by-zero, and in general all floating point errors, are handled by the system with the response of terminating whatever is causing the error unless told otherwise. The debugger will stop only if "Stop always" is selected in Debug\Exceptions menu. This behavior is by design.

Q.  If I type the name of a common block into the Watch window, I get an "Invalid debug info" error. If I put slashes (/) around it I get a syntax error.

A.  This is a known problem. You can watch common block local variables in the Variables window. Common block variables that are not local cannot be watched.

Q.  When I try to use PRINT * within InitialMenu I get an error message. For example: "An application error has occurred and an application error log is being generated. Exception: access violation (0xc0000005), Address: 0x004100d8" is returned and the program crashes.

      INCLUDE 'FLIB.FI'

      INCLUDE 'FLIB.FD'

      PRINT*, 'Test'

      END

      LOGICAL*4 FUNCTION InitialMenu

      INCLUDE 'FLIB.FD'

      print*, 'Test'

      InitialMenu = .TRUE.

      END

A.  The problem is that the connection between QuickWin and the I/O system isn't there yet. Writing to an external file does work.

InitialMenu should not attempt to alter any QuickWin windows (through I/O, graphics routines, OPENs, and others).

Q.  Can an erroneous mouse callback interface be flagged?

A.  No, the compiler cannot detect errors caused by mismatches in the number or types of the arguments to callback routines.

Q.  Does the PEEKCHARQQ work in standard graphics or in a Quickwin application?

A.  This is a known limitation; PEEKCHARQQ does not work in standard graphics or in Quickwin applications.

Q.  GETGTEXTEXTENT sometimes returns values greater than I expect. Why?

A.  When the argument to GETGTEXTEXTENT is a variable, any trailing spaces are included in the calculation.

Q. Is there a run-time function that returns a size of a type? Some of the Win32 API's need this information.

A  No, but you can get the information using the LOC function as follows:

        type mytype

           integer a

           real b

        end type

        type (mytype) dummyarray(2)

        integer size

        size= loc(dummyarray(2)) - loc(dummyarray(1))

        print*, size

Q.  Why does the following code compile and execute under Fortran PowerStation 1.0 but generates a compiler error message when compiled with Fortran PowerStation 4.0.?

The error occurs when a function is declared with a varname*length, but a regular variable is okay when it is declared that way.

      INTEGER I*4   !This is okay

      END

      INTEGER FUNCTION X()*4   !This causes a compilation error

      END

A.  This is a known problem in FortranPowerStation version 4.0. Avoid the varname*length expresion with the function declaration.

Q.  Why does the RETURN statement cause a compiler error in a main program?

The following code compiles cleanly under Fortran PowerStation 1.0 but generates a compilation error under PowerStation 4.0. This error occurs because of the use of the RETURN statement in the main program.

      i=1

      RETURN   !This line produces a compilation error

      END

A.  This is a known problem in Fortran PowerStation 4.0. To avoid the error remove the RETURN statement from the main program.

Q.  Can I reference a program unit that contains a BLOCK DATA statement with an EXTERNAL statement? For example:

block data foo

common /g/ i

data i /1/

end

A.  We don't generate an external for the block data name for the previous example  "_FOO" in the .obj file. This feature might be useful when sharing the DLL data. See the Readme section in Books Online for more information.

Q.  I have a directory drive whose name is just one letter long, and the command fl32 /? doesn't work. Why?

A.  If you have a single-letter directory on your drive, then the fl32 driver program will pick it up and think that it is a flag. For example:

Command line warning D2009: unrecognized flag /F ignored.

Command line warning D2009: unrecognized flag /L ignored.

Command line error D2003: missing source filename

If you have a root directory whose name is one character long, then "fl32 /?" will give you an error like those above instead of the help page. Using "fl32 -?" is a workaround.

Q.  How can I get help regarding Windows API's?

A.  If you are using the CD version of Fortran PowerStation 4.0, you can access help for Windows API's by selecting Open Information Title from the Help menu in Microsoft Developer Studio, and then choosing the Win32 Software Development Kit title. You can also click on the InfoViewer toolbar in Microsoft Developer Studio to open this title.


Where to Go Next

If the information needed to solve your problem isn't available in the Troubleshooting Guide or Frequently Asked Questions, you can:

Consult the documentation and other printed information included with your product.

Check Books Online, if available.

Check the Readme section in Books Online that comes with your product disks. This section provides general information that became available after the books in the product package were published.

Consult electronic options such as MSN, the Internet (ftp.microsoft.com), or the World Wide Web (http://www.microsoft.com).

If all of these sources of information fail to help you, contact the Microsoft Product Support Services through the Microsoft AnswerPoint.


Visual Test Troubleshooting Guide

Most problems can be solved using the information provided with Visual Test 4.0. Here are some steps which can help you take advantage of the Visual Test resources and help you identify the problem if you need to call technical support.

Resolve Known Installation Problems

If you want to use Visual Test with other Microsoft products that function within Microsoft Developer Studio, such as Visual C++ or Fortran PowerStation, you must install all of these products in the same directory. (The default installation directory is \MSDEV.)

For more information on installation issues, see:

•	Installing on Windows NT Version 3.51

•	Installing with Microsoft Test 3.0

Check the Product Documentation

This is one of the most productive ways to find answers to questions, and it can save you time and money. You can consult several types of documentation:

•	Books Online. You can scan for information in InfoViewer, use Search to either search for a specific keyword or do a full-text search on a subject.

•	Context-sensitive help is available on error messages. To get help on an error message, you can double-click on the error message number.

•	Context-sensitive help is available on specific keywords and functions in your source code, in a topic in Books Online, or in the text of an error message. You can access Help by selecting the keyword or function name and pressing F1.

•	Readme. This section in Books Online contains late-breaking information. You can open the Readme section by selecting it in Books Online.

•	Code examples. Visual Test Books Online includes many brief code excerpts. You can also refer to sample test projects installed in the \SAMPLES\VTEST40 subdirectory of the directory where Visual Test is installed. (The default installation directory is \MSDEV.) Descriptions of these samples and instructions for opening the sample test projects appear at the end of the Visual Test Tour in Books Online.

•	Microsoft Knowledge Base. The Microsoft Knowledge Base contains thousands of articles on known problems and programming issues. It is available through the Microsoft Developer's Network CD-ROM, and it can also be accessed from MSN (the Microsoft Network), the World Wide Web (http://www.microsoft.com), or the Internet (ftp.microsoft.com). Visual Test Books Online includes a set of Knowledge Base articles about using the features of Visual Test.

Reproduce the Problem

Reproducing the problem is the first step in solving it. Once you can reproduce the problem, you can start finding solutions. The following questions may give you more insight on the problem:

•	Does the problem occur with just this one test case file? If you cannot reproduce the problem in other test case files, you should focus on whatever is unique to the test case file where the problem occurs.

•	Does the problem occur on just your machine? If so, the problem may be related to your system configuration.

•	Under what circumstances does the problem occur? Does it only occur when you run from the command line, or within Microsoft Developer Studio? Does the amount of available memory affect the problem? How about other programs that are running in the system?

The rest of this topic describes some specific problems and solutions.

Problem: BoundsChecker(TM) does not work on both operating systems when you install Visual Test for both Windows 95 and Windows NT on the same computer. For example, if you install Visual Test on Windows 95 and then on Windows NT on the same computer, BoundsChecker does not work when you reboot under Windows 95.

Solution: The library BCK32API.DLL is provided in two versions, one for Windows 95 and the other for Windows NT. When you install Visual Test, Setup installs the appropriate DLL version for the current operating system. If you install Visual Test twice, once for each operating system, the most recently installed version of BCK32API.DLL is the only one present. For BoundsChecker to work under either operating system, you must have the correct version of BCK32API.DLL stored in the \BCTEST2 subdirectory of the main directory where Visual Test is installed. You can copy either version of this library directly from the CD-ROM. The two versions of this DLL are located in the following directories:

•	VTEST40\BCTEST2\WIN95

•	VTEST40\BCTEST2\NT

If you frequently perform testing under both operating systems on the same machine, you can automate this process. You can use the Platforms tab on the property page for each test case file or test folder to specify the operating system on which the test case or test folder should be run. You can also copy the correct version of the library in the startup processing in your test case files or folder entry scripts.

Problem: In Microsoft Developer Studio, you are running a test case file that uses OLE Automation procedures and you observe unpredictable behavior. For example, a General Protection Fault may occur if the test case attempts to create an instance of an OLE object by using the OLE Automation procedures. This can occur when the object being driven via OLE Automation does not have the capability to deal with multiple threads, because the test case file executes in a thread separate from the main OLE thread.

Solution: Run the test case file from Suite Manager or directly from the command line.

Problem: A COPY statement used to copy a file to a shared directory on another machine fails with the message "Access denied" when the destination specified in the COPY statement is a relative path without a filename. For example, the following code works from a command prompt but fails within a test case file:

COPY "c:\Proj1\case2.mst" TO "\\TLab3\public"

Solution: Specify the filename in the destination:

COPY "c:\Proj1\case2.mst" TO "\\TLab3\public\case2.mst"


Installing on Windows NT Version 3.51

If you are installing Microsoft Visual Test on a machine using Windows NT 3.51, you should update one of the Windows NT 3.51 system files, WINSRV.DLL. Japanese, Korean, Taiwanese, and Chinese versions of Windows NT 3.51 do not require this service update. If you are running one of these systems, ignore the instructions below.

The file WINSRV.DLL is found in the Windows NT 3.51 Service Pack 1. The Service Pack also addresses some issues with the Help on Windows NT 3.51 and contains other enhancements. To find out whether you have a Service Pack installed, you can use the About Program Manager command on the Help menu in Program Manager.

Windows NT 3.51 users can access the Service Pack by using the Internet. To download the Service Pack, type the following commands:

ftp ftp.microsoft.com

logon anonymous

cd bussys/winnt/winnt-public/fixes/nt351

bin

get <Latest Service Pack for NT 3.51>


Installing with Microsoft Test 3.0

If you install Microsoft Visual Test 4.0 on a machine with an existing installation of Microsoft Test 3.0, Setup updates the PATH setting so that the current version is accessed. If you use the default Visual Test installation destination, C:\MSDEV, the updated PATH includes the C:\MSDEV\BIN directory instead of the directory where Microsoft Test 3.0 resides. This PATH change ensures that the current version of the MT and MTRUN utilities (the run-time engine) can be found. After this PATH change is made, when you run a Test language file from the command line or via the RUN statement, the execution uses the Visual Test 4.0 run-time engine rather than the older version.

If you later want to use Microsoft Test 3.0 for certain test runs, you must change the PATH setting. To return to Visual Test use, you must update the PATH setting again. The PATH must be set appropriately before you start either Micorsoft Test 3.0 or Visual Test 4.0.


Visual Test Frequently Asked Questions

Q. How do I start my application using a Visual Test script?

A. You can use RUN to start your application. Please refer to the "RUN Function" or the "RUN Statement" in the Language Reference in Books Online for more information. For example :

RUN   "C:\WINDOWS\NOTEPAD.EXE" , NOWAIT

starts Notepad from within a test script.

Q. How do I find more information about the control that I am working with, for example, its class name or ID?

A. You can use the Window Information (WInfo) utility to find more information on the control you are working with. You can run WInfo by choosing the WInfo command from the Test menu in Microsoft Developer Studio. Please search in Books Online on "Window Information Utility" for more information.

Q. The Scenario Recorder displays a Define Unknown Control dialog box. What is the type of control that I need to select?

A. You can select Window for the type of control if you are not sure about the type of control.

If you are sure that the specific type of control behaves like some standard control, and also that it processes standard messages for that control, you can select that type. For example, if the control behaves like an edit box and processes EM_XXXXX messages, then you can select Edit for the type of control.

Q. How can I distribute my Visual Test scripts or run them on other PCs without installing Visual Test?

A. You can compile your scripts into a .PCD file and distribute them along with the necessary files needed to run your scripts. Choose the Compile command from the Test menu in Microsoft Developer Studio to compile your scripts into .PCD files.

Q. How do I synchronize my test script with the application I am testing?

A. A test script is not going to wait until the application under test finishes the task or event triggered by the test script. The test script is going to execute the next line of code as soon as it hands over some task to the application under test. So if you need to make the test script wait, you need to have commands in your script to do this. Please refer to Knowledge Base article Q136208, "Techniques for Determining When a Task Has Completed," in Books Online.

Q. How do I run multiple scripts as a test suite?

A. You can use Suite Manager to create, manage, and run test suites. After you've created a test project with Microsoft Developer Studio, the next step is to use Suite Manager to create and run different suites of test folders and test case files that fully test the application. Please refer to "Suite Manager" in the Utilities User's Guide in Books Online for more information.

Q. Screen comparison functions indicate that there is a mismatch between the source and the target files/screens. How can I see what the differences are?

A. Save the screen image to a new file when there is a mismatch, and use the Screen Utility to compare the two files (the source and the target). That should give you a comparison image to view.

Q. Can I run Visual Test 4.0 on a 16-bit platform like Windows 3.1?

A. No. Visual Test 4.0 only runs on 32-bit platforms (Windows 95 and Windows NT 3.5x). You can run Microsoft Test 3.0 on Windows 3.1 or Windows for Workgroups 3.11. You should have received a copy of Microsoft Test 3.0 along with Visual Test 4.0

Q. How do I trap the error message window displayed by the application I am testing?

A. You can trap a window using Visual Test's notifications functionality. Please refer to "Handling Errors and Events" in the Programmer's Guide in Books Online for more information on this. Also, you can search in the Knowledge Base articles included in Books Online for an article on this topic.

Q. Do I need to change my Test 3.0 scripts to run on Visual Test 4.0?

A. Yes. Please refer to "Upgrading Existing Test Scripts" in the Programmer's Guide in Books Online for more information.

Q. What should I do to solve problems with Visual Test on my own?

A. Search the Books Online for information on a topic or an error message.

Isolate the problem: Isolating the problem often leads to the solution. Also, if you can't accurately describe how and when the problem occurs, then any support engineer would have to walk you through your code to attempt to isolate the problem.

Q. What are some things I can do to isolate the problem?

A. Identify the problem: You should attempt to identify the line or lines of code generating the error. If you can isolate the problem to one block of code, try to reproduce the same problem with this block of code separated from the rest of your program. You should eliminate any code that does not seem to relate to the problem. Select the code, copy it, start a new project, paste the code into the new project, run the new project, and see if the error still occurs. Use the debugging facilities built into Visual Test 4.0. Please refer to "Using the Test Debugger" in the Microsoft Developer Studio User's Guide for more information.

Look in the Knowledge Base: The Microsoft Developer Knowledge Base (GO MDKB) is a tremendous resource for dealing with Microsoft products. Developer Support Engineers at Microsoft create solutions and explain problems or techniques that come up in the course of using Microsoft products. This information is compiled into articles and placed into the Knowledge Base (KB).


Where To Go Next

If the information needed to solve your problem isn't available in Visual Test Frequently Asked Questions, you can:

Consult the documentation and other printed information included with your product.

Check Books Online, if available.

Check the README files that come with your product disks. These files provide general information that became available after the books in the product package were published.

Consult electronic options such as the Internet or bulletin boards, if available.

If all of these sources of information fail to help you, contact Microsoft Product Support Services through the Microsoft AnswerPoint.


Microsoft AnswerPoint

Microsoft AnswerPoint offers high-quality technical support options that allow you to get what you need: the right answers, right now.  For information about support services in the United States and Canada, see Product Support Within the United States and Canada.

Services and prices may vary outside the United States and Canada. Microsoft AnswerPoint support services are subject to Microsoft's then-current prices, terms, and conditions, and are subject to change without notice.

Outside the United States and Canada, contact Microsoft Product Support Services at the Microsoft subsidiary office that serves your area. For information about Microsoft subsidiary offices, see Product Support Worldwide.


Product Support Within the United States and Canada

In the United States and Canada, the following support options are available through Microsoft's AnswerPoint support services:

Information Services

Standard Support

Developer Fee-based Support

Text Telephone

Other Microsoft Services

See also

Product Support Worldwide


Information Services

Microsoft provides an unprecedented number of no-charge or low-cost support tools and support services 24 hours a day, 7 days a week. Many of the following support options make reference to three robust, self-help tools: the Microsoft Knowledge Base, the Microsoft Software Library, and Frequently Asked Questions. Below is a brief description of these tools.

Microsoft Knowledge Base.  Microsoft Knowledge Base is the same database that Microsoft support engineers use to provide you with answers to common questions. It is a comprehensive collection of more than 50,000 detailed articles with technical information about Microsoft products, bug and fix lists, and documentation errors. Regular browsing through the Microsoft Knowledge Base will keep you up to date on the technical issues that affect the software and hardware configurations you use.

Microsoft Software Library.  The Microsoft Software Library contains hundreds of free software add-ons, bug fixes, peripheral drivers, software updates, and programming aids for easy downloading at your convenience.

Frequently Asked Questions.  Use the Microsoft FAQs to find "the right answers, right now". Here you will find quick answers to the most common technical issues about your favorite Microsoft product.

Internet Newsgroups.  Microsoft sponsors a series of Internet newsgroups for users to share their knowledge of the product with other users.  Microsoft support engineers do not answer questions posted in these forums. If you currently use a newsgroup reader such as Microsoft Internet Explorer version 2.0 or later, you can access these newsgroups using the server name msnews.microsoft.com.  The server does not require a password.  Consult your newsgroup reader documentation for more information on how to access this server.

To access the Visual C++ newsgroups from MSN, use the go word msvc++_sd_www.

Microsoft FastTips

(800) 936-4300 on a touch-tone telephone. Receive automated answers to common technical problems, and access popular articles from the Microsoft Knowledge Base, all delivered by recording or fax. You can use the following keys on your touch-tone telephone after you reach FastTips:

To	Press
Advance to the next message	*
Repeat the current message	7
Return to the beginning of FastTips	#
Microsoft Download Service

Access, via modem, sample programs, device drivers, patches, software updates and programming aides (1200, 2400, or 9600 baud; no parity; 8 data bits; 1 stop bit). In the United States, call (206) 936-6735.  In Canada, call (905) 507-3022.

Internet

Microsoft's Internet services are enormously popular. More than 750,000 of our customers access the Microsoft Knowledge Base or Microsoft Software Library each week by using Internet services. We also have additional Microsoft information such as resource kits, white papers, and the latest information about Microsoft products. It's easy to search through these technical sources to find what you need.

If you're an Internet user, you can access this information for no charge (connect charges may apply) at the following locations:

The Microsoft World Wide Web support site is located at http://www.microsoft.com/support/. This site contains the Microsoft Frequently Asked Questions, the Microsoft Knowledge Base, the Microsoft Software Library, password-protected areas for support contract holders and support partners, various white papers, and other Microsoft product and service information.

The Microsoft FTP site, located at ftp.microsoft.com, is a repository for the Microsoft Software Library, the Microsoft Knowledge Base, resource kit utility files, and other Microsoft product information files.

The Microsoft Network and Other Online Services

You can access the 50,000-plus Microsoft Knowledge Base articles and the Microsoft Software Library files through The Microsoft Network and other online services. Additional services, such as the Microsoft Frequently Asked Questions and World Wide Web links, are available on The Microsoft Network.

To access Microsoft support services on The Microsoft Network, type GO MSSUPPORT (to view a wide range of Microsoft support options).

See also

Standard Support

Developer Fee-based Support

Text Telephone

Other Microsoft Services


Standard Support

Microsoft AnswerPoint Standard support provides no-charge support from Microsoft support engineers via a toll call between 6:00 A.M. and 6:00 P.M. Pacific time, Monday through Friday, excluding holidays. In Canada, support engineers are available via a toll call between 8:00 A.M. and 8:00 P.M. Eastern time, Monday through Friday, excluding holidays. Every Microsoft development tools product includes 2 no-charge support incidents that may be used for the current version of the product.

Before calling for Standard support or for reporting bugs, you should check Microsoft's free Information Services. To report a Visual C++ product bug, you can use the World Wide Web address http://www.microsoft.com/support/products/developer/visualc/report. Otherwise, product bugs can be reported to the same numbers listed below without using a support incident. If you call and the answer to your question is available from these services and is not a bug, the call will still count as 1 support incident.

Note   Some of the components shipped with your product may not be supported by Microsoft. If you purchased the Special Edition of Visual J++, product support is not available.

•	For Visual C++ technical support in the United States, call (206) 635-7007.

•	For Visual C++ technical support in Canada, call (905) 568-3503.

•	For Visual J++ technical support, call (206) 635-7011. Note that product support is not available for the Special Edition of Visual J++.

•	For Fortran technical support, call (206) 635-7015.

•	For Visual Test technical support, call (206) 635-7052.

The following components are not supported by Microsoft:

•	Crystal Reports.  See the README.HLP file in the \Crystal subdirectory on your CD.

•	InstallShield.  See the README.HLP file in the InstallShield directory on your hard drive after installing the product.

•	Many of the redistributable controls included in this product may have corresponding helpfiles that contain support information. Be sure to check the "redist" directory on your CD. The files should have the same root name as the control plus an .HLP extension.

When you call, you should be at your computer and have the appropriate product documentation at hand. Be prepared to give the following information:

•	The product id number of the Microsoft product that you are using.

•	The type of hardware that you are using.

•	The exact wording of any messages that appeared on your screen.

•	A description of what happened and what you were doing when the problem occurred.

•	A description of how you tried to solve the problem.

An incident is defined as a single support issue and the reasonable effort needed to resolve it.  A single support issue is a problem that cannot be broken down into subordinate problems.  If a problem consists of subordinate problems, each shall be considered a separate incident.  Before Microsoft provides support for an incident, you and Microsoft's designated support engineer must agree on what the problem is and the parameters for an acceptable solution.  An incident may require multiple telephone calls and offline research to resolve it.  A Microsoft product bug is not considered a fee-based incident.

See also

Information Services

Developer Fee-based Support

Text Telephone

Other Microsoft Services


Fee-Based Support
Developer Fee-Based Support

In the United States and Canada, Microsoft AnswerPoint Developer support provides around-the-clock telephone and electronic technical support on either an annual subscription or per-incident basis for all Microsoft development tools products.  Choose the type of support that best meets your needs.

Before calling for Fee-Based support, you should check Microsoft's free Information Services for the answer to your question. If you call and the answer to your question is available from these services, you will still be charged for the call.

Note   Product support is not available for the Special Edition of Visual J++.

Pay-Per-Incident

•	Call (800) 936-5800; $95 (U.S.) per incident, billed to your VISA card, MasterCard, or American Express card.

•	Call (900) 555-2300; $95 (U.S.) per incident. Charges appear on your telephone bill.

Annual Subscription Options

Annual subscription options include 10 or 35 incident packs and additional membership benefits. For information in the United States and Canada, contact Microsoft Support Sales at (800) 936-3500 between 6:00 A.M. and 6:00 P.M. Pacific time, Monday through Friday, excluding holidays. Technical support is not available through this sales number. Please refer to the previously listed support options for technical support.

See also

Information Services

Standard Support

Text Telephone

Other Microsoft Services


Text Telephone

Microsoft text telephone (TT/TDD) services are available for the deaf or hard-of-hearing. In the United States, using a TT/TDD modem, dial (206) 635-4948 between 6:00 A.M. and 6:00 P.M. Pacific time, Monday through Friday, excluding holidays. In Canada, using a TT/TDD modem, dial (905) 568-9641 between 8:00 A.M. and 8:00 P.M. Eastern time, Monday through Friday, excluding holidays.

Note   Product support is not available for the Special Edition of Visual J++.

See also

Information Services

Standard Support

Developer Fee-based Support

Other Microsoft Services


Other Microsoft Services

Microsoft Authorized Support Centers

Microsoft Authorized Support Centers (ASCs) are a select group of strategic support providers who offer high quality customized support services that span the complete systems life cycle of planning, building, and managing your multivendor environment. Services include: on-site support, integration and implementation services, help desk services, hardware support, development resources, and others. Choosing an ASC allows you to work with one vendor for all of your technical support and service needs. You can also combine ASC services with your in-house help desk or Microsoft support service option to best fit your information technology support needs.

For more information on the ASC program, in the U.S. call (800) 936-3500 between 6:00 A.M. and 6:00 P.M. Pacific time, Monday through Friday, excluding holidays. In Canada, call (800) 563-9048 between 8:00 A.M. and 8:00 P.M. Eastern time, Monday through Friday, excluding holidays.

Microsoft Solution Providers Program

Microsoft Solution Providers are independent developers, consultants, and systems analysts that offer fee-based technical training and support, industry knowledge, objective advice, and a range of value-added services to companies of all sizes. Solution Providers work with organizations to help implement computing systems that take advantage of today's powerful new technologies.

For the name of a Microsoft Solution Provider near you, in the U.S. call (800) 426-9400 between 6:30 A.M. and 5:30 P.M. Pacific time, Monday through Friday, excluding holidays. In Canada, call (800) 563-9048 between 8:00 A.M. and 8:00 P.M. Eastern time, Monday through Friday, excluding holidays.

Microsoft Developer Network

The Microsoft Developer Network (MSDN) is the comprehensive Microsoft resource for developers. MSDN is an annual membership program for developers of Windows-based applications. Depending on your development needs, you can join one of two levels of annual membership. Level 1 delivers the latest development-related information via four quarterly updates of the Development Library CD-ROM and six bi-monthly issues of the Developer Network News newspaper. Level 2 includes all Level 1 benefits plus API-level SDKs, DDKs, and operating systems via quarterly updates of the Development Platform CD-ROMs.

To join the Microsoft Developer Network in the U.S. and Canada, call (800) 759-5474, dept. #1183, 24 hours a day, 7 days a week, excluding holidays.

Microsoft TechNet

Microsoft TechNet is the front-line resource for fast, complete answers to technical questions on Microsoft systems and desktop products. Information available on TechNet ranges from crucial data on client-server and workgroup computing, systems platforms, and database products, to the latest on support for Microsoft Windows and Macintosh-based applications. As a TechNet user you receive:

•	Twelve monthly compact discs containing the Microsoft Knowledge Base, Microsoft operating systems product resource kits, customer solutions, key Microsoft conference session notes, and other valuable information.

•	Twelve monthly supplemental (drivers and patches) compact discs containing the Microsoft Software Library.

•	A 20% discount on Microsoft Press books.

For more information about Microsoft TechNet, in the United States and Canada, call (800) 344-2121, between 7:00 A.M. and 7:00 P.M. Central time, Monday through Friday. Outside of the U.S. and Canada, contact your Microsoft Subsidiary, or call (303) 684-0914.

See also

Information Services

Standard Support

Developer Fee-based Support

Text Telephone


Product Support Worldwide

If you are outside the United States and have a question about a Microsoft product, first:

•	Consult the documentation and other printed information included with your product.

•	Check Books Online.

•	Check the README files that come with your product disks. These files provide general information that became available after the books in the product package were published.

If you cannot find a solution, you can receive information on how to obtain product support by contacting the Microsoft subsidiary office that serves your country.

Note   Product support is not available for the Special Edition of Visual J++.

The Microsoft Support Network

The Microsoft Support Network, where available, offers high-quality technical support options that allow you to get what you need: the right answers, right now.

The Microsoft Support Network is subject to Microsoft's then-current prices, terms, and conditions in place in each country at the time the services are used and is subject to change without notice.

Calling a Microsoft Subsidiary Office

When you call, you should be at your computer and have the appropriate product documentation at hand. Be prepared to give the following information:

•	The version number of Microsoft product that you are using.

•	The type of hardware that you are using, including network hardware, if applicable.

•	The operating system that you are using.

•	The exact wording of any messages that appeared on your screen.

•	A description of what happened and what you were doing when the problem occurred.

•	A description of how you tried to solve the problem.

Microsoft subsidiary offices and the countries they serve are listed below.

If there is no Microsoft office in your country, please contact the establishment from which you purchased your Microsoft product.

Area	Telephone Numbers
Argentina	Microsoft de Argentina S.A. Customer Service: (54) (1) 819-1900 Fax: (54) (1) 819-1921 Technical Support (POS and DAD): (54) (1) 314-0560 Technical Support (BSD and DD, only for installation): (54) (1) 954-5666
Australia	Microsoft Pty. Ltd. Fax: (61) (02)805-0519 Sales Information Centre: (61) (02) 870-2100 Installation Support: (61) (02) 870-2132 Bulletin Board Service: (61) (02) 878-5200 Technical Support: (61) (02) 870-2131
Austria	Microsoft Ges.m.b.H. Phone: 0222-68 76 07 Fax: 0222-68 16 2710 Information: 0660-6520 Prices, updates, etc.: 0660-6520 CompuServe: GO MSEURO (Microsoft Central Europe) Standard Support: Installation and Handling: Windows, Windows for Workgroups, Printing System: 0660-6510 Microsoft Mail Client: 0660-6593 Microsoft Excel for Windows, Microsoft Excel for OS/2, PowerPoint for Windows: 0660-6511 Microsoft Project for Windows, Microsoft Project for MS-DOS: 0660-6509 Word for MS-DOS, Fine Artist, Creative Writer: 0660-6512 Word for Windows, Word for OS/2, Microsoft Write: 0660-6513 Works for MS-DOS, Works for Windows, Publisher, WorksCalc, WorksText: 0660-6514 C/C++, FORTRAN, Macro Assembler PDS: 0660-6515 BASIC, QuickBASIC, Visual Basic: 0660-6516 MS-DOS: 0660-6517 Microsoft Software for Apple Macintosh: 0660-6518 Money, Golf, Mouse, Flight Simulator, Paintbrush, Entertainment Pack: 0660-6738 Access: 0660-6761 FoxPro: 0660-6592 Video for Windows, SoundBits, Cinemania, Beethoven, Stravinsky, Mozart, Musical Instruments, Dinosaurus, Encarta, TechNet, Developer Network, Bookshelf: 0660-6506 General information about the Microsoft Support Network in Central Europe: FAX: 0049/2622/167006
Belgium	Microsoft NV Phone: 02-7303911 Customer Service: 02-7303922 Bulletin Board: 02-7268545 (14400/1200/2400/9600 bd, 8N1, ANSI) Technical Support: 02-5133274 (Dutch speaking) 02-5023432 (English speaking) 02-5132268 (French speaking)
Bolivia	See Argentina
Brazil	Microsoft Informatica Ltda. Phone: (55) (11) 514 -7100 Fax: (55) (11) 514 - 7106/514-7107 Technical Support Phone: (55) (11) 871-0090 Technical Support Fax: (55) (11) 262-8638 Technical Support Bulletin Board Service: (55) (11) 872-4106 Technical Support Help by Fax (55) (11) 871-4701
Canada	Microsoft Canada Inc. Head Office Phone: 1 (905) 568-0434 Customer Support Centre: 1 (800) 563-9048 Microsoft Support Network: For Microsoft Office, Microsoft Access, Microsoft Excel, PowerPoint®, Schedule+, and Word, call (905) 568-2294 For all other Microsoft products, call (905) 568-3503. Macintosh applications: For Microsoft Office, Microsoft Excel, PowerPoint®, and Word, call (905) 568-2294. For all other Microsoft products, call (905) 568-3503. Priority Support Information: 1 (800) 668-7975 Text Telephone (TT/TDD) 1 (905) 568-9641 Technical Support Bulletin Board Service: 1 (905) 507-3022
Caribbean	Microsoft Caribbean, Inc. Phone: (809) 273-3600 Fax: (809) 273-3636 Technical Support: (214) 714-9100
Chile	Microsoft Chile S.A. Phone:   56-2-330-6000 Fax: 56-2-330-6190 Customer Service: 56-2-800-213121 Personal Operating System and Applications Phone: 56-2-330-6222  fax: 56-2-341-1439
Colombia	Microsoft Colombia Phone: (571) 618 2245 Fax:(571) 618 2269 Technical Support: (571) 618 2255
Czech Republic	Microsoft s.r.o. Novodvorska 1010/14B 140 00 Praha 4 Phone (+42) (2) 611 97 111 Fax: (+42) (2) 611 97 100 Technical Support: Phone: (+42) (2) 2451 0554 or 53 52 56 (Win95 only)
Denmark	Microsoft Denmark AS Phone: (45) (44) 89 01 11 Microsoft Sales Support: (45) (44) 89 01 90 Microsoft FaxSvar: (45) (44) 89 01 44 Microsoft BBS: (45) (44) 66 90 46 (Document 303030 in FaxSvar contains detailed instructions) Technical Support: (45)  (44) 89 01 11 Microsoft MSDL: 44 66 90 46 Microsoft FastTips: 44 89 01 44
Dubai	Microsoft Middle East Phone: (971) 4 513 888 Fax: (971) 4 527 444
Ecuador	Corporation Microsoft del Ecuador S.A. Phone: (593) 2 460-447, (593) 2 460-451 Customer Service: (593) 2 460-453, (593) 2 460-458 Technical Support: (593) (2) 463-094
England	See United Kingdom
Finland	Microsoft OY Phone: (0358) (90) 525 502 500 Microsoft FaxSvar: (46) (0)8 752 29 00 (Information in Swedish and English) Microsoft BBS: (46) (0) 8 750 47 42 (Information in Swedish and English) Microsoft MSDL: 90-455 03 66 Microsoft FastTips: 90-525 502 550 For Technical Support, please contact your local dealer.
France	Microsoft France Phone: (33) (1) 69-86-46-46 Fax: (33) (1) 64-46-06-60 Telex: MSPARIS 604322 Technical Support Phone: (33) (1) 69-86-10-20 Technical Support Fax: (33) (1) 69-28-00-28 Fax Information Service: (33) 36-70-13-13
French Polynesia	See France
Germany	Microsoft GmbH Phone: 089-3176-0 Fax: 089-3176-1000 Telex: (17) 89 83 28 MS GMBH D Information: 089-3176 1199 Prices, updates, etc.: 089-3176 1199 CompuServe: GO MSEURO (Microsoft Central Europe) Bulletin board, device drivers, tech notes: Btx: *microsoft# or *610808000#  Standard Support: Installation and Handling: Windows 95: 089 / 31 76 - 11 15 Windows, Windows for Workgroups, Printing System: 089/3176-1110 Microsoft Mail Client: 089/3176-1112 Microsoft Excel for Windows, Microsoft Excel for OS/2, PowerPoint for Windows: 089/3176-1120 Microsoft Project for Windows, Microsoft Project for MS-DOS: 089/3176-1125 Word for MS-DOS, Fine Artist, Creative Writer: 089/3176-1130 Word for Windows, Word for OS/2, Microsoft Write: 089/3176-1131 Works for MS-DOS, Works for Windows, Publisher, WorksCalc, WorksText: 089/3176-1140 C/C++, FORTRAN, Macro Assembler PDS: 089/3176-1150 BASIC, QuickBASIC, Visual Basic: 089/3176-1151 MS-DOS: 089/3176-1152 Microsoft Software for Apple Macintosh: 089/3176-1160 Money, Golf, Mouse, Flight Simulator, Paintbrush, Entertainment Pack: 089/3176-1170 Access: 089/3176-1180 FoxPro: 089/3176-1181 Video for Windows, SoundBits, Cinemania, Beethoven, Stravinsky, Mozart, Musical Instruments, Dinosaurus, Encarta, TechNet, Developer Network, Bookshelf: 089/3176-1810 General information about the Microsoft Support Network in Central Europe: FAX: 02622/167006
Greece	Microsoft Hellas, S.A. Phone: (30)(1)6806-775 through (30) 1 6806-779 Fax: (30)(1)6806 780
Hong Kong	Microsoft Hong Kong Limited PSS Faxback Service: 2535-9293 Microsoft Club Upgrade Centre: 2880-5085 Microsoft Club Member Hotline: 2516-5113 Technical Support: (852) 804-4222
Hungary	Microsoft Hungary Phone: (+36) (1) 268-1668 Fax: (+36) (1) 268-1558 Technical Support: Phone: (36) (1) 2MSINFO (267-4636)
Ireland	See United Kingdom
India	Microsoft India Phone: (01) (91) 646 0694, 646 0767, 646 0813 Fax: (01) (91) 646-0813
Indonesia (SP)	Indonesia - Jakarta Technical Support Phone: (6221) 572-1060 Fax: (6221) 573-2077
Israel	Microsoft Israel Ltd. Phone: 972-3-613-0833 Fax: 972-3-613-0834
Italy	Microsoft SpA Phone: (39) (2) 7039-21 Fax: (39) (2) 7039-2020 Customer Service (Prices, new product info, product literature): (39) (2) 7039-8359 Bulletin Board: (39) (2) 7030-0102 Technical Support: (39) (2) 7039-8351
Japan	Microsoft Company Ltd. Chofu Technology Center Technical Support Phone: (81) (424) 41-8700 Fax Information Service Fax: (81) (3) 5454-8100 (1#-0# for guidance) Microsoft Support Network Sales(Technical Support options/ Support Contract) Phone: 0120-37-0196(toll free domestic only) Channel Marketing (Pre-sales Product Support) Information Center Phone: (81) (3) 5454-2300 Fax: (81) (3) 5454-7951 Customer Service Phone (Version upgrade/Registration) Phone: (81) (3) 5454-2305 Fax: (81) (3) 5454-7952
Korea	Microsoft CH Phone: (82) (2) 531-4500 Fax: (82) (2) 531-1724  Office Tech Support Line: (822) 508-0040 Windows Tech Support Line: (822) 563-0054 Developer Tech Support Line: (822) 566-0071 Back Office Tech Support Line: (822) 566-0027 Technical Support Fax: (82) (2) 531-4600 Technical Support Bulletin Board Service: (82) (2) 538-3256
Liechtenstein	See Switzerland (German speaking)
Luxembourg	Microsoft NV Phone: (32) 2-7303911 Customer Service: (32) 2-7303922 Bulletin Board: (32) 2-7268545 (1200/2400/9600/14400 bd, 8N1, ANSI) Technical Support: (32) 2-5133274 (Dutch speaking) (32) 2-5023432 (English speaking) (32) 2-5132268 (French speaking)
Malaysia (SP)	Microsoft (Malaysia) Sdn Bhd: Phone: (60-3) 793-9595 Fax: (60-3) 791-6080
México	Microsoft México, S.A. de C.V. Technical Support: (52)(5) 325-0912, Standard Support: Installation and Handling for Applications and Operating Systems Microsoft Windows, Microsoft Mail Client, Microsoft Excel, Microsoft PowerPoint, Microsoft Project, Microsoft Word, Microsoft Access, Microsoft Works, Microsoft Publisher, Microsoft Office Technical Support: (52)(5) 237-4800, Developers Tools and Advanced Systems Microsoft FoxPro, Microsoft Visual Basic, Microsoft Visual C, Microsoft Windows NT, Microsoft SNA, Microsoft Mail Server, Microsoft SQL Server Customer Service: (52)(5) 325-0911 Fast Tips: (52)(5) 237-4894 (24 hours x 365 days service) Bulletin Board Service: (52)(5) 628-6200 (2400s/14400k baud, 8 bits, No parity, 1 stop bit, ANSI terminal emulation) (52)(5) 628-6202 (14400k baud, 8 bits, No parity, 1 stop bit, ANSI terminal emulation) User: MSMEXICO, NO Password
Netherlands	Microsoft BV Phone: 023-5689189 Customer Service: 023-5677700 Bulletin Board: 023-5634221 (1200/2400/9600/14400bd, 8N1, ANSI) Technical Support: 023-5677877 (Dutch speaking) 023-5677853 (English speaking)
New Zealand	Microsoft New Zealand Ltd Phone: 64 (9) 358-3724 Fax: 64 (9) 358-3726 Technical Support: Phone: 64 (9) 357-5575 Fax: 64 (9) 307-0516 and 357-5577
Northern Ireland	See United Kingdom
Norway	Microsoft Norway AS Phone: (47) (22) 02 25 50 Microsoft Sales Support: (47) (22) 02 25 80 Microsoft BBS: (47) 22 18 22 09 (Document 404040 in FaxSvar contains detailed instructions) Microsoft FaxSvar: (47) (22) 02 25 70 Technical Support: (47) (22) 02 25 50 Microsoft MSDL: 22 18 22 09 Microsoft FastTips: 22 02 25 70
Papua New Guinea	See Australia
Paraguay	See Argentina
Philippines (SP)	Microsoft Philippines  Phone: (632) 811-0062 Technical Support: Phone : (632) 892-2295/2495 Fax: (632) 813-2493
Poland	Microsoft Sp.z o.o. ul. Grzybowska 80/82 00-844 Warszawa Phone: (+48) (2) 6615433 Fax: (+48) (2) 6615434 Technical Support: Phone: (+48) (2) 6216793 or (+48) (71) 441357
Portugal	Microsoft Portugal MSFT, Lda.Phone: (351) 1 4409200 Fax: (351) 1 4412101 Technical Support: Standard Support (All Clusters): 351 1 4409280/1/2/3 Fax : 351 1 4411655
Republic of China	Microsoft Taiwan Corp. Phone: (886) (2) 504-3122 Fax: (886) (2) 504-3121 Technical Support: (886) (2) 508-9501
Republic of Ireland	See United Kingdom
Russia	Microsoft A/O Leningradsky Prospekt80 125178 Moscow  Fax: (+7) (502) 224 50 45
Scotland	See United Kingdom
Singapore	Microsoft Singapore Pte Ltd Phone: (65) 227-6833  Fax: (65) 227-6811 Microsoft Download Service BBS : (65) 227-6798 Technical Support for: Desktop Applications : (65) 220-7202  Microsoft Excel for Windows, Microsoft Excel for Apple Macintosh, PowerPoint for Windows, PowerPoint for Apple Macintosh, Word for MS-DOS, Word for Windows, Word for Apple Macintosh, Access for Windows, Works for MS-DOS, Works for Windows, Publisher. Personal Operating Systems: (65) 220-7202 MS-DOS, Windows, Windows for Workgroups
Slovenia	See Germany Technical Support: Phone: (+386) (61) 1232354
Slovak Republic	Microsoft Slovakia s.r.o. Vidlicova 9 831 01 Bratislava Phone (+42) (7) 37 63 02  Fax: (+42) (7) 37 66 71 Technical Support: Phone: (+42) (7) 31 20 83
South Africa	Microsoft South Africa Phone: (27) 11 445 0000 Fax: (27)  11 445 0343 or (27) 11 445 0046 Technical Support (Toll Free): 0 802 11 11 04 (Toll): (2) 11 445 0100 Customer Service Centre: (27) 11 445 0145
Spain	Microsoft Iberica SRL Phone: (34) (1) 807 99 99 Fax: (34) (1) 803-8310 Technical Support: 91 807 99 60 Customer Service: (34) (1) 804-0096 Fax Back telephone: (34) (1) 91 804 00 96
Sweden	Microsoft AB Phone: (46) (08) 752 09 29 Sales Support: (46) (8) 752 56 30 Microsoft FaxSvar: (46) (0)8 752 29 00 Microsoft BBS: (46) (8) 750 47 42 (Document 202020 in FaxSvar contains detailed instructions) Information on Technical Support: (46) (8) 752 09 29 Microsoft MSDL: 08-750 47 42 Microsoft FastTips: 08-752 29 00
Switzerland	Microsoft AG Phone: 01-839 61 11 Fax: 01-831 08 69 Prices, updates, etc.: 01/839 61 11 CompuServe: GO MSEURO(Microsoft Central Europe) Documentation: Phone: 155 59 00 Fax: 064-224294, Microsoft Info-Service, Postfach, 8099 Zürich Standard Support: Installation and Handling: Windows, Windows for Workgroups, Printing System: 01/342-4085 Microsoft Mail Client: 01/831-1581 Microsoft Excel for Windows, Microsoft Excel for OS/2, PowerPoint for Windows: 01/342-4082 Microsoft Project for Windows, Microsoft Project for MS-DOS: 01/342-0713 Word for MS-DOS, Fine Artist, Creative Writer: 01/342-4083 Word for Windows, Word for OS/2, Microsoft Write: 01/342-4087 Works for MS-DOS, Works for Windows, Publisher, WorksCalc, WorksText: 01/342-4084 C/C++, FORTRAN, Macro Assembler PDS: 01/342-4036 BASIC, QuickBASIC, Visual Basic: 01/342-4086 MS-DOS: 01/342-2152 Microsoft Software for Apple Macintosh: 01/342-4081 Money, Golf, Mouse, Flight Simulator, Paintbrush, Entertainment Pack:  01/342-0322 Access: 01/342-4121 FoxPro: 01/831-1580 Video for Windows, SoundBits, Cinemania, Beethoven, Stravinsky, Mozart, Musical Instruments, Dinosaurus, Encarta, TechNet, Developer Network, Bookshelf: 01/342-1964 Technical support (French speaking): 022-738 96 88 General information about the Microsoft Support Network in Central Europe: FAX: 0049/2622/167006
Thailand	Microsoft (Thailand) Limited Main phone number: (662) 266-3300 Main fax number: (662) 266-3310 PSS Hotline number : (662) 632-0360 through 3 PSS fax number : (662) 632-0364
Turkey	Microsoft Turkey Phone: (90) 212 2585998 Fax: (90) 212 2585954
United Kingdom	Microsoft Limited Product Support Services Bulletin Board Service Microsoft KeyData: (01734) 270065 (up to 14.4Kbaud, n, 8, 1)  Faxback Information Service: Microsoft KeyFax: (01734) 270080 Telephone Support: Consumer, Desktop Apps & Personal Operating Systems: (01734) 271000 Developer Support: (01734) 271414 Advanced Systems Support: (01734) 271007  Microsoft Ltd Microsoft Connection, Pre-Sales Information:  (0345) 00 2000 Microsoft Ltd fax: (01734) 270002 Microsoft Ltd phone: (01734) 270001
Uruguay	Soporte Técnico: (598) (2) 77-4934
Venezuela	Corporation MS 90 de Venezuela S.A. Other information: Main Number: (582)-265-2250 Fax: (582)-265-0863 / (582) 265-2611 Technical Support: (582)-265-4337
Wales	See United Kingdom


Troubleshooting
Visual C++ 4.2 Troubleshooting Guide

Specific Problems

If you are having problems setting up Visual C++ 4.2, see Troubleshooting Setup Problems Under Windows95 and WindowsNT.

Most other problems can be solved using the information provided with Visual C++. Here are some steps that can help you take advantage of the Visual C++ resources and help you isolate the problem if you need to call technical support.

Check the Product Documentation

This is one of the most productive ways to find answers to questions, and it can save you time and money. You can consult several types of documentation:

Online Information System.  By clicking the InfoView tab in the Project Workspace window, you have access to over 5000 pages of Visual C++ documentation. You can scan for information in the InfoView pane or use Search to search for keywords. The Online Documentation also includes procedural and reference information on common features, functions, and error messages. You can also access the Online Documentation through the Help menu, or by pressing F1 on a function in your source code.

VCREAD.WRI.  This file contains late-breaking information about configuration problems, new features, documentation errors, and known bugs. The information in this file has also been included in the Online Documentation under the README node in the InfoView pane.

Samples.  The sample programs included with Visual C++ are now integrated into the Online Information System, and can easily be accessed from the Table of Contents via the InfoViewer. The various sample programs illustrate many common programming tasks.

Microsoft Knowledge Base.  The Microsoft Knowledge Base contains thousands of articles on known problems and programming issues. A portion of the Microsoft Knowledge Base has been wrapped into the Online Information System, and is available through the Table of Contents and the documentation Search engine. More recent Knowledge Base articles are available through the Microsoft Developer's Network CD-ROMs, MSN,  the Internet and the World Wide Web.. See Information Services.

Reproduce the Problem

Reproducing the problem is the first step in solving it. Once you can reproduce the problem, you can start finding solutions. The following questions may give you more insight on the problem:

•	Does the problem occur with just this one program? You may want to try one of the samples to see if you can reproduce the problem with it. If you cannot reproduce the problem with other programs, think about what's specific about the program.

•	Does the problem occur on just your machine? If so, the problem may be related to your system configuration. Try using a different Windows video driver or modify your system configuration to see if the problem still occurs. It's a good idea to try to make your machine as much like the average machine as possible.

•	What versions of the tools are you using? Knowing the version of the compiler, linker, and other tools makes it easier to reproduce (or avoid) the problem in the future.

•	Under what circumstances does the problem occur? Does it only occur when you build from the command line, or within Visual C++? Does the amount of available memory affect the problem? How about other programs that are running in the system?

Isolate the Problem

After seeing what circumstances cause the problem, you may be able to isolate it. Once a problem is isolated, it's much easier and quicker to fix or work around.

•	Try isolating the component that's causing the problem. You can use the information about what conditions it reproduces to help isolate the component. For example, if a problem occurs when compiling both inside the development environment and using NMAKE from the command line, the problem probably isn't with the development environment.

•	If the problem is with the compiler, you may be able to create a small example. The compiler generates code on a per-function basis, and you might be able to isolate it to a particular module or function. A useful way to comment out large blocks of code is to use #if 0 with a corresponding #endif.

•	Sometimes you can isolate a problem by breaking things in half. For example, if a particular module is causing a LINK error, separating the module into two modules will help isolate the problem.


Troubleshooting Setup Problems Under Windows 95 and Windows NT

Depending on the operating system on your machine, you will want to consult one of the following articles to help solve installation problems:

How to Diagnose Visual C++ Setup Problems in Windows 95

How to Diagnose Visual C++ Setup Problems in Windows NT

Note   This information was provided by Microsoft Product Support Services. Some procedures assume that you have access to the Microsoft Knowledge Base.


How to Diagnose Visual C++ Setup Problems in Windows 95

It is suggested that you print this Knowledge Base article and then follow along while trying to troubleshoot installation problems on Windows 95. The article contains information on Visual C++ versions 2.0 through 4.2.

The most current copy of this article and any articles refered to by this article can be found on the locations specified in Information Services.

Troubleshooting Visual C++ Setup Problems Under Windows 95    [visualc]

ID: Q134347    CREATED: 06-AUG-1995   MODIFIED: 19-APR-1996

WINDOWS

PUBLIC | kbsetup kbtshoot

---------------------------------------------------------------------

The information in this article applies to:

 - Microsoft Visual C++, 32-bit Edition, versions 2.0, 2.1, 2.2, 4.0,

   4.1, 4.2

 - Microsoft Windows 95

---------------------------------------------------------------------

SUMMARY

=======

This article shows you how to troubleshoot problems that may arise as

you are setting up Visual C++ under Windows 95. The majority of setup troubles are going to have their root in one of three things:

 - Hardware incompatibility

 - Hardware failure

 - Device driver conflict (the most likely)

The goal of this article is to help you get Visual C++ installed, build

a sample program, and run the sample from within the IDE (internal

development environment).

If you run into a problem or receive an error along the way, the cause

and the steps to take are pretty much the same regardless of whether the

error occurs during the installation or after the installation as you try

to build programs.

MORE INFORMATION

================

Step-by-Step Troubleshooting

----------------------------

1. Determine which hardware device or device driver is causing the problem.

   To isolate the culprit, first look in the Device Manager. To find the

   Device Manager, point to the My Computer icon on your desktop, and click

   the right mouse button. Click Properties on the menu, and then select

   the Device Manager Tab. Be sure the View Devices by Type option is

   selected. This displays a tree control of the various hardware devices

   you have. Opening a given device on the tree control (by double-clicking

   it or by selecting it and clicking the Properties button) shows the

   property sheet for the driver currently managing the device.

2. Open each device's property sheet. For each driver, check the device

   status message; you should see "Device is functioning properly." If the

   property sheet has a Driver tab, click it, and note the name of the

   driver file. If there is no Driver tab, the device driver is a standard

   driver, which is loaded internally by Windows 95. If you find a device

   driver that is malfunctioning and has a driver file, remove this driver

   and try again. If you find a standard device driver (no Driver tab on

   the property sheet) that is malfunctioning, check with the device's

   manufacturer to be sure there no third-party driver is required. Take

   careful note of whether or not your hard disk or CD-ROM uses third-party

   driver files, and what those file names are.

3. Start Windows 95 in a safe mode - that is with only those third-party

drivers that are absolutely required for the computer to run and install

Visual C++.

   a. Shut down your computer, and then restart it.

   b. When the screen says "Starting Windows 95 ..." press the F8 key to

      display the Windows 95 start-up menu.

   c. Select Safe Mode or Safe Mode With Network Support. This will boot

      Windows 95 into plain VGA mode, with no third-party drivers loaded.

      If you are installing from a local CD-ROM drive to a local hard-disk

      drive, select Plain Safe Mode, even if you are on a network.

       - If your problem is an unsuccessful installation, re-do the

         installation at this point. If this installation is successful,

         there is a good chance you can restart in standard configuration

         and build a sample successfully. If standard configuration builds

         fail, restart in safe mode and see if you can build a program. If

         you can build in safe mode, proceed to step 4 as though your

         original problem was a successful installation, but you cannot

         build programs.

       - If your problem is a successful installation, but you can't build

         programs, try building a sample under safe mode. If you can build

         the sample, then your task in step 4 will be to re-add drivers one

         at a time until you find the one that breaks the build process.

         Once discovered, you can contact the author to see if there are

         updates, or you can disable that driver when doing Visual C++

         builds.

       - If your CD-ROM or hard-disk drive was previously using a third-

         party driver, there is a good chance you will not be able to

         install in safe mode due to an inability to access either your

         CD-ROM or hard-disk drive. If that is the case, proceed to step #4

         for step-by-step clean boot instructions to load only the hard-

         disk driver or CD-ROM driver file and no others.

4. Arriving at this step probably means one of two things. You have

   installed and can build in safe mode, but cannot build in your regular

   configuration, or you could not access your hard-disk drive or CD-ROM in

   safe mode. In this step, you will clean boot again, but with step-by-

   step confirmation for each driver being loaded.

   a. Rename your System.ini file to something else, such as System.org

      (avoid .bak as a suffix). Second, copy (do not rename) System.cb to

      System.ini. The System.cb file is the "clean" System.ini that safe

      mode uses to boot your computer.

   b. Shut down your computer, and then restart it. When the screen says

      "Starting Windows95 ...," press the F8 key for the windows 95

      start-up menu.

   c. Select Step-by-Step Confirmation, then follow these steps:

      1) Answer Y to process the system registry.

      2) Answer Y to create a start-up log file. The log file can be

         helpful in diagnosing problems, such as VxD's that can't load.

      3) Answer Y to process your start-up device drivers (Config.sys). You

         will not be asked this question if Config.sys is not found.

      4) Answer Y or N to each driver as appropriate (answer Y to

         Himem.sys, Emm386.sys, Ifshlp.sys).

      5) Answer Y to process Autoexec.bat, or Y to load the Windows

         graphical user interface. You will be asked the first question if

         Autoexec.bat is not found, and the second question if it is.

      6) Answer Y to load all Windows Drivers. These are the internal

         Windows system drivers and are required.

   If you are at this step (step 4) because of an inability to access your

   CD-ROM or your Hard-disk drive in safe mode, attempt to complete the

   installation if it is not already complete, and build a program. If you

   still cannot build or install, then the conflict is probably with the

   very driver you need to access your hard-disk or CD-ROM drive. Note the

   name of the driver file involved, the date and time of the file, and the

   size in bytes. You may also be able to get a revision number by clicking

   the right button when the file is selected in the Windows Explorer and

   selecting Properties. With this information, contact your hardware

   vendor to see if they have an update or a patch you can acquire.

   A common symptom of CD-ROM or hard-disk drive drivers conflicting or

   failing is files becoming corrupt during what appears to be a successful

   installation of Visual C++. To verify the integrity of the files copied

   from the CD-ROM to the Hard-disk drive, use FC.exe; for information on

   how to do this, please see the following article in the Microsoft

   Knowledge Base:

      ARTICLE-ID: Q94653

      TITLE     : Using FC.EXE to Verify CD-ROM File System Drivers

   NOTE: For Visual C++ 2.x, there are two files, Msvcshl.dll and

   Spyxx.exe, in the Bin subdirectory that Fc.exe will report as

   different. These two files are modified as part of the installation

   process, and are therefore expected to be different. For Visual C++

   4.0, there are three files that are different: Msdev.exe, Msvccpp.pkg

   and Spyxx.exe. If any other files are found to differ, simply copying

   them from the CD-ROM drive may fix the problem.

   If setup is still failing, the CD-ROM driver is the one that is

   conflicting, and it is impossible to download a new CD-ROM device

   driver, there is a last resort that sometimes works. Boot to a plain MS-

   DOS mode. Copy the entire Msvc20 directory to a temporary directory on

   the computer's hard drive by using XCOPY. Then install from the

   temporary directory. Run "setup.exe /f" from the CD-ROM afterwards to

   set the Help file paths and other paths correctly. Finally, delete the

   temporary directory. Of course this "solution" requires that the

   computer have plenty of extra disk space available.

   If you are at step 4 because you can build in safe mode, but not in

   standard mode, begin adding the drivers you weren't loading, one by one,

   until the process breaks. If all drivers get loaded and the program

   still builds, your video driver may be at fault, or it may be a

   combination of two or more drivers being loaded simultaneously (and

   conflicting with each other) that is causing the problem. Once the

   culprit is found, again note the date and time, size in bytes, and

   possibly the revision number of the driver. Then contact the driver's

   manufacturer for an update or patch.

Creating a Hardware Profile

---------------------------

If you have to manipulate driver files individually, it may be useful to

create a Hardware Profile, with only certain specified drivers loaded (sort

of a custom clean boot). Hardware Profiles may be created and saved as

follows:

1. Click My Computer using the right mouse button. Click the Hardware

   Profile tab, highlight Original Profile in the list box, and click

   the Copy Button, naming the new profile as you wish. This hardware

   profile is now an exact copy of your original or default

   configuration.

2. Click the Device Manager tab, and open up the property sheet for each

   device driver. Note the section called Device Usage. Clear the check

   box next to your new profile for each device driver you don't want to

   load when booting under your new profile.

If you have more than one profile, Windows 95 will prompt you for which

profile you wish to boot under at start-up.

Additional reference words: 2.00 2.10 2.20 4.00 kbinf Windows 95 win95

KBCategory: kbsetup kbtshoot

KBSubcategory: vc20setup vc40setup


How to Diagnose Visual C++ Setup Problems in Windows NT

It is suggested that you print this Knowledge Base article and then follow along while trying to troubleshoot installation problems on Windows NT. The article contains information on Visual C++ versions 2.0 through 4.2.

The most current copy of this article and any articles refered to by this article can be found on the locations specified in Information Services.

Troubleshooting Visual C++ Setup Problems in Windows NT       [visualc]

ID: Q136258    CREATED: 05-SEP-1995   MODIFIED: 27-FEB-1996

2.00 2.10 2.20 4.00

WINDOWS NT

PUBLIC | kbsetup kbtshoot

---------------------------------------------------------------------

The information in this article applies to:

 - Microsoft Visual C++, 32-bit Edition, versions 2.0, 2.1, 2.2, 4.0

---------------------------------------------------------------------

SUMMARY

=======

This article describes how to troubleshoot setup problems with Visual C++,

32-bit Edition, in Windows NT. Because most developers are more familiar

with troubleshooting 16-bit problems, this article also mentions 16-bit

methods that do not carry over to 32-bit setup troubleshooting.

Slight differences in a Visual C++ 4.0 setup versus Visual C++ 2.0 setup

(such as the presence of an uninstall program) are noted here.

MORE INFORMATION

================

The majority of 32-bit setup problems can be broken down into two areas:

 - Hardware failures, problems, or incompatibilities.

   -or-

 - Bad or Corrupt installations.

Each area is discussed in detail later in this article.

Use the following general process to troubleshoot Visual C++ setup problems

in Windows NT:

1. If you receive an error message from the setup program or some other

   component of Visual C++, try to search the Microsoft Knowledge Base for

   a list of known problems by using words from that error message. The

   Microsoft Knowledge Base (KB) is available on the services listed in the

   "References" section at the end of this article.

   The KB is a dynamic collection of articles. Significant new articles

   and updated information is added daily. A snap shot of the Visual C++

   4.0 Knowledge Base is available on the product CD-ROM compact disc

   itself through the integrated development environment.

2. After running setup, if Visual C++ will not run at all, test the

   hardware first by using ideas from the "Hardware Failures, Problems, or

   Incompatibilities" section of this article. Then try using ideas from

   the "Bad Software Installation" section of this article if necessary.

3. If Visual C++ starts but does not work correctly, first test the

   installation using the information in the "Bad Software Installation"

   section of this article. Then try the "Hardware Failures, Problems, or

   Incompatibilities" section of this article if necessary.

HARDWARE FAILURES, PROBLEMS, OR INCOMPATIBILITIES

=================================================

The problems you're experiencing may also show up in other applications.

However, even if you are not having trouble with other CD-ROM-based

applications, that does not necessarily mean that you won't have one of the

problem discussed in this section.

First, check the Event Log with the Event Log Viewer application located in

the Administrative Tools program group. The Event Log records a number of

actions that your Windows NT system performs, including many hardware and

software failures. Bad events are usually shown by a stop sign icon on the

right side of the list. By default, the list is sorted by date.

If you see a number of stop signs for the same service or device, that

sometimes indicates a hardware problem. Double-click the events to see if

they all hold the same or related messages that indicate hardware device

failures. Note, however, that even if there are no stop signs in the Event

List, you may still have a hardware problem that was not detected by

Windows NT.

Step-by-Step Troubleshooting Process

------------------------------------

Failures of the CD-ROM drive or hard disk system are the most frequently

encountered cause of setup problems. Check for possible causes in this

order:

1. Check for a bad SCSI termination. Most SCSI drives require a SCSI bus

   terminator on the end of the SCSI cable. Event Log time-out events or a

   number of the same type of failures from the SCSI or disk drive device

   can be an indication that the SCSI bus has a missing or incorrect

   termination resistor.

2. Check to see if your hardware is on the Hardware Compatibility List

   (HCL). The HCL can be found in Help file format in the Support directory

   of the Windows NT distribution disk. Make sure all hardware drivers are

   correct and compatible with Windows NT. Check the HCL for your machine

   manufacturer, your hard disk maker, and your CD-ROM manufacturer. A

   number of IDE drives have been known to cause problems in Windows NT.

   Check the HCL or your dealer for the components in question. Microsoft

   specifically tested Windows NT with the devices on the HCL list, so

   hardware on the list is known to function correctly under Windows NT.

   Contacting the device controller manufacturer for updated drivers and/or

   firmware is always a good idea when incompatibilities are found, even

   for hardware not on the HCL list.

   You may also have other driver problems that only show up because of

   memory conflicts with the CD-ROM driver or some other driver. Windows NT

   is a symmetric multiprocessor operating system that can take advantage

   of multiple CPUs. Some drivers are not designed to run on multiprocessor

   computers. If you have a computer with more than one processor, check

   with the driver's manufacturer to be sure it will function properly.

   Visual C++ and the Visual C++ setup do not have any known problems

   running on multiprocessor machines.

   You may also have loaded the wrong driver when you installed Windows NT.

   If Windows NT did not automatically detect the hardware on your machine,

   make sure you loaded the right drivers for your hardware.

3. Check for bad sectors on your hard disk. Run Chkdsk from within a

   Windows NT MS-DOS command prompt. If you find errors, fix them with

   Chkdsk /f. To check for a media surface problem, use Chkdsk /r to do a

   surface scan of the drive in question.

   You may receive a message stating that the volume cannot be scanned

   because it is currently in use. Answer Yes to the question of whether

   you would like to schedule this drive for checking on the next system

   startup. In this case, Windows NT will perform the check and/or fix the

   next time you reboot. Shut down and restart the system to allow the

   check to occur.

   These commands check the integrity of the file system and check the hard

   disk surface itself for physical defects that may cause data loss.

   Chkdsk /r is the equivalent of the using the MS-DOS Scandisk program.

   Scandisk will not run under Windows NT or on an NTFS or HPFS drive while

   the machine is booted into MS-DOS.

   NOTE: This operation can take some time depending on the size of your

   hard disk.

4. Check for corrupted files on the hard disk. These problems are often

   caused by the problems listed in steps 1 through 3. However, corrupted

   files can also be caused by CD-ROM or hard disk drivers when the files

   are created during the CD-ROM to hard drive copying process. This

   corruption usually shows up when setup runs without errors but some

   component of Visual C++ will not run.

   For more complete information on troubleshooting CD-ROM problems in

   Windows or Windows NT, please see the following articles in the

   Microsoft Knowledge Base:

      ARTICLE-ID:Q94653

      TITLE     :Using FC.EXE to Verify CD-ROM File System Drivers

      ARTICLE-ID:Q126380

      TITLE     :Troubleshooting CD-ROM Problems in Windows NT

   Use the MS-DOS or Windows NT File Compare program (Fc.exe) to compare

   the files that have been copied from your CD-ROM drive to your hard

   drive as follows:

      FC /b [drive1:][path1]filename1 [drive2:][path2]filename2

   The /B (binary) switch tells the File Compare program to run a binary

   compare on the files. Comparing the files in the Bin subdirectory of the

   Visual C++ installation (\Msvc20\Bin by default) with the corresponding

   directory on the CD-ROM disc will generally tell you fairly quickly if

   you have a problem.

   NOTE: There are two files (Msvcshl.dll and Spyxx.exe) in the Bin

   subdirectory that FC.exe will report as different. These two files are

   modified as part of the installation process, and are therefore expected

   to be different.

   If no errors are found in the Bin directory, check the entire Visual C++

   installation using Fc.exe if Visual C++ still won't run.

   If Fc.exe reports differences, be sure you have checked the problems

   listed in steps 1 through 3. If these do not apply, your CD-ROM driver

   is likely the cause. You have three choices at this point:

   a. To be absolutely sure, delete the Visual C++ directory on your hard

      drive and reinstall. Then use Fc.exe to check the installation again.

      If you still receive a report of differences try one of the following

      two choices.

   b. If there are only a few corrupted files, use the Xcopy command to

      copy the files from the CD-ROM disc to the destination location. Use

      the Fc.exe command to compare the files again.

   c. If you can, transfer the entire Msvc20 directory tree to a another

      installation location. If you are on a network and have sufficient

      hard drive space, use another computer with a working CD-ROM drive to

      copy the Msvc20 tree to the hard drive. Then share out the hard

      drive, and try to install the product from there. Use Xcopy /s to

      copy the Msvc20 tree from the CD-ROM disc to your hard drive. Type

      Xcopy /? at Windows NT command prompt for more information on using

      Xcopy.

      Alternatively, you can share out the CD-ROM drive on the other

      machine and install from there.

      NOTE: You cannot install using a UNC connection with versions before

      Visual C++ 4.0.. You must connect to the hard drive using a NET USE

      command/File Manager/Explorer. For more information, please

      see the following article in the Microsoft Knowledge Base:

         ARTICLE-ID: Q115327

         TITLE     : FIX: SETUP.EXE Cannot Start via a UNC Connection

5. Check for a bad CD-ROM compact disc. This is unlikely yet still

   possible. Verify that the CD-ROM compact disc is bad by doing one

   of the following:

    - Wipe the CD-ROM disc gently with a soft cloth to remove any smudges,

      dust, or fingerprints. Be careful not to scratch it. Wiping outward

      from the center is the recommended method for cleaning a CD-ROM disc.

      Any scratches produced will be radial and less likely to affect data

      transfers. Inspect the CD-ROM disc for deep scratches. These can also

      cause read errors. Often these errors will show up in the Event Log

      as read errors from the disk drive device.

      -or-

    - If another machine with a different CD-ROM drive is available,

      install on that machine, and see if the installation works. If it

      does, you've verified that your CD-ROM disc is not the problem.

      -or-

    - If you have another Visual C++ CD-ROM disc for the same Visual C++

      version, use Fc.exe to compare the two for possible differences. You

      could also install from this second CD-ROM disc. If everything

      installs and works, then it is probable that the first one is bad.

      Call Visual C++ Product Support at the number included in your

      documentation that comes with the product. Be sure to be prepared to

      repeat the tests that led you to the conclusion that your CD-ROM disc

      was bad.

BAD SOFTWARE INSTALLATION

=========================

Step-by-Step Troubleshooting Process

------------------------------------

1. Check the Microsoft Knowledge Base for known problems before

   troubleshooting a problem that Microsoft has already tracked for you.

   The Microsoft Knowledge Base is available on the services listed in the

   "References" section at the end of this article.

2. Check for Visual C++ corrupted Registry entries. If you are not familiar

   with the Registry, be very careful following these instructions.

   Deleting the wrong registry keys can cause many more problems.

   Registry entries may be viewed or edited by using Regedt32.exe, which

   comes with Windows NT. The registry is a database designed to hold

   information about your entire Windows NT system. Visual C++ and other

   Microsoft applications store configuration information in this area. For

   version 2.0, you will find this information in the following key:

      HKEY_CURRENT_USER\Software\Microsoft\Visual C++ 2.0

   The 2.1 and 2.2 updates still use this key. A new registry entry with

   all default values is generated the first time you run Visual C++ if

   there is no registry entry for it.

   For you to see this information, HKEY_CURRENT_USER must be the window in

   focus. The other keys (Software, Microsoft, and so on) are contained in

   a tree structure similar to the directory structure shown in File

   Manager. You can select a registry key by using the mouse. Double-click

   the key to open up any other branches below it.

   Visual C++ version 4.0 uses the following registry key:

      HKEY_CURRENT_USER\Software\Microsoft\Developer

   Other developer packages also use this registry key, so deleting

   the entire key may make other developer applications nonfunctional.

   It best to use the Visual C++ uninstall program to remove version 4.0

   installation and registry information.

   NOTE: Before trying this step, be certain that you have the correct key

   selected (highlighted). If you delete another key, you may destroy

   valuable information that your system or another application needs to

   run.

   You can delete the Visual C++ registry tree by selecting it and then

   clicking Delete on the menu. When this key is removed, Visual C++ can

   still be run, but it may not have some of its parameters set properly.

   Running parts of the Visual C++ interface may restore some of the

   registry keys to their default values, but rerunning setup is the only

   way to fully restore the registry. If you just need the registry entries

   and/or program groups regenerated, it's best to run the 32-bit setup in

   the Msvc20 directory on the Visual C++ CD-ROM disc with the /F option.

   Running the global setup in the root directory of the CD-ROM disc will

   not pass the /F option on to any other spawned setups. The /F option is

   useful because the icon groups and registry entries are recreated but no

   files are actually be copied to the hard drive. Be careful to chose the

   same options that you chose when you did the original file copy

   installation, or Visual C++ may not work correctly.

   If the problem is not fixed by deleting just the registry entries, the

   next easiest step is to delete the entire Msvc20 directory tree and also

   delete the Visual C++ registry Key as noted above. Reinstall Visual C++

   and test the installation again.

   Again, in Visual C++ 4.0, use the uninstall feature to remove registry

   entries.

3. Check for other corrupted Registry entries. To test this possibility,

   create a new user account by clicking New User on the User Menu in the

   User Manager application; User Manager is usually in the Administrative

   Tools group icon. Then install Visual C++ when the new user is logged

   in. You can use setup with the /F option, but keep the limitations

   described previously in mind.

   If the software installs or runs correctly on the new account, the

   problem is most likely caused by bad registry entries on the old

   account. If the problem persists on the new account, the registry is

   probably not a factor.

4. Check for other bugs or problems with setup. Search using vc20setup or

   vc40setup in the Microsoft Knowledge Base for a list of known issues

   with the 32-bit  Visual C++ setup program.  Then read the following

   section for other possible hints.

OTHER TROUBLE-SHOOTING INFORMATION

==================================

In 16-bit Windows, one of the first strategies to try in diagnosing setup

problems is starting the computer in a "clean boot" configuration, which

means all unnecessary commands are removed from the Config.sys and

Autoexec.bat files. For more information about this, please see the

following articles in the Microsoft Knowledge Base:

   ARTICLE-ID: Q90511

   TITLE     : What Is a Clean Boot for Windows for Workgroups?

   ARTICLE-ID: Q87290

   TITLE     : What Is a Clean Boot for Windows 3.1?

   ARTICLE-ID: Q80448

   TITLE     : What Is a Clean Boot for Windows 3.0?

Under Windows NT, a clean boot is not the same thing. The following

information was extracted from the Windows NT 3.5 Resource Kit

Documentation:

During system startup, Windows NT adds any Path, Prompt, and Set commands

from the C:\Autoexec.bat file to the Windows NT environment variables, and

then ignores the rest of the contents of C:\Autoexec.bat and C:\Config.sys.

If these files are not present when you install Windows NT, the Setup

program creates them. For a RISC-based computer, default Autoexec.nt and

Config.nt files are created. The path and other Windows NT environment

information are stored under the following Registry key:

   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

       \Control\Session Manager\Environment

When an MS-DOS-based application is started, Windows NT executes files

specified in the application's .pif files or the Autoexec.nt and Config.nt

files in the SystemRoot\System32 directory. Any changes made in one of

these files take effect as soon as the file is saved and a new MS-DOS-based

application is started that uses that file. You do not need to restart your

system after changing the *.nt files.

File                         Use in Windows NT

-----------------------------------------------------------------------

C:\Autoexec.bat              Path and environment variables added to

                             the Windows NT environment at system

                             startup.

C:\Config.sys                Not used by Windows NT.

Autoexec.nt and Config.nt    Files used every time an MS-DOS-based

                             application in SystemRoot\SYSTEM32 is run

                             with the _Default.pif. (Custom *.nt files

                             can be created and used when starting an

                             application from another .pif file.)

You can use Windows NT Diagnostics to view the contents of the Autoexec.nt

files and the Config.nt files by clicking items on the File menu. You

can edit the contents of these files by using any text editor.

Commands in the Autoexec.bat and Config.sys files for starting applications

and initializing drivers are ignored in Windows NT.

It's important to note that different settings are used for MS-DOS-based

and 32-bit console applications. Cl.exe and Link.exe are 32-bit

DOS-extended applications, which means they load and run under Windows NT

as native (console) applications. Currently, the only MS-DOS process

invoked by the 32-bit edition of Visual C++ is the resource compiler

(Rc.exe).

For information on the Command Prompts and the four configuration files

mentioned previously, please see the following articles in the Windows NT

portion of the Microsoft Knowledge Base:

   ARTICLE-ID: Q99279

   TITLE     : MS-DOS-Based Applications and Command Prompts

   ARTICLE-ID: Q93781

   TITLE     : The Path Statement in Windows NT

   ARTICLE-ID: Q124551

   TITLE     : Configuring Parsing of the AUTOEXEC.BAT File

For information on a known problem with Rc.exe in relation to these

configuration files, please see the following article in the Microsoft

Knowledge Base:

   ARTICLE-ID: Q129415

   TITLE     : PRB: "Bad command or file name" Error When RC.EXE Not Found

Note that the information that used to be stored in the Win.ini and

System.ini files has been replaced by registry entries, so making

modifications to these files will not affect Windows NT itself. However,

many 16-bit applications, including Visual C++ version 1.5x, still use

System.ini for configuration information.

REFERENCES

==========

The Microsoft Knowledge Base is available on the following services:

 - The World Wide Web (http://www.microsoft.com)

 - The Internet (ftp@microsoft.com)

 - The Microsoft Developer Library CD-ROM compact disc (Developer products)

 - The Microsoft Technet CD-ROM compact disc

 - MSN The Microsoft Network

Additional reference words: kbinf 3.5 3.50 Windows NT 2.00 2.10 4.00

KBCategory: kbsetup kbtshoot

KBSubcategory: vc20setup vc40setup


Visual C++ 4.2 FAQ
Visual C++ 4.2 Frequently Asked Questions

Q. Are there any internet web sites where I can get help and up-to-date information for the Visual C++ products?

A. Yes, there are several web sites you can use to get help and information for the Visual C++ products.

http://www.microsoft.com is the main Microsoft web site, which enables you to go to the support page that gives you the access to the Microsoft Knowledge Base. The Microsoft Knowledge Base contains thousands of technical articles that are relevant to the Visual C++ products. This is always a good place to start to get help with the problems you may encounter.

The Visual C++ support team provides up-to-date Visual C++ related information at http://www.microsoft.com/VisualcSupport/default.htm.

You can report Visual C++ bugs at http://www.microsoft.com/support/products/developer/visualc/report.

You can find a list of recently updated FAQs that answer some of the most common questions, at the location  http://www.microsoft.com/VisualcSupport/Content/FAQ/default.htm. These FAQs include questions relating to the Standard C++ Library shipped with the Visual C++ product.

As a Visual C++ user, you may also find the following World Wide Web addresses useful:

    http://www.microsoft.com/devonly

    http://www.microsoft.com/visualc

Q. I just ported my VC++ 2.x project to VC++ 4.2. What happened to my program group folders?

A. With VC++ 2.x, you could organize files within a project by creating groups and adding source files to them. VC++ 4.2 does not support this feature. If you convert a project from VC++ 2.x to VC++ 4.2, the newly created project will retain all settings for files in any VC++ 2.x groups, but it does not mark, or group these files in any way. Developer Studio now supports multiple projects and subprojects, which may provide you with some grouping functionality. Note, you can still set settings for multiple files by invoking the Project Settings dialog, and selecting multiple files from the "Settings For:" tree control.

Q. My video card supports 16K or more colors. Why can't Developer Studio open my 256 color bitmaps?

A. The Developer Studio bitmap editor in VC++ 4.2 does not currently support color setting configurations greater than 256 colors. If your video card is configured to display more than 256 colors and you attempt to open a 256 color bitmap, the following error message will be displayed:

C:\filename.bmp

Cannot load file

The current display device does not support palettes which are required for editing 256-color bitmaps.

To work around this limitation, reset the Color Palette to 256 colors, in the Control Panel's Display settings dialog.

Q. Where is the documentation for the OLE Controls that ship with VC++ 4.2?

A. The OLE Controls that ship with VC++ 4.2 are documented in the CTRLREF.HLP and VB.HLP help files located in the \MSDEV\HELP directory. You can access these help files several ways from Developer Studio.

•	From the Component Gallery dialog, you can select a specific control, and then click the help '?' button to invoke the help topic for the selected control.

•	You can also access help for a particular control from the dialog editor. Place the desired control on a dialog, invoke the Properties dialog for the control. Then select the Control tab from the Properties dialog, and hit F1.

•	You can also add these help files to your F1 help in Developer Studio. Please see  \MSDEV\HELP\EXTHELP.HLP for details on how to accomplish this.

Q. How do I prevent classes from being displayed in the ClassView pane of the Workspace Window?

A. To prevent your classes from being displayed in the ClassView pane, you will need to remove the header with the class declarations from the project's dependency list. To do this, you will need to follow these steps:

1	Create a directory in which to relocate the header file(s) that you wish to remove from the dependency list. Example:  mkdir c:\msdev\projects\myproj\inc

2	Move the header files to this new directory.

3	Add this directory to your include search path via the Directories page of the Options dialog (invoked via the Options menu item under the Tools menu).

4	Create a text file named MSVCINCL.DAT, and list the header files you wish to exclude from the dependencies list. Save this file to your Windows directory.

5	Close Developer Studio, and delete the project's .NCB file.

6	Restart Developer Studio and load your project. The classes declared in the headers listed in the MSVCINCL.DAT file should no longer appear in the ClassView pane.

Note   The MSVCINCL.DAT file must be located in your Windows directory, and your #include directives must not specify a full pathname to these headers. Otherwise, these files will remain in the project's dependencies list.

Q. New projects created with VC++ 4.2 seem to build faster than projects ported from earlier versions of VC++. What can I do to decrease the build time for these older projects?

A. In VC++ 4.2, Wizard generated applications automatically add a macro definition for VC_EXTRALEAN to the project's precompiled header. This macro also defines the macros WIN32_LEAN_AND_MEAN and WIN32_EXTRA_LEAN. These macros define subsequent macros that exclude less used declarations from the various windows header files, to help speed compilation. For complete information on what these macros exclude, search the WINDOWS.H and AFX_W32.H for these symbols.

To utilize this macro in your older projects, simply add the following to the top of your project's precompiled header file (typically STDAFX.H for most MFC applications):

#define VC_EXTRALEAN

Q. Why aren't the breakpoints in my project being recognized?

A. Please read the Knowledge Base article entitled "PRB: Breakpoints Won't Work - 11 Reasons Why" located in the Online Books.

If you are attempting to debug an OLE Control, make sure the debug version of the control is registered. If you build and register a release version of the control, and then attempt to debug the debug version of the control, the release version of the OLE Control will inadvertently be used.

Q. I inserted an OLE Control into my project with Component Gallery, and now the compiler reports the following error messages, when I attempt to build my project: C2501: missing decl-specifier, C2504: base class undefined, and C2065: undeclared identifier. What's wrong with my project?

A. You probably didn't enable OLE Control support when you first built your application. You can easily add OLE Control support to your existing project via the Component Gallery. Simply insert the OLE Control Containment component into your project. This will add an include statement for afxdisp.h to the project's pre-compiled header, and a call to AfxEnableControlContainer() in your CWinApp derived object's InitInstance() function. For additional information on how to use OLE controls in your application, see the Online Help article entitled "OLE Control Containers: Inserting a Control into a Control Container Application".

Q. Where are the .MAK and/or .MDP files for the SDK samples in the Online Help?

A. With the exception of the CROSSDEV samples, the WinSDK samples do not ship with .MAK or .MDP files. These samples are included directly from the Win32SDK samples. Each sample includes a makefile named MAKEFILE, that can be utilized to build the accompanying sample. Upon attempting to open the MAKEFILE with Developer Studio, you will be prompted to wrap the existing makefile. If you continue, Developer Studio will create a new internal .MAK file that will wrap the existing MAKEFILE. You can build the sample via this new .MAK file, or invoke NMAKE from a command prompt. To invoke NMAKE from a command prompt, you will first need to change your current directory to the project directory, and you may need to run the \MSDEV\BIN\VCVARS32.BAT file to properly set up the environment.

Note   If you wrap the MAKEFILE, you can add the source files to the new project to allow for easy viewing and/or editing.

Q. How do I create a subproject based on an existing project?

A. Visual C++ 4.2 does not support the creation of subprojects based on existing projects. For example, if you have an existing MFC DLL project that you would like to fold into an MFC application workspace, you can either create a new skeleton project and merge your existing sources with this new project, or you can utilize a batch file to change the working directory and invoke nmake on the subproject you wish to build.

To accomplish this, do the following.

1	From the Build menu, select the 'Subprojects...' menu item, and click the New button on the Subprojects dialog.

2	From the Insert Project dialog, select a Project of type 'Makefile', specify a project name, and whether or not it's to become a subproject of an existing project.

3	Click the Create button, and then the Yes button on the subsequent message box, to take you directly to the Project Settings dialog for this new project.

4	Specify a build command line to invoke a batch file for this new project. You will want to do this for both the debug and release configurations. Specify a unique batch file for each configuration you may have, or pass the required nmake command line options to the batch file so that you can support building your subproject for multiple targets via nmake macros.

5	Write the batch file to change the working directory to that of the original project directory, and then invoke nmake on the project's .MAK file.

Q. Why can't I edit EXE resources running Developer Studio under Windows 95?

A. Developer Studio now supports the direct editing of resources within an EXE file, but only when running under Windows NT. Windows NT provides APIs which allow you to modify resources in an executable(.EXE) or dynamic link library(.DLL). Windows 95 does not support the APIs necessary to do this. For example, it does not support BeginUpdateResource( ), UpdateResource( ) and EditUpdateResource( ).

When a resource is loaded under Windows 95, Developer Studio will issue the following warning:

Microsoft Developer Studio cannot save the modified resources back to this executable. The executable may be in use, or this version of Windows may not support updated resources in executables.

While the executable cannot be modified in Windows 95, the resources can be copied into an .RC file


Where to Go Next

If the information needed to solve your problem isn't available in the Troubleshooting Guide or Frequently Asked Questions, you can:

•	Consult the documentation and other printed information included with your product.

•	Check Books Online, if available.

•	Check the README files that come with your product disks. These files provide general information that became available after the books in the product package were published.

If all of these sources of information fail to help you, contact the Microsoft Product Support Services through Microsoft AnswerPoint.


Troubleshooting
Visual J++ Beta

Thank you for participating in this Beta program. Please refer to the Release Notes in your Beta Kit for information about technical support.