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