When using Process.Start to open a file with its associated application, an exception will be thrown if there is no program associated with the file type. One way to show the system’s Open with… dialog box is to catch this exception and use an undocumented function via P/Invoke:
Alternatively (that is the preferred way because it is fully managed) this solution can be used: