Предупредить пользователя о требованиях .NET Framework - PullRequest
4 голосов
/ 26 марта 2010

Итак, у меня есть приложение (инструмент), которое использует .NET 3.0. При запуске на компьютере, на котором установлен только .NET 2.0 (например, установка по умолчанию Server 2008 R2), он ужасно падает.

До сих пор я видел, что люди используют шунт, который сначала проверит версию .NET. Есть ли способ построить его или добавить какой-нибудь манифест, чтобы пользователь предупреждался об этой проблеме (и, надеюсь, будет предложено установить .NET)?

Я знаю, что это может решить установщик, но у меня есть требования, чтобы он был автономным исполняемым файлом. (Хорошо, это трудно объяснить, но это связано с драйвером устройства. Инструмент поставляется с драйвером, но пользователь не должен быть вынужден устанавливать .NET 3.0, если он не будет использовать инструмент.)

Мне просто нужно остановиться в том месте, где загадочное сообщение "приложение не удалось, за исключением 0xe0434f4d", и, по крайней мере, дать пользователю представление о том, что произошло.

Ответы [ 2 ]

4 голосов
/ 26 марта 2010

Это никогда не имеет никакого смысла для меня. Где вы собираетесь остановиться? Собираетесь ли вы также убедиться, что пользователь не установит его на Windows 98? Что на машине достаточно оперативной памяти? Чтобы у учетной записи пользователя было достаточно привилегий?

Поставщики программного обеспечения публикуют системные требования. Вы всегда указываете наименьшую поддерживаемую версию Windows, минимальный объем оперативной памяти, требуемое дисковое пространство, минимальную версию браузера и т. Д. В этот список также входит минимальная версия платформы .NET. Цель этого списка ясна: не ожидайте, что он будет работать должным образом, если вы не соответствуете требованиям. Если вы все равно это сделаете, это ваша проблема, а не моя.

Это отличается для приложения уровня пользователя. Но при установке на сервер Windows 2008 вы не пишете потребительское приложение.

4 голосов
/ 26 марта 2010

Не проверял это, но в этой статье об обнаружении фреймворка рассказывается, как вы могли обнаружить версию фреймворка из кода. Я не уверен, где происходит сбой в вашем приложении, и если внедрение таких проверок может решить вашу проблему, но если вы не можете использовать это в своем приложении, вы можете создать небольшое «стартовое приложение» в старом .net 2.0, которое выполняет эти проверки и затем либо говорит пользователю обновить или запускает "настоящее" приложение?

Как я уже сказал, я не проверял этот подход, он просто мне в голову.

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