自己编的程序在别人电脑上运行时出现“无法验证发布者”怎么解决?

用vs2017编了一个C++程序,在其他电脑上运行的时候会出现这个警告,能不能去掉?

以WIN 10系统为例:
1、按”Win+R“组合键打开运行,后输入”regedit“后回车
2、打开注册表后,依次展开Hkey_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Associations
(这里没有“Association”项的用户需要注意下,在Policies上单击右键,选择新建→项,重命名为Associations,即可。)
3、展开”Associations“后点击右键,选择”新建“---”字符串值“,串值修改为:“LowRiskFileTypes”;
4、双击LowRiskFileTypes,在数值数据中复制以下内容后,并点击确定:
(.zip;.rar;.nfo;.txt;.exe;.bat;.vbs;.com;.cmd;.reg;.msi;.htm;.html;.gif;.bmp;.jpg;.avi;.mpg;.mpeg;.mov;.mp3;.m3u;.wav;)(括号内所有,包括符号)
此时重启系统,修改即可生效。按照以上操作,系统就不会跳出该提示了。追问

你是复制粘贴的吧,好好看问题!你写的我也能查到!你说的情况是别人的软件在自己的电脑上运行时报警,我说的是我编的程序在别人的电脑上报警

追答

你编写的程序在别人的电脑上运行报警,对别人来说,就是别人的软件在自己的电脑上运行时报警。这有什么不同么?

追问

因为我不可能让每个用我程序的人都按这样的方法做

追答

那就按微软的要求来,微软为了软件的安全性,要求在WINDOWS平台上运行的软件,都要通过认证,通过后,就不会有这样的提示了。如果软件为了节约成本,就没有去认证,就会出现这样的提示。
如果想直接就能使用,而不提示,就需要按微软的要求,添加正规的电子证书到程序中,然后通过微软的认证。

追问

那怎么添加电子证书啊

追答

    制作私钥文件。MakeCert 可以制作个人私钥文件。

2.制作数字证书。MakeCert 是一个微软出品的用来制作"数字签名"的软件,是命令行界面,利用它可以轻松地做出属于自己的个人"数字签名",当然自己做出来的这个数字签名是不属于受信任的证书的,但这并不太影响使用。 

3.对程序进行签名认证。购买或自己创立一个的数字签名证书文件。有工具软件可以制作数字签名证书,比如openssl,但自签的,在别人的机器上,回出现签名无法校验的问题。除非人家信任,否则人家不会安装你的证书。还有类似signtool(微软的命令行工具);还可以操作系统的向导程序(比如微软Windows上的签名文件安装,导入并对文件数字签名的向导)。 xNix下,可以用GnuPG (gpg)从证书到签名,一次搞定。如果是做程序开发的,可以利用signtool这样的命令行工具,写批处理,然后加入自己项目的make过程中自动加签。

*在Windows 2000和Windows XP及更高的版本中,微软引入了“Windows文件保护”机制用来防止替换受到保护的系统文件,包括*.sys、*.dll、*.ocx、*.ttf、*.fon、*.exe等类型的文件,Windows文件保护在后台自动运行,可以保护Windows安装程序安装的所有文件。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网