0

我已将 setUp 项目添加到我的 C# windows 应用程序中。但没有在系统注册表中注册它。我突然意识到要在系统注册表中注册它必须遵循以下程序:我用以下代码覆盖了“安装”方法:

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

将程序集注册到注册表的原因之一是将其公开给任何使用您的程序集的旧 COM 样式应用程序。在我看来,除非您有任何此类特定需求,否则您应该完全避免弄乱注册表。

如果您的应用程序程序集未共享,则无需任何注册。如果它们与其他 .NET 应用程序共享,则推荐的执行机制是通过 GAC。

于 2011-01-20T03:37:41.157 回答