0

私の C# Windows アプリケーションに setUp プロジェクトを追加しました。ただし、システム レジストリには登録しませんでした。システムレジストリに登録するには、次の手順に従う必要があることに気づきました。「インストール」メソッドを次のコードでオーバーライドしました。

public override void Install(System.Collections.IDictionary stateSaver)
{
  base.Install(stateSaver);
  RegistrationServices regSrv = new RegistrationServices();
  regSrv.RegisterAssembly(base.GetType().Assembly,
    AssemblyRegistrationFlags.SetCodeBase);
}

同様に、オーバーライドされた Unistall メソッドに次のコードを追加します。

public override void Uninstall(System.Collections.IDictionary savedState)
{
  base.Uninstall(savedState);
  RegistrationServices regSrv = new RegistrationServices();
  regSrv.UnregisterAssembly(base.GetType().Assembly);
}

上記のコード スニペットをインストールおよびアンインストール メソッドに追加しても問題ありませんか。レジストリを操作するとシステムがクラッシュする可能性があるため、私はこれを行いませんでした。

インストールをシステム レジストリに登録する正確な手順を教えてください。
また、インストール中に登録する利点は何ですか。

コーディング中のレジストリ操作はまったく初めてです。レジストリ、registry_key、GUID、ClassId、およびレジストリ操作に関連するその他の重要なセットテールが何を意味するかの基本から学びたいと思います。誰か親切にこれのための資料を私に提案してもらえますか? 前もって感謝します。

4

1 に答える 1

1

アセンブリをレジストリに登録する理由の 1 つは、アセンブリを使用する古い COM スタイル アプリケーションにアセンブリを公開するためです。私の意見では、そのような特定の必要がない限り、レジストリをいじることはまったく避けるべきです。

アプリケーション アセンブリが共有されていない場合、登録は必要ありません。それらが他の .NET アプリケーションと共有されている場合、それを行うための推奨メカニズムは GAC を使用することです。

于 2011-01-20T03:37:41.157 に答える