【发布时间】:2016-05-23 14:19:13
【问题描述】:
我们有一个由许多可执行文件组成的应用程序,这些可执行文件是从一个主菜单可执行文件生成的。我们每个单独的可执行文件都使用大量的 DLL。我们所有的可执行文件和 DLL 都是使用 Visual Studio 2010 构建的。
当通过组策略在仅包含一个安装了我们软件的虚拟机的测试域上启用 AppLocker 时,加载时间会显着增加。
我们可以使用进程监视器 (procmon.exe) 看到,在加载每个 DLL 时,会枚举%WINDIR%\System32\catroot 文件夹中的文件。此枚举需要大量时间来运行,针对可执行加载链中的每个 DLL 运行,并且仅在启用 AppLocker 时才会看到。
为可执行文件和 DLL 规则设置/强制执行所有默认 AppLocker 规则。 %SYSTEM32%\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\* 也有例外。
是否有任何其他 AppLocker 规则、Windows 设置或 Visual Studio 项目设置可以减少或消除此目录查询对我们加载时间的影响?
谢谢!
【问题讨论】:
标签: c# c++ .net visual-studio applocker