Есть приложение, которое может быть правильно запущено в Windows 2008, давайте назовем его App1.
Когда это же приложение запускается другим приложением (Launcher), App1 аварийно завершает работу в secur32.dll.Исследование показало, что среда в этих двух случаях была разной.
При сбое приложения в его среде есть одна дополнительная переменная __COMPAT_LAYER = ElevateCreateProcess.
Установка __COMPAT_LAYER = asInvoker на глобальном системном уровне не разрешаетвопрос.Добавление App1 и Launcher в реестр по адресу HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers также не разрешает эту проблему.
Обе программы имеют следующие разрешения в своих манифестах: requiredExecutionLevel level = "asInvoker"uiAccess = "false"
UAC выключен.Обновления Windows актуальны.Единственное решение, которое помогает, - вставить другую промежуточную программу, которая очищает __COMPAT_LAYER или устанавливает его в asInvoker.
Что может быть причиной ElevateCreateProcess и как ее избежать?Спасибо.