When you try to install Microsoft SQL Server 2000 Desktop Engine (MSDE 2.0), the installation may fail and roll back.
To determine why the failure occurred, use the following command to generate a verbose log file. Look for a "Return Value 3" entry in the verbose log file.
setup.exe /L*v c:\msde_install.log
In the verbose log file, you may see error messages that are similar to the following:
Error message 1
Starting custom action InstallPerfMon
Registering performance counters from sqlctr.ini
PerfmonLoad routine returned error code 1010
Action ended 21:39:40: InstallFinalize. Return value 3.
Error message 2
Loading extended custom action library sqlcax.dll
Starting custom action InstallPerfMon
Registering performance counters from sqlctr.ini
PerfmonLoad routine returned error code 203
Action ended 21:55:14: InstallFinalize. Return value 3.
Error message 3
Starting custom action InstallPerfMon
Registering performance counters from sqlctr.ini
PerfmonLoad routine returned error code 6
Action ended 18:04:25: InstallFinalize. Return value 3.
Error code 1010, error code 203, and error code 6 are operating system errors. These error codes are some examples of possible error messages that you may receive.
To determine the message that is associated with an operating system error, run the following command at a command prompt:
NET HELPMSG error number
The error codes that are listed earlier have the following text associated with them:
Collapse this tableExpand this table
| Error code | Text for the error |
|---|
| 1010 | The configuration registry key is invalid. |
| 203 | The system could not find the environment option that was entered. |
| 6 | The handle is invalid.
|
You receive these operating system error when you run the following command:
Lodctr.exe Sqlctr.iniThe Desktop Engine Setup program experienced a problem while it was trying to register the SQL Server Performance Monitor counters.
Use the following troubleshooting methods to help resolve the problem.
- Stop all the services or the applications that might interfere with the Desktop Engine installation or with the loading of the SQL Server Performance Monitor counters. Here is list of some of the services and applications that you must stop:
- Simple Network Management Protocol (SNMP)
- Performance Monitor
- Monitoring services like Surveyor or NetIQ
- Microsoft Distributed Transaction Coordinator (MSDTC)
- Microsoft Search (MSSearch)
- Internet Information Services (IIS)
- WnsService
(This service corresponds to the Canon printer driver.)
- Third-party performance monitor utilities that load performance counters.
- Antivirus programs.
- Look for corrupted registry keys. In many cases, the counters on the system may not function correctly because of corrupted registry keys.
Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base: 322756
(http://support.microsoft.com/kb/322756/
)
How to back up and restore the registry in Windows
The extensible counters information is stored in the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009
Note 009 is a representation of the 3-digit hexadecimal language identifier. The U.S. English language identifier is 009. Language identifiers are defined in the Winnt.h header file.
For other language identifiers, check the Winnt.h file. Examples of other language indentifiers are shown in the following table.
Collapse this tableExpand this table
| Language | Language identifier |
|---|
| Spanish | 0x0a |
| German | 0x07 |
| French | 0x0c |
| Chinese | 0x04 |
Run Registry Editor to view the language identifier registry key and to find registry damage, if it exists.
Another way to look for possible registry key corruption is to reinstall or to load counters for another application. For example, reinstall Microsoft Internet Information Services (IIS).
For additional information about how to do this, click the following article number to view the article in the Microsoft Knowledge Base:
226512
(http://support.microsoft.com/kb/226512/
)
How to reinstall IIS 4.0 Performance Monitor counters
- Check the permissions for the following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009
Make sure that the local Administrators group and the local System account have Full Control permissions for this key. - Make sure that all the following are true:
- The value of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009\Counter registry key is the same as the value of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\Last Counter registry key.
- The value of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009\Helpregistry key is the same as the value of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\Last Help registry key
- Manually register the SQL counters. This may resolve the problem. To do this, run the following command at the command prompt: lodctr "c:\Program Files\Microsoft SQL Server\<InstanceOfSQL Server>\Binn\sqlctr.ini"
- Check to see if you can load a counter other than the performance counter. To do this, follow these steps:
- Load the RemoteAccess counter. To do this, create a .bat file that contains a set of commands that are similar to the following:
echo off
rem findstr drivername %windir%\system32\*.ini
echo unlodctr RemoteAccess
unlodctr RemoteAccess
echo return value = %errorlevel%
echo lodctr lodctr %windir%\system32\rasctrs.ini
lodctr lodctr %windir%\system32\rasctrs.ini
echo return value = %errorlevel%
echo See the Application Eventlog for errors from LoadPerf
- Open the command prompt, and then run the .bat file you created in step 1.
If the RemoteAccess counter cannot be loaded, you may receive an error message. - Disable the rollback feature of the MSDE installation, and then check to see if the Sqlctr.ini file contains the required information. To do this, follow these steps:
- At the command prompt, run the MSDE Setup program with the DISABLEROLLBACK parameter set to 1.
You may notice the behavior that is mentioned in the "Symptoms" section. - Check to see if the information in the [info] section and the [text] section of the Sqlctr.ini file are correct. For example, the entries in the Sqlctr.ini file must be similar to the following for a named instance of SQL Server:
[info]
drivername=MSSQL$<InstanceName>
symbolfile=sqlctr.h
[languages]
009=English
[text]
BUFMGR_OBJECT_009_NAME=MSSQL$<InstanceName> :Buffer Manager
BUFMGR_OBJECT_009_HELP=Statistics related to SQL Servers buffer manager
- If the problem occurs when you install a named instance of MSDE, try to install a default instance of MSDE.
- If the problem occurs on a computer that has a non-English version of the operating system installed, and if the
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009
registry subkey is not present in the registry, try to change the input locale of your computer to English(United States).
Note You can use Regional Options in Control Panel to change the input locale of your computer.
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
296152
(http://support.microsoft.com/kb/296152/
)
Application Center 2000 installation fails during MSDE installation