none
如何给新部署的文件签名? RRS feed

  • 问题

  • 我刚编好了一个小的windows应用程序,以windows installer 形式部署的,但是生成的安装程序在运行时跳出“软件包没有签名”的提示,接着我试着用signtool命令对其进行签名,但VS却提示我没有这个命令。现在我该怎么解决这个问题?谢谢
    菜鸟不怕!
    2010年12月23日 7:30

答案

  • Signtool 是 Windows SDK 的一个实用程序,它的作用是为一个可执行文件如 DLL 或者 EXE 进行数字签名。注意,这里的数字签名和 .NET 的强签名没有关系,数字签名的目的是让 Windows 信任 DLL 或者 EXE 的发布机构。

    要进行数字签名,您需要一个证书,一个软件发行商公钥文件等,您可以通过一些辅助工具,如 makecer 等配合 signtool 一起使用。

    详细方法请搜索 Google,EXE 数字签名或者 SignTool 工具


    Mark Zhou
    • 已标记为答案 LGuevara 2010年12月24日 2:28
    2010年12月23日 9:39
  • 你好!

        你需要购买认证机构提供的证书,然后用这个证书来签名操作系统才能承认。

        你需要安装Windows SDK才能使用Signtoo这个工具。


    周雪峰
    • 已标记为答案 LGuevara 2010年12月24日 2:28
    2010年12月23日 12:52
    版主

全部回复

  • Signtool 是 Windows SDK 的一个实用程序,它的作用是为一个可执行文件如 DLL 或者 EXE 进行数字签名。注意,这里的数字签名和 .NET 的强签名没有关系,数字签名的目的是让 Windows 信任 DLL 或者 EXE 的发布机构。

    要进行数字签名,您需要一个证书,一个软件发行商公钥文件等,您可以通过一些辅助工具,如 makecer 等配合 signtool 一起使用。

    详细方法请搜索 Google,EXE 数字签名或者 SignTool 工具


    Mark Zhou
    • 已标记为答案 LGuevara 2010年12月24日 2:28
    2010年12月23日 9:39
  • 你好!

        你需要购买认证机构提供的证书,然后用这个证书来签名操作系统才能承认。

        你需要安装Windows SDK才能使用Signtoo这个工具。


    周雪峰
    • 已标记为答案 LGuevara 2010年12月24日 2:28
    2010年12月23日 12:52
    版主
  • 我使用VC编写WINDOWS应用程序。

    "一个未能识别的程序要访问您的计算机" ,在UAC开启的情况下如果申请以管理员权限运行,VISTA和WIN7的提示对话框都显示这句话。

    但不是所有程序都这样。

    用MFC框架生成的应用程序没有这句提示。

    但直接使用API生成的应用程序会有这个问题,这让用户感觉程序很不正规,甚至怀疑是不是病毒。

    我很想知道MFC自动生成的应用程序有些什么设置导致了这个区别。

    2011年1月14日 11:37
  • 修正一下,又测试了一下,MFC生成的也有这个问题。

    我希望跳出的对话框标题为“用户账户控制”,而不是看起来很山寨的“未识别的程序”,这样怎么才能做到。

    如:用管理员权限调用系统文件如:cmd.exe,跳出的就是用户控制对话框,显示"Windows需要您的许可才能继续",而不是显示一句“未识别”。

    谁能解答一下,万分感谢!

    2011年1月14日 11:46