Microsoft KB Archive/159263

{|
 * width="100%"|

PRB: "One of your System Components is out of date" Error

 * }

Q159263

-

The information in this article applies to:


 * Microsoft Win32s version 1.3c

-

SYMPTOMS
After you install Win32s version 1.30c, every time you start any 32-bit application that requires Win32s (for example, FREECELL), you get the following error:

"One of the System Components is out of date. Please re-install the "

Note that the above message does not give the name of the system component, so it is difficult for an end-user to identify the exact problem. This article discusses the possible reasons for this error message under Win32s.

CAUSE
The following are three known situations where this error message occurs:

 You might have a mix of debug and retail Win32s and OLE files in your Windows 3.1 system directory as a result of upgrading your previous installation of Win32s. The Win32s SETUP.EXE program is designed to run only under the retail version of Win32s. If you have switched to the debug version of Win32s in the past by using the SWITCH.BAT file in the Win32s\Bin directory and then tried to run the Setup program, Win32s will not be installed properly on your computer. This is because some of the Win32s and OLE files will not be replaced correctly.

NOTE: Do not use the SWITCH.BAT program to upgrade your previous installation to Win32s.  If this error message appears and your application starts and continues to run, then the OLE32.DLL installed on your computer is an older version, not the one in Win32s version 1.30c. (Note that the OLE version for Win32s 1.30c should be 2.3.130.168.) Microsoft decided to incorporate this behavior into Win32s version 1.30c because it wanted ISVs to distribute the OLE 2.0 DLLs with 1.30c, even if their applications are not OLE 2.0 applications.

If the application does not start after displaying this error message, it usually means that the application is an OLE 2.0 application, and hence it will not start to run even if only OLE32.DLL does not have the correct version. This could mean that one or more of the OLE16 DLLs were not installed correctly.

If you run your application under the debug version of Win32s, you should get one of the following messages:

- err: Could not get file version info size for OLE32.DLL.

- err: Can't allocate version buffer (%ld bytes).

- err: Could not get file version info.

- err: Could not query Fixed File Information.

- err: Wrong OLE32.DLL version: %d.%d.%d.%d.

The last message tells you the version of OLE32.DLL.  This error message appears due to a bug in Win32s 1.30c specific to Novell networks. If the Windows system directory is mapped to the root directory of any drive on the Novell network, this message will appear each time you start a Win32s application. However, the application will start.

RESOLUTION

 * 1) If you are running into situation 1 above, it is highly probable that you are an ISV or software developer running Win32s. An ISV can remedy the problem as follows:


 * 1) * Switch to the retail version of Win32s first by using the SWITCH.BAT file in the Win32s\Bin directory. Then run the Win32s Setup program to upgrade to the newer version of Win32s.

This situation should not apply to a Win32s installation on an end-user machine. If you are an end-user of Win32s, please see the following two options.
 * 1) If you are running into situation 2 above, you should manually verify that all the OLE DLLs on your system are installed correctly. Compare the file dates and version numbers of all the OLE files between the Win32s directory on your system and the installation disks.
 * 2) If you are running into the Win32s bug on a Novell network (situation 3 above), one workaround is to not map the Windows system directory to the root directory of any drive. Rather, map it to a sub-directory on the drive. For example, if you have mapped the Windows system directory to W:\ drive, the workaround is to map the Windows system directory to Z:\SYSTEM directory on your Novell network.

STATUS
This behavior is by design.

MORE INFORMATION
If none of the above solutions work for you, you should remove your previous installation of Win32s as described in the Microsoft Knowledge Base article below, and then run the Win32s Setup program:

"Q120486 How to Remove Win32s"