web-dev-qa-db-ja.com

/ regserverと/ unregserverの間に実際に何が起こりますか?

サーバーにプログラムをインストールし、別のコンピューターからプログラムをアンインストールしています。

サーバー:Windows Server 2008 R2コンピューター:Windows 7 Ultimate

インストーラーとアンインストーラーを同時に見つけました。これらの2台のマシンは、グループポリシーを適用する設定を持つドメイン上にあります。

彼らが停止するプログラムをインストールするとき

"C:\ Lumesnion\admin\smc.exe"/regserver

インストールログ。彼らはで止まります

"C:\ Lumesnion\admin\smc"/unregserer

アンインストールログ。

これは、レジストリエディターがロックされている問題ですか?彼らがそこで立ち往生している理由についての情報を得ることができません。 regeditを使用してレジストリ編集を有効にしましたが、まだハングします。

/ regserverと/ unregserverが実際に何をしているのか、プログラムが実際に正常にインストールされるように修正する方法を教えてもらえますか?

編集1:追加するのを忘れた私はマシンのドメイン管理者とローカル管理者です。 「管理者として実行」でプログラムをインストールしています。

編集2:Lumension DeviceControlのインストール。

編集3:テストを実行し、Process Monitorを使用してインストーラーを開始したところ、smc.exeがインストールされるフォルダーに「FAST IO DISALLOWED」と表示されています。/regserverがDCOM値の登録に使用されていることを理解している限り、Fast I/Oが登録を行います。正しく理解していない限り、間違っていますか?

3
JukEboX

/ regserverと/ unregserverが実際に行っていることを誰かに教えてもらえますか?

自己登録:

IClassFactory2を介して処理されるライセンスの問題に加えて、インストール手順では、通常、コンポーネントがCOMおよびOLEコンテキストで適切に実行されるために必要なレジストリエントリが作成されます。

さらに:

このデータの存在により、この新しいコンポーネントを統合したいアプリケーションなどの関係者は、最初にDLLまたはEXEをロードしなくても、サーバーが自己登録をサポートしているかどうかを判断できます。

サーバーがDLLモジュールにパッケージ化されている場合、DLLは関数DllRegisterServerおよびDllUnregisterServerをエクスポートする必要があります。サーバーに登録するように指示するアプリケーション(つまり、そのすべてのCLSIDとタイプライブラリID)は、GetProcAddress関数を介してDllRegisterServerへのポインターを取得できます。DllRegisterServer内で、DLLは、=への正しいパスを格納して、 DLLすべてのInprocServer32またはInprocHandler32エントリ。

アプリケーションがシステムからコンポーネントを削除したい場合は、DllUnregisterServerを呼び出してそのコンポーネントの登録を解除する必要があります。この呼び出し内で、サーバーはDllRegisterServerで以前に作成したエントリを正確に削除します。他のソフトウェアがTreatAsキーなどの追加のエントリを保存している可能性があるため、サーバーはそのクラスのすべてのエントリを盲目的に削除しないでください。

サーバーがEXEモジュールにパッケージ化されている場合、サーバーの登録を希望するアプリケーションは、コマンドライン引数/ RegServerまたは-RegServer(大文字と小文字を区別しない)を使用してEXEサーバーを起動します。アプリケーションがサーバーの登録を解除したい場合は、コマンドライン引数/ UnregServerまたは-UnregServerを使用してEXEを起動します。自己登録EXEは、これらのコマンドライン引数を検出し、DLLがそれぞれDllRegisterServerおよびDllUnregisterServer内で行うのと同じ操作を呼び出し、モジュールパスをInprocServer32またはInprocHandler32ではなくLocalServer32に登録します。

「これはレジストリエディターがロックダウンされている問題ですか?」

これは、あなたがドメインの管理者ではないという事実に関係している可能性が非常に高いです。ただし、ご提供いただいた情報に基づいて、疑いの余地なく実際に回答することはできません。

/ regserverと/ unregserverが実際に何をしているのか誰か教えてもらえますか?

COMライブラリ と通信できるようにアプリケーションを登録するだけです

これらの2台のマシンは、グループポリシーを適用する設定を持つドメイン上にあります

.....

プログラムをインストールするとき、彼らはで止まります

.....

プログラムが実際に正常にインストールされるように修正するにはどうすればよいですか?

最も簡単な修正は、アクティブドメインの管理者権限を持つユーザーがアプリケーションをインストールすることです。

3
Ramhound