Как я могу сообщить пользователю приложения XCOPY WPF 4, что ему нужно установить.NET 4?

Я сделал небольшое приложение-инструмент для Visual Studio 2010, чтобы распространять его, я заархивировал эти файлы из папки Release:

  • Data
    • MainData.mdf
    • MainData_log.ldf
  • DataBackup.exe
  • DataBackup.exe.config
  • FluidKit.dll

затем разархивируйте их на целевой машине (без установки).

Когда я запускаю его на компьютере с Windows 7 с установленным.NET 4, он работает нормально.

Когда я запускаю его на компьютере с Vista, на котором установлен.NET 3.5, выдается сообщение об ошибке по умолчанию:

Чтобы запустить это приложение, вам необходимо установить следующую версию.NET: v.4.0.21006 Чтобы узнать, как установить эту версию, обратитесь к распространителю этого приложения.

Когда я запускаю его на компьютере с XP с установленным.NET 3.0, выдает ошибку, из-за которой приложение не запускается, но не упоминается установка.NET.

Могу ли я в любом случае перехватить эти сообщения, например, чтобы получить красивое, нестандартное сообщение с инструкциями по установке и ссылкой для загрузки.NET 4?

2 ответа

Я думаю, что единственным решением является создание небольшого приложения, отличного от.NET, которое проверяет, установлен ли.NET Framework, и, если да, запускает ваше приложение.NET. Для части обнаружения структуры, см., Например, здесь: http://www.codeproject.com/KB/dotnet/DetectDotNet.aspx

Проверьте событие Application.DispatcherUnhandledException... возможно, вы могли бы глобально перехватить исключение и проинформировать своего пользователя о необходимости установки.NET 4.0. Вероятно, это может помочь вам определить, какие версии платформы.NET установлены, и, возможно, даже избегать использования функций.NET 4, если вы видите, что на клиентской машине его нет.

Другие вопросы по тегам