"Неподдерживаемая 16-разрядная" ошибка для 32-разрядного приложения в 64-разрядной Windows
Приложение:
- Простое приложение WinForms VB.net, созданное с использованием VS2015 и предназначенное для x86
- Нет стороннего контроля. Есть 7 ссылок, и все они
System.*
- Таргетинг.NET 3.5
- Код подписан с использованием сертификата подписи
Окружающая среда:
- Успешно работает на 64-битной Win7 Pro, 64-битной Win10 Pro
- Успешно работает на 64-битной Win7 Enterprise
- Но Win8 Enterprise и Win10 Enterprise выдают ошибку "Unsupported 16-bit Application" (см. Ссылку ниже)
- Каждая из вышеупомянутых систем находится в разных клиентских средах (возможно, разные политики, разные Антивирусы и т. Д.).
- .NET 3.5 должен быть установлен на машине. Основное приложение, которое загружает WebUpdate.exe, также предназначено для.NET 3.5. Если 3.5 не установлен, основное приложение не может быть запущено, а WebUpdate.exe не может быть загружен / вызван.
Сообщение об ошибке: неподдерживаемое 16-разрядное приложение
Все поиски по этой ошибке вызывают только дискуссии о реальных 16-битных приложениях. Но это приложение, встроенное в VS2015 и предназначенное для x86, не может быть 16-разрядным приложением. Также факт того, что он работает на Win7 Enterprise/Pro и Win10 Pro. Единственная другая тема указывает на то, что McAfee может изменить приложение на 16-разрядное (?!).
Любая помощь / указатель / предложение приветствуется.
Обновить
Мы установили основное приложение на совершенно новую Windows 10 Enterprise; мы не могли воспроизвести проблему. После запуска основного приложения нам предложили установить.NET 3.5. После установки основное приложение заработало нормально. Мы проверили наличие обновлений; он загрузил WebUpdate.exe и запустил его нормально. Весь процесс обновления успешно завершен.
Это говорит нам о том, что 16-битная проблема должна зависеть от компьютера пользователя. Тем не менее, мы понятия не имеем, что это может быть.