问题
当开发的程序运行在客户的电脑上会弹出该提示框,对用户体验不好。
现象的原因与解决方案,
方法1:
一个是客户的电脑的【用户账户控制设置】权限设置【始终通知】太高(这个是win10)
可以设置为【从不通知】,就不会出现弹框了。但是这样对开发人员发布软件没有帮助。
方法2:
需要对发布的代码进行微软代码签名认证(需要花钱),参考http://www.pantaray.com/signcode.html
方法3
在一个大佬的博客看到的另外一种做法是,对注册表进行更改。传送门https://blog.csdn.net/wangctes/article/details/88574651
步骤:
1、WIN+R键运行,输入regedit,回车键打开注册表编辑器。
2、在注册表编辑器路径中,输入“计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers”,右键——新建字符串值,名称重命名为程序的全路径,数据修改为“RunAsInvoker”。而且可以用","使用多个设置,比如“XP SP3”兼容等,重启电脑即可。
使用Inno Setup的时候,在脚本的[Registry]段增加注册表信息
[Registry]
Root: HKCU; Subkey: "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\FirefoxPortable.exe" ; ValueData: RunAsInvoker; Flags: uninsdeletekey