2010-12-13 28 views
1

現在MSDEを使用している分散Windowsアプリケーション(C#で書かれています)があります。来年にWindows 7をサポートする必要がある(そしてXPをサポートする)必要があるため、クライアントデータベースをSQL Server 2008 Expressにアップグレードすることが決定されました。レジストリパーミッションSQL Server 2008 Expressインストールの修正

現在、バッチファイルを使用してインストーラを実行していますが、Configuration.iniも使用していますが、最近インストール中に次のエラーが発生しました。

「レジストリキー HKEY_LOCAL_MACHINE \ SOFTWARE \マイクロソフト\のMSSQLServer \ MSSQLServerサービス\ SuperSocketNetLib \ Lpcをを修正することができませんでした System.UnauthorizedAccessExceptionは:。 不正な操作を実行しようとしました Microsoft.SqlServer.Configuration.FixSqlRegistryKeyで。 Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKeyAndSubKeys(のRegistryKey キー)」

で Microsoft.SqlServer.Configuration.FixSqlRegistryKey.Program.FixRegistryKeyでProgram.OpenKey(文字列 のkeyName)(文字列 のkeyName)

問題を理解し、手動で修正する方法を理解しています。

このレジストリキーを事前に変更し、管理者グループのアクセス許可を追加するか、親からのアクセス許可を継承するようにキーを設定するには、アプリケーションが必要です。私はこのSQL 2008 Expressインストールの問題に対する他のソリューションも公開しています。

私はレジストリキーのアクセス許可を変更する方法を研究していますが、正しく動作するようにしようとしている問題にぶち当たっています。また、アクセス許可の設定に関連するすべてのクラスとオブジェクトを理解しています。

管理者グループ(任意のマシン)をフルコントロール権限で追加する適切な方法や、親から継承するようにキーのアクセス許可を設定する方法を教えてください。

いつも、Windows XPのすべてのマシンで管理者グループになるのでしょうか?

ありがとうございます!

答えて

0

だから、解決策は、ファイルに次のようでTEMP.TXTファイル持っていた:

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

を次に(Cであなたのtxtファイルに置く:\ tempにまたは何かを):CMDプロンプトでこれを実行し

C:\temp>regini temp.txt 

私は本当にただの継承権限を変更するための簡単な方法を持って期待していたが、このソリューションは、私の目的のために働くだろうと私はちょうど2008年

SQL Server Expressをインストールする前に実行するバッチファイルが含まれます
0

レジストリキーのアクセス権を設定するSUBINACL.EXEを使用して試すことができます: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en

Administratorsグループには、すべてのXPのバージョンに存在します。

+0

リンクをありがとう。しかし、私は、特定のネットワーク上にないクライアントマシン上でスクリプトを実行できる必要があります。そして、私たちは間違いなく追加のツール/ソフトウェアをインストールしないことを望んでいます。とにかくありがとう。 – tc44

関連する問題