Все приложения WPF x86 аварийно завершают работу при запуске - PullRequest
0 голосов
/ 22 мая 2019

У одного из наших клиентов есть несколько 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 (упоминается в сообщении, ссылающемся на код исключения / смещение ошибки)
  • Упомянутые выше события необработанных исключений, которые никогда не запускаются

Я ищу какие-либо идеи о том, как продолжать устранение неполадок в этой проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...