代码签署.NET程序集或只是设置?

时间:2009-06-04 14:12:53

标签: .net deployment installation code-signing

我公司最终购买了代码签名证书。

我有一个WinForms应用程序(1个exe和几个dll),所有程序集都已经用强名称签名。然后将整个应用程序打包到msi安装程序中。然后我使用NSIS将msi,引导程序和先决条件(Framework,SQL CE ...)打包到一个setup.exe中。

显然我的setup.exe需要签名,以避免“可怕的”UAC提示。这还不够,还是你还会签署其他文件,尤其是.NET程序集?

属于该应用程序的另一个项目是Windows服务。你会签署这个集会吗?

1 个答案:

答案 0 :(得分:5)

你不必,但这不是一个坏主意。

Authoring a Fully Verified Signed Installation

  

您可以使用这些指南来涵盖   整个Windows Installer   通过数字签名安装。

     

Windows Installer的作者   安装必须坚持   以下是为了确保所有部分   安装由a覆盖   数字签名:

     
      
  • 使用内部文件柜文件,或使用签名的外部文件柜文件和   正确地创作了   MsiDigitalSignature表和   MsiDigitalCertificate表。
  •   
  • 仅使用存储在软件包中或随之安装的自定义操作   包裹。
  •   
  • 签署安装包。
  •   
  • 在包中包含MsiPatchCertificate表。启用用户帐户   控制(UAC)修补,此表   必须包含用于的信息   确定使用的签名者证书   对补丁进行数字签名。 UAC   修补使作者   安装包来识别   可以是数字签名的补丁   将来应用于   非管理员用户。
  •   

上述说明涵盖了您需要为安装程序本身执行的操作。签署程序集取决于您,并且在某种程度上是一个单独的问题,并且具有单独的关注点和好处。有关签署程序集的更多信息,请阅读Strong name assemblies can keep you out of DLL Hell