簡體   English   中英

在為C#Windows應用程序創建setUp項目時,如何以及為什么將已安裝產品的詳細信息添加到System Registry?

[英]How and why, to add the details of an installed product to System Registry, while creating setUp project for C# windows application?

我已經將setUp項目添加到了我的C#Windows應用程序中。 但是沒有在系統注冊表中注冊它。 我突然意識到,要在系統注冊表中注冊它,必須遵循以下步驟:我用以下代碼覆蓋了“ Install”方法:

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和與注冊表操作相關的其他重要setails的基礎知識中更詳細地學習。 誰能建議我一些材料。 提前致謝。

將程序集注冊到注冊表的原因之一是將其暴露給使用程序集的所有舊COM樣式的應用程序。 除非您有任何此類特定需求,否則我認為應該完全避免與注冊表打交道。

如果您的應用程序集不共享,則無需任何注冊。 如果它們與其他.NET應用程序共享,則推薦的機制是通過GAC。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM