场景:用于生产环境的项目进行系统升级,在发布ClickOnce过程中发现签名已过期,现场工程师重新生成了一个签名,然后进行发布,发布完成后,所有客户端无法更新,提示签名错误。
问题:VS2005做年签名只有一年期限,所以很容易在维护期内就过期了,如果新做签名结果会造成客户端验证签名出错无法更新。

解决办法:
     1、新做一个签名,使用新的签名做ClickOnce,所有客户端将原来程序删除,重新使用新的ClickOnce安装程序进行安装。
         (此方法太可耻了,如果再有升级的话,可能还会有这问题,同时ClickOnce也得改名叫ClickOneYear了)。

     2、利用原有签名,延长有效时间。
          (中文)http://support.microsoft.com/kb/925521/zh-cn
          (英文)http://support.microsoft.com/kb/925521/en-us

         有此朋友发现过这样的问题,也知道解决办法,但如果机器上没装VC++可能操作起来也不方便,现编译完成一份,各位可以下载:
         https://files.cnblogs.com/spymaster/RenewCert.rar
         使用方法:到命令窗口,输入
         renewcert <OldCertificate>.pfx <NewCertificate>.pfx \"CN=<NewCertificateName>\" <Password>
         好了,新签名的有限期是5年。

      3、项目之初就做一个长效的签名。
          http://www.cnblogs.com/cncxz/archive/2007/03/15/675937.html


感谢在我不能上网期间给我大力支持的队长同志!

第一次发首页,不合适的话,请DUDU给处理一下。
    

相关文章:

  • 2022-12-23
  • 2021-12-17
  • 2021-05-27
  • 2022-12-23
  • 2021-07-14
  • 2021-09-06
  • 2021-09-09
  • 2021-11-01
猜你喜欢
  • 2021-08-06
  • 2022-01-25
  • 2021-05-22
  • 2022-12-23
  • 2021-09-03
  • 2021-05-26
  • 2021-07-25
相关资源
相似解决方案