У одного из наших клиентов есть несколько 64-битных компьютеров с Windows 7, которые испытывают проблемы с запуском наших приложений WPF. К сожалению, фреймворк падает так, что я не смог отловить ошибку и получить трассировку стека, либо через AppDomain.CurrentDomain.UnhandledException, либо через Dispatcher.UnhandledException. Мне удалось выяснить следующее:
- Приложения WinForms работают нормально
- Приложения WPF НЕ работают, если платформа не установлена на x64.
- Десятки незатронутых машин работают под одной ОС
Таким образом, в основном все x86 WPF-приложения, ориентированные на новейшую платформу, сразу же перестают работать при запуске на этих машинах. Это проблематично для нас, потому что мы обычно создаем версию x86 только из-за нескольких клиентов, которые все еще используют 32-битные машины. «Любой процессор» в настоящее время для нас не вариант из-за нескольких собственных зависимостей.
Само приложение не имеет значения. Простое окно с одной кнопкой и без дополнительных зависимостей прекрасно работает на этих машинах:
<Window x:Class="WpfTestApp2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Button x:Name="btnOK" Content="OK" Width="75"
HorizontalAlignment="Center" VerticalAlignment="Center"
Click="btnOK_Click" />
</Grid>
</Window>
Это простое однооконное приложение не работает на любом процессоре или платформе x86, но работает, если я нацеливаюсь на x64.
Журнал событий приложения содержит следующую информацию, которая не привела меня к решению:
Faulting module name: KERNELBASE.dll, version: 6.1.7601.24059, time stamp: 0x5aa1f588
Exception code: 0xc06d007e
Fault offset: 0x0000c54f
Faulting process id: 0x1bc4
До сих пор мы пробовали все следующее:
- Удалите и переустановите .NET Framework 4.7.2
- Восстановление .NET Framework 4.7.2
- Удаление обновлений безопасности KB3126587 и KB3126593 (упоминается в сообщении, ссылающемся на код исключения / смещение ошибки)
- Упомянутые выше события необработанных исключений, которые никогда не запускаются
Я ищу какие-либо идеи о том, как продолжать устранение неполадок в этой проблеме.