0

我正在编写一个将数据存储在命名 SQL 实例中的小 .Net 应用程序。我需要能够以编程方式卸载实例。使用卸载参数调用 setup.exe 很容易(我在这篇文章中找到了它们:https ://stackoverflow.com/questions/16068490/how-do-i-remove-an-sql-2008-instance-from -command-prompt-wo-removing-the-server),但困难的部分是可靠地找到 setup.exe。

我在其中找到了 setup.exe 的副本

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\
C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\

最后我找到了“setup100.exe”

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\SQLServer2008R2\x86

我怎么知道该使用哪一个?到目前为止,我发现我必须使用其中的一个:

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\

但我仍然不确定为什么我在那个 SQLServer2008R2 文件夹中找到了 setup.exe。

有一些方法可以查询卸载命令,但是当您卸载命名实例时它们是不可靠的...... :(。Win32_Product 可以工作,但在调用它时会破坏。Windows.Installer 会记录曾经安装的所有内容,所以如果我有安装了几个版本的 SQL(令人惊讶的常见)我不知道该使用哪个版本。

现在我只是在查询数据库的安装位置,使用我在

"\100\Setup Bootstrap\setup.exe" 

并希望最好的:P。

编辑:找到另一个:P

"C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\x86\setup100.exe"
4

1 回答 1

1

您可以查看注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\100\Bootstrap

你想要的关键是BootstrapDir.

FWIW,我在 Setup Bootstrap 文件夹中没有(setup100.exe 或 setup.exe),只有在SQLServer2008R2子文件夹中。这可能是因为我没有安装 SQL Server 2008,只有 2008 R2。

那么,如果找不到您所追求的文件(因为尚未安装 2008,或者因为用户在不明智的尝试中删除它以释放一些空间),您打算怎么做?

于 2013-04-22T20:46:05.573 回答