2011-02-23 6 views
0

これは簡単な質問か、DLLによって異なるかどうかわかりません... DLLがatlbase.hを使用するコードベースを持っていますというのはかなり標準的なキー/値?もしそうなら、私のインストーラが同じことをすることができるように、同じキーをインストールする(もっと重要なことにアンインストールする)スクリプトを書く方法は?regsvr32.exeはDLLにどのようなキーを追加しますか?

+0

'regsvr32.exe'が存在するかのように' regsvr32.exe'の存在を確認することができます。通常は 'regsvr32.exe'を呼び出すだけです。 –

+0

私は、これが私がなぜその理由が分からないけれども、これを行うには悪い方法だと言われてきました。 –

+0

@Mr。失望:http://msdn.microsoft.com/en-us/library/bb204770%28VS.85%29.aspx#no_selfreg –

答えて

1

ATL自体は何も追加しません。通常、ATLプロジェクトには複数の共同作成可能なクラスがあり、各クラスにはregistry scriptが関連付けられています。 regsrv32は単にDllRegisterServerを呼び出します。 DllRegisterServerのATL実装は、共同作成可能なクラスのリストをループし、各レジストリスクリプトの処理を呼び出します。したがって、レジストリはレジストリ・スクリプトで提供された情報で書き込まれます。デフォルトでは、これは標準のCOMクラスとインタフェースのメタデータです。開発者がレジストリスクリプトに余分な情報を入れておけば、それは別のものになる可能性があります。

関連する問題