Здравствуйте, pumpurumer, Вы писали:
P>предыстория:
P>много лет использовали примерно такой сценарий запуска
P>при старте винды, вместо шела, запускаем апдейтер (свой)
P>апдейтер или качает обнову, или сразу запускает приложение.
P>все работало отлично (примерно лет 12)
P>а в этом году, появилась плавающая проблема, на некоторых точка, по схеме
P>апдейтер запустился
P>апдейтер запускат процесс
P>процесс ничего не делает.
P>потом поддержка подключается, и все запускается двойным кликом мыши.
P>в логах запуска приложения пусто. но первые логи похоже пишутся чуть позже чем нужно
P>место в приложении, которе запускаем, (в файле с "защитными логами пусто")
P>P>using (Mutex myLock = new Mutex(false, "MytexStartGui"))
P>{
P> WriteLogFile("Ожидаем блокировки MytexStartGui");
P> if (myLock.WaitOne(1000, false))
P> {
P>
P>как запускается процесс:
P>targetProcess = Process.Start(prog);
P>в prog — полный путь до целевого exe
P>пид у него появляется, HasExited false (добавили логирование состояние).
P>т.е. грубо говоря процесс висит и ничего не делает. такое происходит примерно на 2..3% точек.
P>куда копать — не понимаю
P>в application ничего нету, в системе тоже. (eventlog)
проблема связанна с DialogFilterProc
вроде как исправляется в KB2728894
итого, проблема фигурирует как:
.NET Framework-based application that uses the Dialog Filter feature freezes on a computer that is running Windows Embedded POSReady 7 or Windows Thin PC
http://www.microsoft.com/en-us/download/details.aspx?id=34786
https://support.microsoft.com/ru-ru/topic/-net-framework-based-application-that-uses-the-dialog-filter-feature-freezes-on-a-computer-that-is-running-windows-embedded-posready-7-or-windows-thin-pc-ce80c259-54be-f5cc-6af4-c787dff1e413
https://stackoverflow.com/questions/64526847/net-application-is-blocked-on-start-hanging-in-process-explorer-with-1-mb