最近编写驱动,并作了个安装程序。但是发现在安装时总是有“未数字签名的驱动”这个警告。只有手动将 系统—〉硬件-〉签署设备驱动程序 中的文件签名验证改为“忽略”,就不会出现这个提示框。可是不知道在注册表中哪个位置,在网上搜集了一些资料,最后在“驱动开发网”找到了相关的文章,就是修改HKEY_LOCAL_MACHINE下的Software//Microsoft//Driver Signing和Software//Microsoft//Non-Driver Signing//这连个键下的Policy ,将值改 0 即可!我经过测试,发现在我机器上还是出现了提示!!我想是否是在当前用户的注册表下呢?结果发现在KEY_CURRENT_USER下果然还有一个Software//Microsoft//Driver Signing键!!将值改为 0 后!通过!!!

以下是InstallShield的安装脚本!^_^

//全局变量保存状态值

STRING g_svDriverSigning, g_svNonDriverSigning, g_svUserDriverSigning;
NUMBER g_nvSize, g_nvUserSize, g_nvNonSize;
/*
    未签名的驱动程序安装操作 
    0    默认继续
    1    允许安装但发出警告
    2    禁止安装
*/ 
function NonDriverSigning(bEnable)
STRING szKey, svValue, szValue;
STRING szKeyName;        
NUMBER nvType,nvSize;
begin
    RegDBSetDefaultRoot( HKEY_CURRENT_USER );
    //---------------------------------------
    //设置HKCU下的未签名的驱动程序安装操作       
    szKey = "SoftwareMicrosoftDriver Signing";
    szKeyName = "Policy";  
    nvType = REGDB_NUMBER;
   
    if ( bEnable ) then  
        //保存原值
        if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svUserDriverSigning,
                        g_nvUserSize ) < 0 ) then
            g_svUserDriverSigning = "0";
            g_nvUserSize = -1;
        endif;  
        //设置为"默认继续"
        szValue = "0";
        nvSize = -1;
    else   
        //恢复原值
        szValue = g_svUserDriverSigning;               
        nvSize = g_nvUserSize;
    endif;                       
   
    //设置键值   
    if (RegDBSetKeyValueEx ( szKey , szKeyName , nvType , szValue ,
                            nvSize ) < 0) then
           //return -1;
           ;
    endif;
   
    RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE);   
    //---------------------------------------
    //设置HKLM下的未签名的驱动程序安装操作   
    szKey = "SoftwareMicrosoftDriver Signing";  
    szKeyName = "Policy";
    nvType = REGDB_BINARY;       
       
    if ( bEnable )  then       
        //保存原值
        if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svDriverSigning,
                            g_nvSize ) < 0 ) then
            g_svDriverSigning = "/0/0/0/0";
            g_nvSize = 4 ;
        endif;
            
        //设置为"默认继续"  
        szValue = "/0/0/0/0";
        nvSize = 4;           
    else   
        //恢复原值
        szValue = g_svDriverSigning;
        nvSize = g_nvSize;       
    endif;     
               
    //设置键值
    if (RegDBSetKeyValueEx (szKey, szKeyName,  REGDB_BINARY, szValue,
                          nvSize) < 0) then
           return -1;
    endif;         
   
    //---------------------------------------
    //设置HKLM下的未签名的非驱动程序安装操作   
    szKey = "SoftwareMicrosoftNon-Driver Signing";  
    szKeyName = "Policy";
    nvType = REGDB_BINARY;
   
    if ( bEnable )    then
        //保存原值
        if ( RegDBGetKeyValueEx( szKey, szKeyName, nvType, g_svNonDriverSigning,
                            g_nvNonSize ) < 0 ) then
            g_svNonDriverSigning = "/0/0/0/0";
            g_nvNonSize = 4;
        endif;   
       
        //设置为"默认继续"   
        szValue = "/0/0/0/0";
        nvSize = 4;           
    else
        //恢复原值
        szValue = g_svNonDriverSigning;
        nvSize = g_nvNonSize;       
    endif;                 
   
    //设置键值
    if (RegDBSetKeyValueEx (szKey, szKeyName,  REGDB_BINARY, szValue,
                          nvSize) < 0) then
           return -1;
    endif;     
 
    return 0;    
end;

解决安装驱动时提示的“未签名的驱动程序”警告信息!!相关推荐

  1. 惠普打印机介质不匹配_HP打印机安装驱动时提示“重要!选择与打印机的连接方式”解决方法...

    HP双面激光打印机400系列在插上USB打印数据线连接到电脑安装驱动的过程中提示"重要!选择与打印机的连接方式",从而导致无法正常安装对应的hp打印机驱动程序,这应该是非常头疼的事 ...

  2. windows xp安装驱动时提示驱动未通过微软数字签名

    因windows加密服务出错造成 症状 在尝试下载 ActiveX 控件.安装 Windows 或 Windows 组件的更新.安装 Windows 或 Windows 组件的 Service Pac ...

  3. Win8安装驱动时提示“哈希值不在指定的目录文件中”的解决办法

    1.Windows键+C,或鼠标屏幕右下角 2.设置→更多电脑设置 3.左边选常规,右下角重新启动 上面3个步骤也可用这个方法替代:Windows键+R→shutdown.exe /r /o /f / ...

  4. 解决安装IIS时提示找不到zClientm.exe文件的问题

    今天在安装IIS出现找不到zClientm.exe文件,还以为是下载IIS有问题,头大了.以下是解决方案. 在组件安装向导中顺着[附件和工具]--[游戏]一路点击下去,惊喜地发现里面有一栏[Inter ...

  5. 安装CAD时提示“安装错误1603的解决办法

    安装AutoCAD的时候,出现致命错误,提示1603错误,如下图所示,应该如何解决 安装CAD时提示"安装错误1603:安装期间出现致命错误" 出现这个问题,可尝试一下方法解决 1 ...

  6. oracle10 64位odbc,图文教你64位win10添加oracle odbc驱动时提示无法加载oracle如何解决...

    现在电脑已成为我们工作生活的一部分,相信大家在操作电脑时一定会遇到这样那样的问题,64位win10添加oracle odbc驱动时提示无法加载oracle如何解决这个问题就是我们经常会遇到的,这样的问 ...

  7. 游戏与计算机系统不兼容,电脑安装游戏时提示此文件版本与正在运行Windows不兼容的解决方法...

    在电脑系统安装游戏的过程中遇到一些问题,导致无法正常安装游戏程序.在安装过程中,出现提示"此文件版本与正在运行Windows不兼容",对于这样的问题,我们应该如何进行解决呢?下面驱 ...

  8. 安装redis时 提示执行make命令时提示 CC adlist.o /bin/sh: cc: 未找到命令

    安装redis时 提示执行make命令时提示 CC adlist.o /bin/sh: cc: 未找到命令 问题原因:这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gcc后 ...

  9. 解决mac 10.11 以后 无法使用未签名第三驱动

    解决 最新版 mac 系统 无法使用未签名第三驱动 10.12.多 我的情况是 10.11.4 Beta (15E27e) 使用绿联usb网卡不正常. 下面的命令为检测驱动是否装载的一些命令. sud ...

  10. 中标麒麟操作系统,yum安装软件时提示:“已加载插件:langpacks,无须任何处理“的解决办法

    中标麒麟操作系统,yum安装软件时提示:"已加载插件:langpacks,无须任何处理"的解决办法 通常都是由于yum仓库未包含你所要安装的那款软件造成. 解决办法: 输入如下命令 ...

最新文章

  1. apache开启虚拟主机 并进行配置
  2. day16T2改错记
  3. Vue 4.0——Vue与Bootstrap整合解决方案
  4. VTK:Filtering之LandmarkTransform
  5. IOS下,javascript字符串转日期类型错误
  6. MVC之AJAX异步提交表单
  7. 模糊查询一--视图写sql
  8. 打造×××互连无极限,多WAN口×××防火墙
  9. 【java奇思妙想】使用多线程的思想来实现java网络编程接收和发送的问题
  10. 洛谷P1982 小朋友的数字
  11. 在VScode上使用latex编辑pdf
  12. 阿迪达斯进博会展示首款碳足迹低于3千克运动鞋;霍尼韦尔携30余项产品和解决方案亮相进博会 | 美通社头条...
  13. Android自定义控件之实现快速检索
  14. Try-with-resources are not supported at language level ‘5‘ 报错
  15. 调查显示台湾1月消费者信心指数终止“三连跌”
  16. 我的世界java泰坦生物版_我的世界泰坦生物MOD
  17. JS实现可拖拽div
  18. 抓娃娃营销工具 uniapp
  19. 服务器安全日志显示审核失败,如何将服务器审核事件写入安全日志
  20. Mac添加ssh config配置,快速登录Linux系统

热门文章

  1. matplotlib绘制李萨如图(二) animation实现动态2D李萨如图
  2. 高德地图上覆盖物polygon方法的使用
  3. redis循环键_javascript – for循环从redis延迟获取项目
  4. ARM指令计算机器码,ARM中几种把BL指令转化为机器码算法
  5. 支持树莓派的路由器系统_真香!国产64位树莓派系统上手评测
  6. window.print设置目标打印机_愿得一人心,白首不相离, 极印手机照片打印机入手体验...
  7. springboot配置手动提交_Spring Boot 入门教程 | 图文讲解
  8. python画素描画_画画了,画画了,几行Python就成一幅素描画
  9. python定义复数矩阵_python矩阵运算,转置,逆运算,共轭矩阵实例
  10. ukf实测信号的预测 matlab,无迹卡尔曼滤波UKF无线传感器网络定位跟踪matlab源码实现.pdf...