HOWTO: 解决 外部数据库驱动程序 (1) 中的意外错误
HOWTO: 解决 外部数据库驱动程序 (1) 中的意外错误
前几天遇到一个用户故障,Windows 7 系统运行一个第三方开发的打印小工具,之前运行正常,这几天总是在选择 Excel 文件后报错,导致无法正常打印。具体的报错提示“外部数据库驱动程序(1)中的意外错误”,如下图所示:
将该工具拷贝到我的环境下运行(Windows 10)也一样报错,即使设置兼容性模式也无济于事。用户反馈之前只更新过补丁,没有做过任何系统变更。为了快速定位根因所以先从补丁入手,经过测试基本锁定了三个更新补丁,后来在虚机测试环境下锁定了 KB4041678,并重现了故障。
在 KB4041678 中微软声明了该补丁存在已知问题,会导致基于Microsoft JET 数据库引擎(Microsoft Access 2007 和更低版本或非 Microsoft 应用程序)的应用程序无法创建或打开 Microsoft Excel.xls 文件。错误消息为“外部数据库驱动程序 (1) 中的意外错误。(Microsoft JET 数据库引擎)。”
微软提供的临时解决方案是下载并安装 Microsoft Access 数据库引擎 2010 可再发行软件包,然后在 Microsoft Excel 中修改 DB 连接字符串以将 ACE 用作提供程序。示例:将 Provider=Microsoft.Jet.OLEDB.4.0 更改为 Provider=Microsoft.ACE.OLEDB.12.0。
同时微软也正寻求一种解决方案,相信在不久的将来就会提供更新。但是,当下要解决用户问题,只能卸载 KB4041678,因为内网用户通过 WSUS 更新补丁,意味着将会有更多的用户遇到这个问题!是否可以找到被更新的文件做替换来解决这个故障呢?!尝试方法这样展开,先用 Application Verifier 和 WinDBG 去找验证这个应用程序,并截获断点。
结果是,Application Verifier 收集到的日志中,并未发现什么异常,反而在 WinDBG 中发现了断点,如下图所示在载入模块“msexcl40.dll”时出现了问题。检查文件日期确实是10月份有更新过,尝试用正常 Windows 7 环境下的 msexcl40.dll 对故障Windows 7 系统和 Windows 10 系统进行替换,故障解除!
使用 Process Monitor 抓包观察,发现 msexcl40.dll 开始到操作结束出现了一系列的错误,具体可参考下图。
HOWTO: 解决 Your Organization used Windows Defender Application Control to block this app
HOWTO: 解决 Your Organization used Windows Defender Application Control to block this app
gOxiA 前段时间为手上的 Dell Venue 8 Pro 全新安装 Windows 10 v1709(Fall Creators Update),没想到装完后竟然无法运行 EXE 程序,期间重装系统进行测试无数次(话说现在Windows安装起来实在太轻松了)。本以为是最初安装了 Windows 10 S 版导致的,后来又单独安装 Home、Pro 或者断网执行 OOBE,或者直接从 Home 升级到 Pro,清理组策略,几乎能想到的办法都试过了,可结果都令人失望。
具体的错误信息如下图,提示“您的组织使用 Windows Defender 应用程序控制限制了该应用”,系统上几乎所有的 EXE 程序都无法正常运行,就像是安装 Windows 10 S 一样。
最后向微软开了 Case,沟通中提到之前一些硬件需要关闭主板的 Secure Boot,才能正常运行 Windows 10,果然!在禁用 Dell Venue 8 Pro 后,EXE 程序可以启动了。
这款设备是个平板,采用了 Intel Atom Z Series 架构,记得早前就有公告提到过 Windows 10 与 Intel Atom Z3xxx 存在兼容性问题,没想到还真遇到了。虽然通过禁用 Secure Boot 能够运行系统内置的 EXE 命令,但是当安装其他应用软件时也会报 CPU 兼容性限制。
作为一款 4年前的 8寸 Windows 平板设备,还能有什么过高的要求呢?!现在倒是很期望微软后续的新型态移动 Windows 设备。
如果大家跟我一样遇到了因 Windows Defender 限制 EXE 程序运行的问题,不妨尝试关闭 Secure Boot。此外利用固件限制 Windows 运行方式也是一种不错的选择,未来也许对企业非常用价值!
HOWTO: 使用 Over-the-cable Update Tool 更新 Windows 手机
微软已经正式宣布 Windows Phone/Mobile 停止更新并进入维护期,好在提供了 1709 版的更新,OS 版本最终锁定在 10.0.15254.1,这样一些设备如 gOxiA 手中的 Lumia 640 起码能用上拥有 UWP 成熟架构的 Windows 10,一些支持 UWP 的应用可以很好的运行在上面。从目前的测试看,Lumia 640 配合微软的无线显示适配器,还是一个不错的移动办公方案。
就在这两天微软又针对 Windows 手机设备发布了一款 Over-the-cable Update Tool 软件,可以帮助用户通过线缆将 Windows 手机系统更新到最新版本,而无须等待运营商的推送。该软件需要 dotNet 4.0 的支持虽然是一个命令行工具,但提供了对 Windows 10 系统环境完好的支持,所以可以直接在 Windows 10 系统上运行。
下面是 gOxiA 拿 Lumia 640 测试的结果,使用 USB 线缆将手机连接到笔记本,以管理员权限启动 CMD 并运行通过下载的程序包释放的命令行工具 otcupdater.exe,就可以自动更新。如果未连接手机先运行了命令,程序会提示连接手机。如果使用程序遇到了问题,可以先看看说明文档。
由于 Lumia 920 没找到,估计要晚些时候再测试,没准能将 920 升级到 Windows 10。
Over-the-cable Update Tool 下载地址: