我们有一个由许多可执行文件组成的应用程序,这些可执行文件是从主菜单可执行文件中生成的。我们每个单独的可执行文件都使用大量的 DLL。我们所有的可执行文件和 DLL 都是使用 Visual Studio 2010 构建的。
当 AppLocker 通过组策略在仅包含安装了我们软件的单个 VM 的测试域上启用时,加载时间会显着增加。
我们可以使用 Process Monitor ( procmon.exe
) 看到,在加载每个 DLL 时,会枚举文件%WINDIR%\System32\catroot
夹中的文件。此枚举需要大量时间来运行,针对可执行加载链中的每个 DLL 运行,并且仅在启用 AppLocker 时才能看到。
为可执行文件和 DLL 规则设置/强制执行所有默认 AppLocker 规则。并且有例外%SYSTEM32%\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\*
。
是否有任何其他 AppLocker 规则、Windows 设置或 Visual Studio 项目设置可以减少或消除此目录查询对我们加载时间的影响?
谢谢!