This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
BUG #: 362110 (SHILOH_BUGS)
All incarnations of Microsoft SQL Server 2000 (Personal, Evaluation, Developer, Standard, and Enterprise) include SQL Server Desktop Engine (also known as MSDE 2000) on the respective CD-ROMs in the \MSDE folder, and are shipped as build 8.00.194.01. If you originally used this build of MSDE, and you upgrade to MSDE 2000 Service Pack 2, you cannot remove MSDE 2000 from the computer. For example, if you use the Add/Remove Program applet to remove MSDE 2000, you receive the following error:
The instance name specified is invalid.
Fatal error during installation.
You receive a similar error message, if you use the SQL Server 2000 Desktop Engine Setup program (Setup.exe) with the uninstall command line option (/x switch).
This problem only occurs if you have upgraded the MSDE RTM build (194.01) directly to Service Pack 2. It does not occur on any other incarnations of the MSDE 2000 product. Additionally, the problem does not occur if you first upgrade from the release to manufacturing (RTM) version to MSDE 2000 Service Pack 1, and then upgrade to MSDE 2000 Service Pack 2.
When you remove the product, the Windows installer is failing at the DetectInstanceClash custom action.
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack
NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.
The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.
Depending on the original Windows Installer package file (.msi) that was used to install MSDE 2000, you have to apply only one of the patch files (.msp) to your existing MSDE installation. For example, if you used Sqlrun01.msi to install MSDE 2000 RTM, you must use the Sqlrun01.msp file that is shown in the list. For Sqlrun02.msi, you must use Sqlrun02.msp.
After you apply the patch package, you can successfully remove MSDE 2000.
For additional information about how to determine which Windows Installer file was used for your MSDE installation, click the article number below to view the article in the Microsoft Knowledge Base:
311762 How to Identify Which MSI File Was Used for an Existing MSDE Installation.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.
To gather more information about where the failure is occurring, use the following switches with the setup program, and turn on verbose logging:
C:\> setup.exe /x [package_file] /L*v [filename]
For example, if you originally installed MSDE 2000 by using the Sqlrun01.msi package, you can use this syntax
where MYMSDE is the instance name used at the time of the MSDE installation. Additionally, you must specify the name of the same installation package file that was used to install the instance of the Desktop Engine.
NOTE: Copy the .msi file to the same folder as the Setup.exe file.
You may also use the Windows Installer tool to remove MSDE 2000.
For additional information about the complete list of the available command line switches, click the article number below to view the article in the Microsoft Knowledge Base:
227091 Command-Line Switches for the Windows Installer Tool
MSDE uninstall product code instance name invalid detectinstanceclash sp2