我是通过 Visual Studio 2010 的 ClickOnce 发布程序的。发布的时候,在签名菜单下,正确导入了 pfx 格式的签名文件。发布到 web 后,也能正常下载,但是下载后,运行程序前, 360 提示该 exe 有风险, 一看临时文件夹下该 myapplication.exe 文件,上面没有数字签名。我不清楚如何在发布时把 签名给签上。由于发布时, Visual Studio 自动重新生成了该 exe 文件,所以我无法预先用 signtool.exe 签名。请问该怎么办呢?

解决方案 »

  1.   

    又是这个问题,你可以在程序第一次执行的时候使用signtool.exe签名啊这个很容易,在数据库或者xml文件设置一个标记,如isFirstRun=true,当程序运行的时候发现标记为true那么使用signtool.exe签名,签名成功后设置isFirstRun=false即可。
      

  2.   

    未签名的程序还没有运行,就被 360 强制关闭了。何谈设置标记什么。
    那个是主程序未签名,不是文件列表中的某一个未运行的exe程序。
      

  3.   

    用 ClickOnce 发布的程序,下载安装时,无法过360 网购保镖,提示风险。发现可执行文件没有签上数字签名
      

  4.   


    专门安装360测试了一下呵呵,360拦截,说明你用的不是微软官方的签名工具,换微软官方的就OK了附网帖一枚:http://www.cnblogs.com/inspur/archive/2011/05/25/2056642.html
      

  5.   

    不信你自己试一下,CliceOnce 绝对过不了360网购保镖,提示未知程序,橘黄色的对话框。