Microsoft KB Archive/113063

= FIX: Visual C++ Setup Messages for File Copying Errors =

Article ID: 113063

Article Last Modified on 10/24/2003

-

APPLIES TO


 * Microsoft Visual C++ 1.0 Professional Edition
 * Microsoft Visual C++ 1.5 Professional Edition

-



This article was previously published under Q113063



SYMPTOMS
Installing Visual C++ may cause the Setup program to display the following in a message box:

Internal Error

This happens when the Setup program tries to copy files from the Visual C++ CD-ROM to a hard drive, and those files are hidden or read-only.

In later versions of Visual C++ you are more likely to receive a dialog box containing one of the messages below. You should only encounter the 'Internal Error' message if the destination file is corrupted.

For the 32-bit edition of Visual C++ version 2.0 and later:

Setup cannot open the file C:\msvc20\somefile.exe. The file may be in use by another application, or marked read-only. Close the application or change the file's read-only attribute and try again.

For the 16-bit version of Visual C++ for Windows, version 1.51 or later:

Setup cannot open the destination file C:\msvc\somefile.exe.

The dialog boxes have three options, Abort, Retry and Ignore.
 * Abort will terminate the setup program.
 * Retry will try to copy the file again.
 * Ignore will cause the setup program to move on and try to copy the next file to the hard disk.



CAUSE
The Visual C++ Setup program copies the majority of files to its own directory (by default, C:\MSVC). It also copies some of the files to the Windows directory and its subdirectories. Any hidden, read-only, or corrupted files with the same names in these directories may cause the Setup program to fail. These files have been installed by the previous installations of the Visual C++ or by other software packages. The Visual C++ Setup program can return the "Internal Error" message when its attempt to overwrite a corrupted, hidden, read-only or share-locked file fails.



RESOLUTION
When the "Internal Error" message occurs, the VC++ Setup program displays a filename associated with its source directory and target directory in the VC++ Setup dialog box. In the case of a hidden or read-only file in the target directory, the Setup program displays the name of the file that causes the problem. To resolve the problem of a hidden or read-only file, follow the procedure below:

 Terminate the Setup program. Open an MS-DOS prompt under Windows. Change to the directory that was displayed on the target line in the VC++ Setup dialog box.  Examine the attributes of the file that the Visual C++ Setup program failed to install using the ATTRIB command in MS-DOS. For example, to examine the attributes of TEST.DLL, type the following: ATTRIB TEST.DLL Typing ATTRIB without any arguments will give attribute information on all the files in the directory. The output from ATTRIB will resemble the following      ARH    C:\TEST.DLL where A stands for "archive", R stands for "read-only", and H represents "hidden". Not all attributes will be shown for a given file. Consult your MS-DOS documentation for more information on ATTRIB.   If it is a hidden file, for example, change the hidden attribute on the file, using the ATTRIB command: ATTRIB -H TEST.DLL You may also use File Manager in Windows to change the file attributes by selecting Properties from the File menu after selecting the file in question.  Reinstall Visual C++.</li></ol>

If the file is not a hidden or read-only file, the file may be corrupted. To resolve the problem in this case is more complicated because the Setup program does not display the name of the corrupted file, but the last file the Setup program installed successfully. A possible solution to the problem is discussed in the "MORE INFORMATION" section below.

<div class="status_section">

STATUS
Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. The problem was fixed in Visual C++ for Windows 1.51 and Visual C++ 2.0 32-bit edition.

<div class="moreinformation_section">

MORE INFORMATION
Some of the files copied to the Windows subdirectory by the VC++ Setup program are related to OLE (Object Linking and Embedding) 2.0 retail dynamic-link libraries (DLLs) and symbol files. Any system with OLE 2.0 applications installed may already have some of these DLLs installed by the applications. For some reason, one or more of these DLLs may have hidden or read-only attributes, or have been corrupted. The OLE 2.0 files typically cause an "Internal Error" during the installation of Visual C++.

OLE 2.0 retail DLL and symbol files copied by the VC++ Setup program are: <pre class="fixed_text">  COMPOBJ.DLL     COMPOBJ.SYM     OLE2DISP.DLL    OLE2NLS.DLL OLE2NLS.SYM    OLE2.DLL        OLE2.SYM        OLE2PROX.SYM OLE2CONV.DLL   OLE2CONV.SYM    OLE2PROX.DLL CTL3DV2.DLL    TYPELIB.DLL     TYPELIB.SYM CTL3D.DLL      STORAGE.DLL     OLE2DISP.SYM These files are copied from \MSVC\NODEBUG on the Visual C++ CD-ROM into the \WINDOWS\SYSTEM directory if the option of installing OLE 2.0 retail DLLs is selected. The option of installing OLE 2.0 retail DLLs is automatically selected if a user selects the "Typical Installation" option during setup. This option can also be enabled by selecting the "Custom Installation" and having the "MFC OLE" check box selected. Notice that selecting the "MFC OLE" check box in the "Custom Installation" dialog box will not stop the Setup program from installing OLE 2.0 retail DLLs. The "OLE SDK" button, located next to the "MFC OLE" check box, needs to be chosen to enable or disable this option.

In the case of a corrupted file in the \WINDOWS\SYSTEM directory, deleting all the files listed above and then reinstalling Visual C++ should resolve the problem in most cases. If not, please contact Microsoft Product Support Services at (425) 635-7007.

It is also possible that some of the files from the previous installation of the VC++ may be corrupted for some reason. The following files are copied to the Windows directory by the VC++ Setup program. Delete them to reinstall Visual C++ if necessary.

\WINDOWS\SYSTEM Directory
<pre class="fixed_text">  FTENGINE.DLL     FTUI.DLL           MVAPI.DLL CIRC2.VBX       GRID.VBX           VC.LIC CCAPI100.DLL    CUECARD2.DLL       QRYINTL.DLL WINRFS.DLL      TECHNOTE.DLL       STDOLE.TLB MFC250.DLL      MFC250D.DLL        MFCD250.DLL MFCD250D.DLL    MFCO250.DLL        MFCO250D.DLL MFCOLEUI.DLL

\WINDOWS Directory
<pre class="fixed_text">  CCARD100.EXE

\WINDOWS\MSAPPS\MSQUERY Directory
<pre class="fixed_text">  MSQUERY.CUE       MSQUERY.EXE       MSQUERY.HLP

Additional query words: 1.00 1.50

Keywords: kbbug kbfix kbsetup KB113063

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.