PRB: Multiple "System Files Are Out of Date" Errors

Article translations Article translations
Article ID: 191096 - View products that this article applies to.
This article was previously published under Q191096
Expand all | Collapse all

SYMPTOMS

When you install a Microsoft Visual Basic application, you may receive the following message:
Setup cannot continue because some system files are out of date on your system. Click OK if you would like setup to update these files for you now. You will need to restart Windows before you can run setup again. Click cancel to exit setup without updating system files.
After Windows restarts and you begin the installation again, the error message appears again.

NOTE: This occurs with either the Microsoft Visual Basic 5.0 Application Setup Wizard (ASW) or the Microsoft Visual Basic 6.0 Package and Deployment Wizard (PDW).

CAUSE

Both installation programs (ASW and PDW) use the same method to delay the replacement of in-use system files until reboot. For any system files that are in use, the new files are saved as temporary files in the Temp folder. In order to replace the existing files with the .tmp files, the system will use the Wininit.ini file on WIN 9x systems. On Windows NT and Windows 2000, the system will call the MoveFileEx function with the MOVEFILE_REPLACE_EXISTING flag. This function places the file replacement instructions in the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
If something interferes with this replace and rename operation, these files are not updated. Therefore, once the computer reboots and restarts the installation program, the same error message appears.

There are a number of reasons why this can happen, but the two most common are as follows:
  • The .tmp files are being deleted.
  • The Temp folder is on a different drive or partition from the operating system. By default, the operating system is installed to either the Windows or Winnt folder.

RESOLUTION

The following are resolutions to this problem:
  1. Copy the TEMP and TMP environment variables to a folder that is in the same drive partition as the Windows system files. To do this, open a command prompt window and type the following at the prompt:
    Set TMP=C:\TEMP
    Set TEMP=C:\TEMP
    This will save the TEMP and TMP environment variables to a folder named "Temp" that resides on the C: drive.

    NOTE: The folder must exist prior to carrying out these steps.

    Once these environment variables are set, the application should then install and continue past the message on reboot.
  2. If your Autoexec.bat file contains the following line (or similar):
    If exists c:\temp\*.tmp del c:\temp\*.tmp
    comment it out by placing "REM" in front of it.
  3. Disable any Anti-virus software (or other memory resident programs) and try running Setup again. Often the best way to accomplish this is to run setup in Safe Mode. It may also be necessary to copy all of the setup files to a temporary folder on the hard drive disk and run Setup.exe from there.
  4. Leftover files from a failed Setup attempt can also cause this problem. If found, delete the msftqws.pdw subfolder and its contents from the Temp folder. Also look in the Windows or Winnt folder for Setup1.exe and any *.CAB files from previous installs, and delete them. This should be done after each failed install.
  5. Some logon scripts can cause this problem, so try to run Setup before logging on to the network.
  6. Make sure you are deploying the same file versions that you are using on your development machine. The wizards have a special folder where they look first for files to package. If found, a file is used from this source instead of the file your system is running.

    For Visual Basic 6.0, it is especially important to make sure that you are deploying the proper version of Mdac_Typ.exe. The version of this file should match the Reference to "Microsoft ActiveX Data Objects 2.x Library" in your project. The default locations for this folder are as follows:

    For Visual Basic 5.0:
    C:\Program Files\DevStudio\VB\setupkit\kitfil32\sys32
    For Visual Basic 6.0:
    C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist
  7. The system files that may need to be updated are listed in the Bootstrap or Bootstrap Files section of the Setup.lst file created with your package. These files can also be installed separately from self-extracting files found on Microsoft's support web site. Please see the References section for information about obtaining these files.
  8. You can also edit the Setup.lst file. Look in the Setup1 Files or Files section for files to be copied to either $(WinSysPath) or $(WinSysPathSysFile). For example, Msvcrt.dll and Mfc42.dll. You can copy these lines to the end of the Bootstrap or Bootstrap Files section. You must renumber these lines so that the File numbers are sequential, for example "File1=...", File2=..." and so on. If these lines are removed from their original section, the remaining lines must be renumbered to maintain a sequential list.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

REFERENCES

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
140570 HOWTO: Move Files That Are Currently in Use
174135 PRB: Setup Cannot Continue...System Files Are Out of Date
189743 INFO: Description of Setup.lst Sections
180071 FILE: Msvbvm50.exe Installs Visual Basic 5.0 Run-Time Files
192461 FILE: Visual Basic 6.0 Sample Installs Run-Time Files
290887 FILE: VBRun60sp5.exe Installs Visual Basic 6.0 SP5 Run-Time Files
Visual Basic 5.0 Programmer's Guide, Chapter 17 "Distributing Your Applications"

Online Help for Microsoft Visual Basic, version 6.0

Properties

Article ID: 191096 - Last Review: February 9, 2004 - Revision: 1.0
APPLIES TO
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
Keywords: 
kberrmsg kbappsetup kbprb kbwizard KB191096

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com