У нас есть приложение, состоящее из ряда исполняемых файлов, порожденных из исполняемого файла главного меню. Каждый из наших отдельных исполняемых файлов использует значительное количество библиотек DLL. Все наши исполняемые файлы и библиотеки DLL построены с использованием Visual Studio 2010.
Когда AppLocker включается через групповую политику в тестовом домене, содержащем только одну виртуальную машину с нашим программным обеспечением, время загрузки значительно увеличивается.
Мы можем видеть с помощью Process Monitor (procmon.exe
) что при загрузке каждой DLL перечисление файлов в %WINDIR%\System32\catroot
папка встречается. Это перечисление занимает значительное количество времени для запуска, запускается для каждой библиотеки DLL в исполняемой цепочке загрузки и встречается только при включенном AppLocker.
Все правила AppLocker по умолчанию устанавливаются / применяются для исполняемых файлов и правил DLL. И есть исключения для %SYSTEM32%\catroot2\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\*
,
Существуют ли какие-либо другие правила AppLocker, настройки Windows или настройки проекта Visual Studio, которые могут уменьшить или устранить влияние этого запроса каталога на наше время загрузки?
Спасибо!
Удалось решить проблему путем создания самозаверяющего сертификата и назначения для всех библиотек DLL.
Других решений пока нет …