gpt4 book ai didi

c# - 为什么我签名的、点击一次的应用程序说它有一个未知的发布者

转载 作者:太空狗 更新时间:2023-10-29 21:39:34 34 4
gpt4 key购买 nike

我想创建一个易于安装的应用程序。安装过程相当复杂(很多权限、防火墙规则、服务等)。所以我决定用 C# (.net 4) 编写安装程序,然后让安装程序本身成为一次点击安装。

这个想法是,用户会去网站,点击安装,点击一次我的安装程序就会安装在他们的电脑上,然后它就会运行,设置主程序。

为了使这个过程变得简单,我显然必须对所有可执行文件进行签名。我购买了一个 Comodo 代码签名证书,将其安装在我的证书存储中,并在 VS Express 2012 中勾选了“签署一次点击 list ”。我还包括了一个构建后运行的步骤

SIGNTOOL.EXE sign /f TrumphurstCodeCertificate.pfx /p <my password> TimeClockSetup.exe

我清理了我的构建文件夹和部署网站中的所有内容,并运行了一个干净的构建。

我检查了构建文件夹中可执行文件的属性,它显示为我发布的。

我将该程序发布到该网站,启动另一台 Windows 8 计算机,导航到该网站,然后单击“安装”按钮。

系统提示Do you want to run or save setup.exe,并选择运行。

然后我被提示setup.exe is not commonly downloaded and could harm your computer - 我点击了Actions,它说This program might harm your computer。它确实说出版商是 Trumphurst Ltd,并为我提供了无论如何运行的选项,我点击了它。

然后我得到了 "Open File - Security Warning", for ".....\TimeClockSetup.exe", "Publisher: Unknown Publisher"

为什么 exe 显示为Unknown publisher

我浏览到安装它的用户数据目录中的 exe,但“属性”对话框中没有显示“数字签名”选项卡。

但是,如果我浏览到我的构建文件夹中的 exe,它有一个签名。

[稍后] 我记得在某处读到构建或发布过程的某些部分使用 obj 文件夹中的 exe 文件,而不是构建输出文件夹中的 exe 文件,所以我在构建后步骤中添加了签名 - 它使没有区别。

最佳答案

您需要为您的开发公司(或您自己)购买 Authenticode 证书并签署应用程序。要签名,请查看项目的属性并转到“签名”类别。选择“Sign the Assembly”,您可以选择您的证书进行签名。

确保这只是根证书,否则 VS 将无法使用它。此外,最终用户需要为机器安装完整的证书路径,才能将您识别为受信任的发布者。

如果您使用完整的证书路径从您的计算机导出证书,您可以将此文件移动到客户端计算机并将证书安装到 TrustedPublishers 和 Root-CA 存储。

关于c# - 为什么我签名的、点击一次的应用程序说它有一个未知的发布者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685576/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com