2010-12-13 106 views
1

我有一個當前使用MSDE的分佈式Windows應用程序(用C#編寫)。我們決定將客戶端數據庫升級到SQL Server 2008 Express,因爲我們需要能夠在明年支持Windows 7(並且仍然支持XP)。註冊表權限修復SQL Server 2008 Express安裝

目前,我正在使用批處理文件來運行安裝程序(並使用Configuration.ini),但最近在安裝過程中遇到以下錯誤。

「無法修復註冊表項 HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的MSSQLServer \的MSSQLServer \ SuperSocketNetLib \ LPC System.UnauthorizedAccessException的:。嘗試執行 未經授權的操作在 Microsoft.SqlServer.Configuration.FixSqlRegistryKey。 Program.OpenKey(字符串 註冊表項目)在 Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKey(字符串 註冊表項目)在 Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKeyAndSubKeys(的RegistryKey 鍵)」

我瞭解該問題以及如何手動修復。

我需要應用程序提前修改此註冊表項,併爲管理員組添加權限或將密鑰設置爲從父項繼承權限。我也對此SQL 2008 Express安裝問題的其他解決方案開放。

我一直在研究如何修改註冊表項的權限,但我一直在遇到問題,試圖使其正常工作(並理解與設置權限相關的所有類和對象)。

有人可以提供正確的方式來添加具有完全控制權限的管理員組(任何計算機),或者如何設置密鑰的權限以便它從父級繼承?

旁邊的問題,他們將永遠是每個Windows XP機器上的管理員組?

謝謝!

回答

0

所以溶液具有與該文件在以下一個TEMP.TXT文件:

\Registry\Machine\Software\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Lpc [1 5 8] 

然後在命令提示符運行這個(把你的txt文件在C:\ TEMP或東西):

C:\temp>regini temp.txt 

我真的很希望能有什麼簡單的方法只需更改繼承的權限,但這種方法會爲我的目的工作,我將只包括要運行之前安裝SQL Server Express 2008

一個批處理文件