在安裝MSSQLSERVER之前,我想知道MSSQLSERVER是否已經安裝在系統中。這應該在C++或mfc中以編程方式完成。如何知道MSSql Server是否安裝在Windows XP或7中?
如果是的MSSQLServer已經安裝在Windows下,那麼是否有任何可能的方式來獲得該服務器的MSSQL證書?
如果是這樣,請說明實現這一目標的方法是什麼?
UPDATE
我試圖安裝SQLSERVER 2005和SQL Server 2008在我的系統,但同時安裝的服務器。我查了註冊表路徑,但它包含了SOFTWARE\Microsoft\Microsoft SQL Server\90
和MSSQLServer 2005
爲SOFTWARE\Microsoft\Microsoft SQL Server\100
MSSqlServer 2008
。之前我安裝我的MSSQLServer如何檢查是否有任何的MSSQL Server版本安裝或沒有?
編輯
到現在我無語安裝在c編程的SQLSERVER ++。
我貼下面的代碼:
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = NULL;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = NULL;
ShExecInfo.lpFile = L"D:\\Softies\\SQLEXPR.EXE";
ShExecInfo.lpParameters = L"/qn addlocal=all InstanceName=SQLEXPRESS DisableNetworkProtocols=0 SECURITYMODE=SQL SAPWD=root SQLAUTOSTART=1 SQLBROWSERAUTOSTART=1 ENABLERANU=0";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_MAXIMIZE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
int nResult=0;
nResult = (int)ShExecInfo.hInstApp;
if(nResult >32)
cout<<"EXE executed successfully"<<endl;
else
cout<<"Reason for failure is" <<nResult<<endl;
return 0;
@奧列格:我試圖安裝SQLSERVER 2005和sql server 2008在我的系統中,但兩臺服務器都已安裝。我查了註冊表路徑,但它包含SOFTWARE \微軟\ Microsoft SQL Server的\ 90 SQLServer的2005年和SOFTWARE \微軟\ Microsoft SQL Server的\ 100 SqlServer的2008.How我可以檢查是否有任何的SQL Server版本安裝或沒有? – karthik 2012-01-02 07:23:42
@ Oleg:看清楚,檢查我的問題中的更新部分。 – karthik 2012-01-02 07:27:13
@karthik你不需要檢查90或100(這些版本,而不是實例) - 你需要檢查MSSQLSERVER(或MSSQL10_50.MSSQLSERVER - 取決於版本) - 爲默認實例,或爲實例名\實例的實例。如果您設置SQLEXPRESS實例,那麼檢查的註冊表鍵是SOFTWARE \ Microsoft \ Microsoft SQL Server \ SQLEXPRESS。 – 2012-01-02 07:28:44