当我将我的程序从我的网站下载到我的 Windows 2003 机器时,它上面有一个块,您必须右键单击 exe,然后单击属性,然后选择“取消阻止”按钮。
我想在我的安装程序中添加检测文件何时被阻止,因此没有足够的权限。
但是我无法轻松重现让我的 exe 处于需要解锁的状态。
如何让解锁出现在我的 exe 上,以便我可以测试此功能?
最佳答案
这是使用 NTFS 文件流完成的。下载的文件中添加了一个名为“Zone.Identifier”的流。当 IE7 下载流包含的某些类型的文件时:
[ZoneTransfer]
ZoneId=3
设置它的最简单方法是创建一个包含这些内容的文本文件,并使用 more 将其添加到备用流中。
Zone.Identifier.txt:
[ZoneTransfer]
ZoneId=3
命令:
more Zone.Identifier.txt > file.exe:Zone.Identifier
然后,您检查它的方法是尝试打开 Zone.Identifier 流并查找 ZoneId=3,或者简单地假设如果流存在,您的用户将收到该警告。
同样重要的是要注意,这与权限无关。管理员看到相同的警告;这完全与文件的来源和类型有关。当用户取消选中“打开此文件前始终询问”框,然后单击“运行”时,整个流都会消失。
关于security - 在 Windows 2003 的文件属性中重现被阻止的 exe "unblock"选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/135600/