HOW TO: Troubleshoot a SQL Server Desktop Engine 2000 Installation and Upgrade (317328)



The information in this article applies to:

  • Microsoft SQL Server 2000 Desktop Engine (MSDE)

This article was previously published under Q317328

SUMMARY

SQL Server 2000 Desktop Engine (also known as MSDE 2000) is a data engine that is built and based on core SQL Server technology. With support for single and dual-processor desktop computers, MSDE 2000 is a reliable storage engine and query processor, for desktop extensions of enterprise applications. With the common technology base that SQL Server and MSDE 2000 share, developers can build applications that can scale seamlessly from portable computers to multiprocessor clusters.

This article includes general information for the following parts of MSDE 2000:
  • How to install MSDE 2000.
  • How to troubleshoot a stand-alone MSDE 2000 installation.
  • How to troubleshoot an installation that is embedded with MSDE 2000 as merge modules.
  • How to upgrade MSDE 2000 to a service pack level by using a Microsoft .msp file.
  • How to upgrade MSDE 2000 merge modules to a service pack level.
back to the top

How to Install MSDE 2000

There are multiple ways to install MSDE 2000. Generally, you can separate the installations into either:

  • A stand-alone MSDE 2000 installation. -or-

  • -or-A custom installation that consumes MSDE 2000 as merge modules.
More information about each methods follows.

Here are three stand-alone MSDE 2000 installation methods:

  • Use a Boot-strapper Setup.exe file. The Setup.exe file is a boot-strapper of the Msiexec.exe file. This boot-strapper file comes with Sqlrun.cab, and all the Windows Installer packages together. It can detect installed instances, and automatically select from the suite of 16 packages to install new instances of MSDE 2000. MSDE 2000 has a maximum limit of 16 .msi files. Each .msi file is a separate package that allows you to install an instance of MSDE 2000.

    If you install MSDE 2000 by using the Setup.exe file, you can turn on verbose logging for troubleshooting purposes. For example, you can run this script

    D:\MSDE2000\>Setup.exe /Settings D:\MSDE2000\Setup.ini /L*v C:\MSDE_setup.log

    to automatically select from the suite of 16 packages, by using the parameters in a Setup.ini file, and then turning on the verbose log that is named MSDE_setup.log.

    NOTE: This example assumes that the MSDE 2000 installation folder exists on drive D.

    -or-

    To specify a .msi file, you can run the following sample command:

    D:\MSDE2000\>Setup.exe /Settings D:\MSDE2000\Setup.ini /i D:\MSDE2000\Setup\Sqlrun01.msi /L*v C:\MSDE_setup.log

    You can specify each SQL Server setup parameter in the Setup.ini file, or you can pass them in at the command-line. They are known as external properties because they are command-line parameters. For more information, read the following article in the Microsoft Knowledge Base:

    281983 PRB: Cannot Specify Instance Name Using SQL Server 2000 Merge Modules

  • The Setup.exe file is a boot-strapper of the Msiexec.exe file. This boot-strapper file comes with Sqlrun.cab, and all the Windows Installer packages together. It can detect installed instances, and automatically select from the suite of 16 packages to install new instances of MSDE 2000. MSDE 2000 has a maximum limit of 16 .msi files. Each .msi file is a separate package that allows you to install an instance of MSDE 2000.Use a Windows Installer Msiexec.exe file The Msiexec.exe file is the Windows Installer Engine that interprets packages and installs products. It is different from the Setup.exe file that was mentioned earlier. Msiexec.exe does not automatically detect an installed instance. It only starts a specific numbered stand-alone Windows Installer package for a single named instance installation.

    Note that Msiexec.exe also sets an error level on return that corresponds to the Microsoft Win32 error codes. See the Windows Installer Help file for a complete synopsis that describes the command-line options for this program.

    If your computer does not have Windows Installer, you can run the Windows Installer executable to install it. The Windows Installer executable program is located under the MSI folder of the MSDE 2000 redistributable package.


    To install or configure a custom application Windows Installer package from the command line, use the /i switch option. For example:

    Msiexec.exe /i D:\MSDE2000\Setup\Sqlrun01.msi /l*v C:\MSDE_setup.log

    NOTE: This example assumes that the MSDE 2000 installation is on drive D.

    User properties are optionally provided on the command-line.

  • The Setup.exe file is a boot-strapper of the Msiexec.exe file. This boot-strapper file comes with Sqlrun.cab, and all the Windows Installer packages together. It can detect installed instances, and automatically select from the suite of 16 packages to install new instances of MSDE 2000. MSDE 2000 has a maximum limit of 16 .msi files. Each .msi file is a separate package that allows you to install an instance of MSDE 2000.Use an Integrated Stand-Alone MSDE 2000 Variant in a Custom Application You can also use the stand-alone MSDE 2000 variants in a custom application, where you start either the Setup.exe boot-strapper or one of the individually numbered Windows Installer packages, independently from inside the custom application. In effect, both the custom application and the MSDE 2000 installations are provided together. In this situation, you cannot develop your custom application by using the Windows Installer because MSDE 2000 does not support a nested installation. In other words, you cannot call a Windows Installer file inside another Windows Installer file as a custom action because it is not supported in MSDE 2000. Starting a Msiexec.exe process to nest the installation of a numbered stand-alone MSI package is not allowed. For more information, read the following article in the Microsoft Knowledge Base:

    307196 PRB: SQL Server 2000 Desktop Engine Error Message: "Error 126 loading library sqlcax.dll"

    If you want to start the Setup.exe boot-strapper, or one of the individually numbered Windows Installer packages, you must do so independently of your custom application. This integration does not embed the MSDE 2000 merge modules, and you must install the custom application before or after MSDE 2000 is installed (not simultaneously). The custom application and the stand-alone MSDE 2000 setup are independent of each other, and each will have it's own product codes. To accomplish this, you must use a higher level setup launcher (not Windows Installer based) that wraps both the custom application and the stand-alone MSDE, and then opens them independent of each other.
  • Embedded MSDE 2000 as Merged Modules

    You can also consider consuming MSDE 2000 merge modules into your custom application setup. The Embedded MSDE Adaptation installation fuses the custom application and the MSDE 2000 components into a single product under a single product code. It also permits the simultaneous installation of both parts, and the whole implementation can be Windows Installer based.

back to the top To troubleshoot an MSDE 2000 installation, you can turn on logging during the MSDE 2000 setup.

If the setup fails, locate the log file, and then search for any existence of "return value 3". A "return value 3" is the fatal error value that returns for an action. Based on the failed action, you can continue to determine the reason why your MSDE 2000 setup failed.

This table lists the command return code that is in the MSDE 2000 Setup log file.

Return CodeMeaning
1Success
2User cancelled
3Unrecoverable errors
4Install suspended waiting for reboot
Here is a list of custom actions that might fail when you install MSDE:

  • ConfigServer.2D02443E_7002_4C0B_ABC9_EAB2C064397B
  • InstallSqlRedis.2D02443E_7002_4C0B_ABC9_EAB2C064397B
  • InstallDTC.2D02443E_7002_4C0B_ABC9_EAB2C064397B
Here is a list of the common issues you may experience when you run the MSDE 2000 Setup:
  • You receive an error message on a computer that has SQL Server 7.0 tools installed. If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message
    Loading extended custom action library sqlcax.dll
    Starting custom action SkuIt
    An internal error occurred during install (failed to load package id). Contact Microsoft Technical Support.
    Action ended xx:xx:xx: InstallFinalize. Return value 3.
    see the following article in the Microsoft Knowledge Base for information about how to rename the Sqlboot.dll file:

    275307 BUG: Installation of SQL Server 2000 Desktop Engine Fails on Computers That Already Have SQL Server 7.0 Tools Installed

  • If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message You receive an error message when you run script files or when you configure SQL Server. If your setup fails and you receive an error when you run script files or when you configure SQL Server, the problem may be caused by an MDAC components installation failure. Before you run script files or before you configure SQL Server, the setup must connect to SQL Server. If MDAC components are not installed properly during the earlier MSDE 2000 setup stage, the connection fails, your setup fails and you receive an error message. You can examine the Dasetup.log file, which is the report file for the MDAC setup. Dasetup.log is located in the SystemRoot\Winnt or the SystemRoot\Windows\ folder. Microsoft recommends that you verify that you can install MDAC 2.6 or MDAC 2.6, with the necessary service pack, successfully on your computer.

    To find out what MDAC version is installed on your computer, you can use the Component Checker tool. To download the Component Checker tool, visit the following Microsoft Web site:

    http://msdn.microsoft.com/library/default.asp?url=/nhp/Default.asp?contentid=28001860

  • If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message The installation fails and you receive an error about using an incorrect login account, or about using a Microsoft Windows account that does not have sufficient file permissions. If you try to install an instance of MSDE 2000 and the installation fails (for reasons such as specifying an incorrect login account or for using a Microsoft Windows account that does not have sufficient file permissions), you may want to resume the setup after you correct the error condition. This includes an installation that uses either the MSDE 2000 Setup or the MSDE 2000 merge modules in a Windows Installer installation process.

    When resuming the installation process, you must specify two installation options, in addition to the options that were specified in the original installation attempt.

    For example:
    REINSTALL=All 
    
    -and-
    
    REINSTALLMODE={ omus | a }
    					
    REINSTALL=ALL means that the Windows Installer installs all the MSDE 2000 features. The only value supported is ALL. REINSTALLMODE=omus, specifies the level of processing that is performed by the MSDE 2000 Setup or the Windows Installer.

    Specify REINSTALLMODE=omus when you are resuming a failed setup. With this option, the whole installation process is verified and completed. Specify REINSTALLMODE=a when you have to rebuild only the master database, such as after a failure of a disk drive that contains the master database.

    NOTE: You must back up all the data before you reinstall because the reinstallation overwrites all the system databases. When you reinstall an instance of MSDE 2000, you must specify the same instance name as the one that was used in the original installation.

  • If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message An installation rolls back. When the MSDE 2000 setup fails, it may rollback the installation. The rollback may cause the deletion of some of the setup logs. For example, the Cnfgsvr.out file in the Install folder is deleted during rollback. For troubleshooting the MSDE 2000 setup, you can disable the rollback feature to collect the setup output files. Here is a sample command for disabling rollback:

    D:\MSDE2000\>Setup.exe DISABLEROLLBACK=1 /L*v C:\MSDE_setup.log


  • If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message An error message occurs when you install MSDE 2000 on a computer that has Certificate Server installed. If Certificate Server is installed on a computer that is running Microsoft Windows 2000, and the Certificate Authority (CA) name is the same as or starts with the machine host name, your MSDE 2000 setup will fail, and you receive the following error message:
    Setup failed to configure the server. Refer to the server error logs and setup error logs for more information.

    This problem was first corrected in SQL Server 2000 Service Pack 1. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    302409 FIX: Unable to Connect to SQL Server 2000 When Certificate Authority Name Is the Same As the Host Name of the Windows 2000 Computer


  • If you have SQL Server 7.0 client tools installed on your computer, and the MSDE 2000 Setup returns this error message You receive an error message on a computer that has a later version of a SQL Server service pack intalled. If you have MSDE 2000 and any SQL Server 2000 service pack installed, your setup may fail and you receive this error message:
    LoadLibrary failed for [path]\Binn\SEMNT.DLL. GetLastError() returned: 126

    -and-

    Microsoft SQL Server Desktop Engine -- Installation operation failed.
    This problem was first corrected in SQL Server 200 Service Pack 1.

    For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

    299351 BUG: MSDE Installation Fails on Systems That Have SQL Server 2000 Service Pack 1 or 2 Installed


back to the top

Troubleshoot an Installation That is Embedded with MSDE 2000 as Merge Modules

MSDE 2000 is available as a set of Windows Installer merge modules, which can be used by independent software vendors (ISVs) to install an instance of the SQL Server 2000 Desktop Engine during their own setup process. These merge modules can be merged into the ISV setup program by using available Windows Installer setup development tools. MSDE 2000 merge modules are located in the Msm folder of your copy of the MSDE 2000 CD.

You can embed MSDE 2000 merge modules (.msm files) into a Windows Installer based setup application by creating your own .msi file. You can reduce the disk footprint of your application by customizing the MSDE 2000 Setup so that it does not install SQL Server 2000 components that are not used by your application. You can leave out the DMO*.msm files, Repl*.msm files, or both. These are merge modules for SQL-DMO and replication, respectively. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

299795 INF: How to Author MSDE 2.0 Setup Packages with Microsoft Visual Studio Installer 1.1

For information about consuming MSDE into a custom application, read the following article in the Microsoft Knowledge Base:

325004 HOW TO: Author MSDE 2000 Setup Packages by Using Visual Studio .NET

For more information, visit the following Microsoft Web sites: You must add some internal properties in the Property table for the MSDE 2000 merged module. For example, you can add an entry in the Property table for INSTANCENAME, and then specify a name. You can add an entry for SECURITYMODE the same way. However, you must make these changes in the main installation package, and not in the SQL Server 2000 MSDE merge modules. You can map each of these properties to an internal property in the merge module by creating custom actions in the main MSI file. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

281983 PRB: Cannot Specify Instance Name Using SQL Server 2000 Merge Modules

If you experience any technical issues when you create the setup package by using any third party software or authoring tools, please contact the third party software company for technical support.

back to the top

Upgrade MSDE 2000 to a Service Pack Level with a Microsoft Provided MSP Patch Package

If you installed MSDE 2000 by using the original .msi file from Microsoft, you can upgrade the existing MSDE 2000 to a service pack level by applying the .msp patch file. You must first identify which .msi file the MSDE 2000 setup used. This is important because you must use a specific patch package (.msp) to apply service packs to the existing MSDE 2000 installation. For example, if you used Sqlrun01.msi to install the original MSDE 2000 files, you must use Sqlrun01.msp to upgrade it to Service Pack 2 (SP2). For Sqlrun02.msi, you must use Sqlrun02.msp and so forth.

NOTE: In SQL Server 2000 SP3, the file name is SqlRun01P.msp.

For more information, see the following article in the Microsoft Knowledge Base:

311762 INF: How to Identify Which MSI File Was Used for an Existing MSDE Installation

For example, you can run this command to upgrade MSDE 2000 to MSDE 2000 SP2 by using the parameters in a Setup.ini file, and enabling the verbose log that is named MSDE_upgrade.log:

D:\MSDE2KSP2\>setup.exe /settings D:\MSDE2KSP2\setup.ini /p SQLRUN /L*v C:\MSDE_upgrade.log

-or-

To specify a .msp file, you can use this:

D:\MSDE2KSP2\>setup.exe /settings D:\MSDE2KSP2\setup.ini /p D:\MSDE2KSP2\setup\sqlrun01.msp /L*v C:\MSDE_upgrade.log

NOTE: This example assumes that MSDE 2000 SP2 is installed on drive D.

NOTE: In SQL Server 2000 SP3, the file name is SqlRun01P.msp.


You can also disable rollback or enable the reinstall mode for troubleshooting the MSDE 2000 upgrade to a service pack level. For more information about ROLLBACK, REINSTALL and REINSTALLMODE, read the section of this article.

To avoid this error message when you try to upgrade MSDE 2000 to a service pack level on a computer that is running Microsoft Windows 98
Unable to run script files.

make sure that you use the UPGRADEUSER=sa parameter. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

303680 PRB: SQL Srv. 2000 MSDE Service Pack 1 Setup on Windows 98 Fails


back to the top

Upgrade MSDE 2000 Merge Modules to a Service Pack Level

You can consider a minor upgrade in which you upgrade the MSDE 2000 merged modules to a service pack level. The upgrade changes the package code and the product version for a package that ships as a full product installation package or as a patch package. In a minor upgrade, the product code does not change. However, a minor upgrade cannot use a different volume label for the new version.

A change in the product version indicates that there is an order to the different updates for the same product. For example, if a patch exists to update version 9.0 to version 9.1, and another patch exists to patch version 9.1 to version 9.2, the installer can enforce the correct order by checking the product version before it applies the patch. This also prevents the version 9.2 patch from being applied to version 9.0. For patches, this ordering is enforced through the product version validation bits set in the transforms that are included in the patch package.

For additional information about how to create a patch file for theMicrosoft SQL Server 2000 Desktop Engine (MSDE 2000) sample.msi., click the article number below to view the article in the Microsoft Knowledge Base:

314131 HOW TO: *Create Patch Files (Service Packs) For MSDE 2000 Sample

If you installed MSDE 2000 as merged modules with another custom application setup such as the Microsoft Application Center 2000 product, you must contact Microsoft Application Center 2000 for the availability of an upgrade package to upgrade your existing MSDE 2000 installation to a service pack level. For third-party custom applications that consume MSDE 2000 as merged modules, contact the custom application vendor for support. back to the top

Modification Type:MinorLast Reviewed:1/21/2004
Keywords:kbHOWTOmaster KB317328 kbAudDeveloper