针对 Windows 10 访问 Outlook 中 URL 的问题补充
针对 Windows 10 访问 Outlook 中 URL 的问题补充
问题回顾《HOWTO: 解决 Windows 10 访问 Outlook 中的 URL 时提示"你要如何打开此文件" 》,微软官方的 KB3094186 确认Outlook 2007/2010 在 Windows 10 上设置 IE11 为默认浏览器时会导致相关注册表数据丢失而引发故障的发生。解决途径是使用微软的 easyfix 20155 进行修复,该修复工具其实是在注册表中对HTMLFILE新增了的“新开”指令。即“HKCR\htmlfile\shell”下新建名为“opennew\command”的项,其默认值为一段 CMD 指令“cmd /c start %1”,微软解释添加该指令后便可解决在 Outlook 中打开 URL 时总提示用哪个浏览器打开的问题,并且打开的 URL 会在当前 IE 的新选项卡中打开,以避免每点击一次 URL 都打开一个新的 IE 进程。当然,如果不介意的话,也可以直接指定 iexplore.exe %1 来执行。
早先看到这个解决方案的时候就挺纳闷,为了解决是新选项卡还是新窗口打开就要通过 cmd 调用 start 来执行,有违程序设计和开发常理,实在不够严谨。果然,后续就遇到了问题!!!如果 Outlook 中邮件内容里的 URL 包含 & 符号,那么最终被打开的 URL 将会被自动截断,这是因为 CMD 环境下,也就是我们常说的命令行会将 & 符号识别为连续执行命令符号,也就是说会把 & 符号后面的内容识别为一段命令,结果可想而知!IE 在经过 CMD 和 Start 的辗转调用后,最终得到的 URL 已经面目全非!
如果我们试图为 %1 添加双引号,那么 Outlook 中的 URL 会完整的传递给 start ,但由于地址在双引号中,所以低级的 start 已经无法识别这个链接中的 http://,也就不会自动调用 IE 去打开 http 协议类型的内容,除非双引号中只有地址,例如:http://”www.contoso.com/index.do?method=view&fdid=158¬ifytype=2”,可是要实现这样的格式写法恐怕不现实!(开发人员不会放过你的 )
折中的办法就是修改调用命令,改用 iexplore.exe %1 来执行,但引发的问题就是每次都要打开一个新 IE 进程,否则就改回 Edge 浏览器,因为使用 Edge 绝对不会遇到这个问题。鉴于 Office 2007 /2010 的主流支持生命周期因素,在 Windows 10 上还是尽量使用最新版的 Office 最为妥当!
[Tips] HOWTO: 解决 Windows 10 无法运行 exe 格式安装包
HOWTO: 解决 Windows 10 无法运行 exe 格式安装包
基于 Windows 10 14393.0 制作用于批量部署的系统参考镜像,除了安装了基本的应用程序外,未安装第三方的防病毒或其他安全软件。但发现在系统上可以执行安装 MSI 格式的安装包,但注入驱动和小应用一类的 exe 格式安装包在双击后不会运行,也没有任何提示,通过任务管理器查看未发现在后台运行。在管理员模式的 CMD 下却能够执行,怀疑与用户账户控制(UAC)有关。随后调整 UAC 设置将从不通知改为默认设置后,exe 安装包能够运行,但是会被 SmartScreen 筛选器拦截,尝试修改 UAC 为从不通知,即关闭 UAC 功能,然后进入 设置 - 隐私 - 常规,关闭 SmartScreen 筛选器。
为了彻底关闭 SmartScreen,还需要进入控制面板 - 安全和维护,更改 Windows SmartScreen 筛选器设置,确认“不执行任务操作(关闭 Windows SmartScreen 筛选器)”。
通过上述步骤调整后,在 UAC 关闭状态下,已经够能正常执行 exe 格式安装包,后续步骤建议对系统完整性进行检测,确保非系统文件破坏所致,为此可执行如下命令行:
DISM / Online / Cleanup-image / Scanhealth
DISM / Online / Cleanup-image / Restorehealth
Sfc / scannow
HOWTO: 解决 Outlook 运行时打开 IE 提示保存 HTML 文件
HOWTO: 解决 Outlook 运行时打开 IE 提示保存 HTML 文件
Outlook 2010 运行中打开 IE 会提示保存 HTML 文件,是的你没有看错。这类怪异的问题也让 gOxiA 遇到了,Outlook 只要运行着打开 IE 便会自动下载一个 HTML 文件,如下图所示:
抛开恶意软件干扰,排除法测试到最后发现确实是 Outlook 引发的,但 Outlook 启动后并未打开什么异常的邮件,所以不会触发 Web 访问请求。为了解开谜题只能下载这个 HTML 文件进行分析,查看文件源代码发现确实是与 Outlook 有关,因为第一眼看到了 activityfeed 还以为是打开了 Outlook 高级选项里的 RSS 造成的,其实不是!
目光重新关注到 SocialConnectorRes.dll 这个文件,看来是 Outlook 加载了什么插件引发的问题,随即检查 Outlook 加载项,果然发现了 SocialConnector 插件,禁用重启 Outlook 后故障消失。