Соответствующий ответ процессу.Запуск (URL); сбой?

#c# #.net #windows #user-interface #user-experience

#c# #.net #Windows #пользовательский интерфейс

Вопрос:

У меня есть приложение .NET 4, которое использует Process.Start (URL); чтобы открыть браузер пользователя по умолчанию и перевести их на мою страницу обновления, если они примут запрос на обновление. Это отлично работает для большинства людей, но я получаю журналы сбоев от некоторых пользователей, где это не удается с:

 System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
  

Я отчитал себя за игнорирование возможности сбоя здесь и использование наивных примеров из Интернета, и теперь я пытаюсь решить, что делать. Мой первый инстинкт — показать общее сообщение «Не удалось открыть браузер, вот URL» и, возможно, добавить кнопку для копирования его в буфер обмена, но могу ли я сделать лучше?

  • Более надежный способ открыть URL? Хотя это кажется стандартным ответом на вопросы об открытии URL-адресов, действительно ли это лучший способ?
  • Что-то более информативное сказать пользователю? Означает ли сбой неправильную конфигурацию на компьютере пользователя? Возможно, антивирусный сканер блокирует доступ?

Комментарии:

1. Этого не видел, но это определенно звучит как проблема локальной конфигурации — возможно, удаление браузера по умолчанию…

2. Я получаю эту ошибку прямо сейчас из-за ‘%’ в URL, например, » localhost/bla/foo%1 »