BUG: TCProps.dll Fails to Register During Setup

ID: Q195228


The information in this article applies to:
  • Microsoft Visual Studio 6.0
  • Microsoft Visual C++, 32-bit Editions, version 6.0


SYMPTOMS

During the "setup is updating your system" phase of installation, you might receive the following error message:

TCPROPS.DLL was unable to register itself in the system registry.


CAUSE

TCProps.dll is created using ATL. ATL registration requires 8.3 file name support. The registration fails when 8.3 file name support is turned off using the System Policy Editor.


RESOLUTION

Use one of the following to work around this problem:

Workaround A

  1. Uninstall Visual C++.


  2. Use the Policy Editor to turn on long file name support.


  3. Install Visual C++.


Workaround B

  1. Uninstall Visual C++.


  2. Install Visual C++ into a directory with an 8.3 name instead of the default location.


Workaround C

  1. Copy TCProps.dll into a directory with an 8.3 name (such as C:\Winnt).


  2. Register TCProps.dll by executing it from the command prompt as follows:


  3. regsvr32 tcprops.dll


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

To find out if a directory has a short filename, change directories to its parent directory. The execute dir /ad /x. If the directory name is not an 8.3 name, there is no 8.3 name next to it and TCProps.dll resides in that directory or a child directory, it fails to register.

Steps to Reproduce Behavior

  1. Install Windows NT 4.0 Service Pack 3, and disable 8.3 FileName creation with the System Policy Editor (under Local Computer\Windows NT System\File System\Do not create 8.3 names for long file names).


  2. Restart. (Use "dir /x" to verify that creating long directories does not create the short paths.)


  3. Create an ATL DLL or load the TCPROPS Project mentioned previously.


  4. Create a long directory name and throw the DLL in it.


  5. Try to register the DLL with RegSvr32.exe.


RESULT: One of the following return codes should appear:

   0x0000007E - "The specified module could not be found"
   0x80070002 - "The system cannot find the file specified." 


REFERENCES

The System Policy Editor is not installed on Windows NT Workstation by default. For instructions on locating and installing the policy editor, please see the following Knowledge Base article:

Q173673 Windows NT Server Tools for Windows NT Workstation 4.0 Available

Please see PolEdit.hlp in your Windows NT system directory for additional details on how to use the System Policy Editor.

Additional query words:

Keywords : kbsetup kbVC600 kbVS600
Version : WINDOWS:6.0; winnt:6.0
Platform : WINDOWS winnt
Issue type : kbbug


Last Reviewed: April 13, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.