我正在编写一个.Net应用程序,用于将数据存储在命名的SQL实例中。我需要能够以编程方式卸载实例。使用卸载参数调用setup.exe很容易(我在这篇文章中找到了它们:https://stackoverflow.com/questions/16068490/how-do-i-remove-an-sql-2008-instance-from-command-prompt-w-o-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"
答案 0 :(得分: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,或者因为用户在不明智的尝试中将其删除以释放一些空间)?< / p>