Microsoft KB Archive/201546

= PRB: Setup - 64K Register Key Limitation Under Windows 95 =

Article ID: 201546

Article Last Modified on 8/12/2005

-

APPLIES TO


 * Microsoft Visual Studio 6.0 Enterprise Edition
 * Microsoft Visual SourceSafe 6.0 Standard Edition
 * Microsoft Visual J++ 6.0 Standard Edition
 * Microsoft Visual InterDev 6.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition
 * Microsoft Visual C++ 6.0 Professional Edition
 * Microsoft Visual Basic 6.0 Learning Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition

-



This article was previously published under Q201546



SYMPTOMS
When you install Visual Studio 6.0 or any of the Visual Studio 6.0 stand-alone products, you might receive the following warning:

Setup has detected that your system may not have enough registry database space available for a full installation. It is recommended that you read the Readme topic 'Windows 95 Registry Size' in Install.htm before continuing.

This warning appears before the first wizard screen appears.

If you receive this warning and you ignore it, you might experience unpredictable behavior during Setup and when you run the products you installed.

Near the end of Setup, several DLLs are registered using REGSVR32. You might see errors like the following:

Cannot load XXX.DLL

The text of this error does not indicate what the effect of this error is or why the DLL could not be loaded.



CAUSE
There is a known 64K limitation on the size of registry keys in Windows 95.



RESOLUTION
In the Install.htm readme file included with the products listed at the beginning of this article, there is an entry that addresses this issue. Please see the following section of the Install.htm:

Windows 95 Registry Size: 64 KB Limitation May Cause A Warning During Visual Studio Installation

In addtion, the MORE INFORMATION section of this article contains information that is not available in the Install.htm readme file. In particular, it describes a tool to help you clean the SharedDLLs registry key and also describes platform limitations and product sizes.

IMPORTANT: If you are not absolutely certain of the requirements you need, it is safest to install only if you do not receive the initial 64k Warning during Setup.



STATUS
This behavior is by design.



MORE INFORMATION
The main area of contention is the following registry key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedDlls When you install Visual Studio 6.0, the Setup program checks to make sure that there is enough room in the registry to install all of Visual Studio (that is, Visual C++, Visual Basic, Visual InterDev, Visual J++, Visual FoxPro, and Visual SourceSafe). It is not possible to check for registry usage after you have made your selections. As a result, Setup often overestimates by checking for the maximum possible space required. For example, Visual Studio setup checks to see if you have 29000 bytes available.

Below is a list of the space requirements for each of the Visual Studio components. Note that there is some overlap between components. There is no formula to tell you what is required to install two or three components.

Note that even though the Professional and Learning editions typically take up less space than Enterprise editions, the required size does not differ between editions.

SharedDlls Registry Space Tool
ShareDLL.exe is a self-extracting executable that contains ShrDLL.exe. This tool can tell you how much space is in use and can also clean up some spurious entries that take up space in the SharedDLLs registry key.

NOTE: This tool has not been formally tested. Microsoft does not support Shrdll.exe.

For additional information about how to obtain and use ShrDLL, click the article number below to view the article in the Microsoft Knowledge Base:

217165 Check the size of the SharedDLLs registry key using ShrDLL.exe

Registry and the Platform
Depending on the platform, checks are performed at the beginning of Setup to ensure that the registry does not overflow. There are two aspects of the registry that can affect Setup in this regard:
 * The total space available for entering new keys and values. If there is not enough space available, Setup might need to increase the registry size.
 * The size of individual registry keys.

See the following for a short comparison of registry support from the different platforms:

Microsoft Windows 2000
There are no known issues.

Microsoft Windows NT 4.0
There is no limitation on the size of individual registry keys, but Windows NT 4.0 cannot dynamically increase the overall size of the registry. If the registry needs to increase, a warning appears and you have to restart your computer.

Microsoft Windows 98
There are no known issues. There is no 64K registry key limitation and Windows 98 does not require you to restart to increase the size of the registry.

Microsoft Windows 95
No individual registry key can be larger than 64K. Windows 95 can dynamically increase the registry without restarting.

Additional query words: HKLM HKCU

Keywords: kbsetup kbprb KB201546

-

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

© Microsoft Corporation. All rights reserved.