【发布时间】:2014-03-01 17:25:05
【问题描述】:
我在 Windows 中编写了一个 C 程序,它使用来自 WinDivert 的一些预编译文件。我的程序使用来自 WinDivert 的 .dll 并且 .dll 中的一些函数安装 WinDivert.sys 驱动程序。还有一些来自 WinDivert 的文件是其中的一部分(一个 .lib、一个 .inf 和另一个 .dll)。
问题是在我的一台计算机(Windows 8.1 64 位)上,一切正常。但是,当我尝试在我的笔记本电脑 (Windows 8.1 64)、我朋友的笔记本电脑 (Windows 7 64) 或另一个 Windows 7 64 台式机上使用该程序时,某些东西会阻止驱动程序的安装。我不确定是什么阻止了它或如何阻止它被阻止,因为在所有计算机上:
+我在管理员配置文件上运行
+在管理员命令提示符下运行程序
+尝试禁用防火墙、防病毒等(尽管在可以正常工作的计算机上运行良好)
+据我所知,我所有的安全设置都是一样的
+注意:驱动确实有一个有效的签名。
为什么驱动程序可以完美地安装在一台计算机上,而不能安装在其他三台计算机上?可能是什么问题?
【问题讨论】:
-
您是否尝试过进入 控制面板 -> 管理工具 -> 事件查看器,然后查看 Windows 日志,最好在安装失败后不久。可悲的是,我不记得其中一个日志(Application / Security / Setup / System)会进入,但也许你可以在那里找到一个能给你一些线索的事件。
-
@user2802841 在事件查看器(系统下)中,当我运行程序时(在驱动程序被阻止的计算机上),有 2 个信息和 2 个错误条目。信息:系统中安装了一项服务。服务名称:WinDivert1.1 文件:C:/etc/etc/WinDivert.sys 信息:“找不到来自源应用程序弹出窗口的事件 ID 26 的描述。引发此事件的组件未安装在本地计算机上,或者安装已损坏。您可以在本地计算机上安装或修复组件。如果事件“在下一条评论中继续...
-
"如果事件源自另一台计算机,则显示信息必须与事件一起保存。事件中包含以下信息:\??\C:\Users\\etc\etc \WinDivert.sys 未能加载消息资源存在,但在字符串/消息表中找不到消息”错误:“找不到来自源应用程序弹出窗口的事件 ID 1060 的描述。(描述的其余部分是同上)”错误:“WinDivert1.1服务因以下错误而无法启动:此驱动程序已被阻止加载”
-
我已经做了一些谷歌搜索,但我不知道这意味着什么。我已经尝试从 WinDivert 下载新文件,以防万一某些东西损坏,但这并没有奏效。也没有在我的笔记本电脑上重新编译我的代码。
-
您是否仔细阅读过 WinDivert 文档? VS redist 必须安装。
标签: c windows installation driver wfp