![如果启用 UAC,什么原因导致图像不显示在 HTML 帮助(chm 文件)中?](https://linux22.com/image/1489237/%E5%A6%82%E6%9E%9C%E5%90%AF%E7%94%A8%20UAC%EF%BC%8C%E4%BB%80%E4%B9%88%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E5%9B%BE%E5%83%8F%E4%B8%8D%E6%98%BE%E7%A4%BA%E5%9C%A8%20HTML%20%E5%B8%AE%E5%8A%A9%EF%BC%88chm%20%E6%96%87%E4%BB%B6%EF%BC%89%E4%B8%AD%EF%BC%9F.png)
在运行 Windows 7 Embedded Standard (SP1),64 位的计算机上,除非 UAC 完全关闭,否则我无法查看任何 chm 文件中的图像。
所有图像都被替换为带有“X”的黑白小框。
我尝试过的事情:
如果我将 chm 文件传输到运行完全相同版本 IE(11.0.9600.18230)的另一台 Windows 7 嵌入式计算机上,即使 UAC 设置为“始终通知”,chm 文件也能完美运行。
这些 chm 文件均不是来自互联网。
此帮助文件不在网络驱动器上,而且我运行的不是 Windows XP,但我
ItssRestrictions
还是尝试了此注册表修复。我尝试将其设置为 1,然后将其设置为限制最少的设置 (4),没有效果。我已尝试运行 regsvr32 来注册 hhctrl.ocx、itss.dll 和 itircl.dll。
如果我使用 SumatraPDF 查看 chm 文件,它可以完美运行,即使在启用 UAC 的情况下以非管理员身份运行。
如果我以管理员身份从命令行运行 hh.exe 来加载帮助文件,图像可以正常工作。如果普通用户运行 hh,则图像不会加载。
如果我在 7-zip 中打开 chm 文件并提取所有 html 文档并在 IE11 中打开它们,即使启用了 UAC,图像也能正常工作。
Internet Explorer 的“受信任的站点”设置设为“低”,并且我已将“localhost”、“127.0.0.1”和计算机的名称添加为受信任的站点。
我还能尝试其他什么方法来缩小导致该问题的可能原因吗?
还有其他安全设置会影响 chm 文件吗?
其他相关问题
答案1
多年来,我的 XP 电脑(不是 Seven)一直存在这个问题。我远非超级用户,所以我设法让这种情况持续了好几年!但最近我有了一个“愚蠢”的想法。去 IE 高级配置中查看……(这不是我的默认浏览器)。“显示图像”选项根本没有选中。我选中了复选框,猜猜怎么着?它起作用了!我又可以在 CHM_help 文件中看到图像了!也许它可以帮到你……
答案2
在我的例子中,通过清除只读属性可以解决这个问题缓存系统Windows 本地 Appdata 文件夹中的文件夹。来源
答案3
我遇到了同样的问题但从未接触过 UAC。
HTMLHelp MaxAllowedZone 注册表显然存在不同的身份验证级别。我读过的大多数文章都告诉您将 MaxAllowedZone 设置为“1”,这意味着允许本地计算机区域和内联网区域,但“4”允许访问“所有”区域。
欲了解更多信息,请阅读本文: https://support.microsoft.com/en-us/kb/892675
这是我的注册表的样子(我不确定它是否适用于通配符,但它似乎对我有用):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000004
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"UrlAllowList"="\\\\<network_path_root>;\\\\<network_path_root>\*;\\ies-inc.local;http://www.*;http://*;https://www.*;https://*;"
另外需要注意的是,奇怪的是,在另一台电脑上需要“UrlAllowList”键才能运行,但在我测试的电脑上不需要。它可能根本不需要,但当我添加它时,它解决了问题。用户可能没有关闭原始文件或类似的东西。所以只是一个考虑。我建议至少尝试一下并测试它,然后在需要时添加。确认后,您可以在需要时部署。祝你好运!
PS 另一种可行的方法是使用 mklink /d(Windows 7 或更高版本中的符号链接)在本地将路径映射到网络,但映射网络驱动器号(用于测试的 Z:)不起作用。仅供参考,并不推荐。我也不必“解除阻止”任何文件,并且阅读了可能与您相同的所有帖子,但没有人有这个解决方案,我觉得很奇怪。谢谢。