为什么可执行文件不包含在一台机器上的“全部提取”中,而不是另一台?

我们提供了我们的应用程序的zip文件进行testing,两个独立的机器上的相同的zip文件提取不同。 一个将提取所有文件,另一个将提取所有可执行文件(特定于.exe和.msi)。

我们将不得不告诉我们的客户除了“使用WinZip”(或7zip,或其他)

当我看着使用ProcessMonitor发生的事情时,我发现explorer.exe进程正在创build每个文件,然后将其删除。 WTF?

这两个系统是带有SP2的Windows Server 2003。 当然,我们可以指出这一点,解释了为什么会发生这种情况。

**更新1 ****我启用/禁用病毒扫描没有明显的影响。

我的猜测是这是一个病毒扫描程序或其他“反恶意软件”的工具包 – 可能与组策略有关?

有一个机器有另一个没有的安全补丁/设置。 需要通过查看属性来解锁zip文件。

在此之前,将不会从该文件中提取可执行文件/ dll。

IIRC,ProcessMonitor可以选择显示删除事件的堆栈。 您将需要Windows符号(或配置的符号服务器),但函数名称应该为您提供可执行文件被删除的提示。