Исключение .NET для исключения «программное обеспечение xyz не установлено» или «необходимая функция Windows не установлC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Исключение .NET для исключения «программное обеспечение xyz не установлено» или «необходимая функция Windows не установл

Сообщение Anonymous »

Как указано в заголовке, мне интересно, какое исключение .NET лучше всего подойдет для сценария, в котором зависимая часть программного обеспечения (стороннее приложение, дополнительная функция/роль Windows и т. д.) – не обязательно зависимость от dll или библиотека — подтверждена как отсутствующая или не может быть обнаружена/определена по разным причинам (разрешения и т. д.).
  • В этом сценарии предполагается, что минимальные системные требования проверки на данный момент пройдены (ОС, архитектура, среда, права доступа, оборудование и т. д.).
  • Код: Выделить всё

    PlatformNotSupportedException
    кажется неуместным, поскольку он описывает платформу как часть сбоя - и это исключение должно быть выброшено еще до того, как код проверит "Является ли необходимое программное обеспечение XYZ/ функция установлена ​​или нет?".
  • Код: Выделить всё

    FileNotFoundException
    неточно описывает ситуацию, поскольку проверка путей к файлам не всегда является надежным методом определения того, установлено ли программное обеспечение/функция XYZ или нет? -- пути установки могут измениться, неустановленные остатки могут присутствовать/повреждены и давать ложноположительную оценку «Файл присутствует, поэтому программное обеспечение XYZ считается установленным/зарегистрированным» и т. д.
  • Код: Выделить всё

    STATUS_SXS_ASSEMBLY_MISSING (0x80073701
    ) Описание для этого: «Указанная сборка не установлена ​​в вашей системе».

    Я не нашел много документации по этой ошибке, но моя интерпретация заключается в том, что это обычно наблюдается конкретно в контексте неудачной установки обновления/компонента/функции Windows - и обычно не используется в сценарии, описанном в этом вопросе, где отсутствующая часть программного обеспечения является сторонним приложением.
    < ul>
    Это да, однако это кажется возможным вариантом, когда недостающая часть программного обеспечения является компонентом/функцией/ролью Windows.
[*] Мои попытки найти ресурс, который сопоставляет это с исключением .NET, оказались тщетными.


[*]Выброс исключения Win32Exception в .NET — это вариант, но я пока не нашел того, который мне кажется подходит.


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

Подробнее здесь: https://stackoverflow.com/questions/778 ... windows-fe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»