2016-02-12 62 views
0

我们有一个由主菜单可执行文件产生的许多可执行文件组成的应用程序。我们每个单独的可执行文件都使用大量的DLL。我们所有的可执行文件和DLL的使用Visual Studio 2010内置AppLocker导致加载时间极其缓慢

当AppLocker的通过组策略启用了一个只包含虚拟机安装了我们的软件测试领域,加载时间大大增加。

我们可以看到使用进程监视器(procmon.exe),当每个DLL被加载时,发生%WINDIR%\System32\catroot文件夹中的文件的枚举。此枚举需要大量时间运行,针对可执行文件链中的每个DLL运行,并且仅在启用AppLocker时才会显示。

所有默认AppLocker规则设置/执行可执行文件和DLL规则。并有%SYSTEM32%\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\*例外。

是否还有其他的AppLocker规则,Windows设置,或Visual Studio项目设置,可以减少或删除这个目录查询我们的加载时间造成的影响?

谢谢!

回答

0

设法通过创建一个自签名证书,并针对所有DLL分配来解决这个问题。