Если ваше приложение зависит от того, установлен ли Excel для правильной и эффективной работы, сообщите об этом пользователю. Перехватите исключение и откройте уведомление, чтобы сообщить им о проблеме, но затем в этом уведомлении дайте им возможность открыть его в альтернативном редакторе, таком как блокнот.
Все это сводится к хорошему UX - сообщите пользователю, но сделайте это таким образом, чтобы вы расширяли его возможности, предлагая варианты продолжения, а не просто мешали им и останавливались, когда возникала такая небольшая проблема.
Редактировать: Делать именно то, что вы делаете - не думайте, что у них есть Excel, у них может быть какой-то другой просмотрщик / редактор, например OpenOffice. Что бы ни было зарегистрировано в CSV, пусть оно делает свое дело. Не пытайтесь самостоятельно проверять файловую ассоциацию, ваше приложение может не иметь (вероятно, не будет) достаточных привилегий, чтобы зацикливаться на реестре.
Вам также необходимо проверить другие очевидные причины исключений, например, у пользователя нет прав на открытие целевого файла, это может быть связано с ограничениями, установленными для папки или самого файла. Возможно, файл заблокирован, потому что он все еще открыт в другом процессе. Существует множество причин, по которым ваш Process.Start может завершиться неудачей.
Перехватите исключение, и если причина не в приложении, связанном с файлом, предложите им эту опцию. Если пользователь решит использовать Блокнот, попробуйте открыть файл в Блокноте, но при этом не пропустите исключения. Блокнот - хороший вариант, он не удерживает блокировку файла, но он все еще зависит от ACL для папок / файлов.