Я использую System.Diagnostics.Process.Start из настольного приложения, чтобы запустить браузер по умолчанию, чтобы перейти к ссылке, как показано ниже. Это использует С# с .NET 4.0 в RTM Windows 8 Pro.
System.Diagnostics.Process.Start(new ProcessStartInfo
{
    FileName = @"http://www.google.com",
    UseShellExecute = true
});
Это отлично работает под Windows 7, но в Windows 8 я получаю исключение, которое можно воспроизвести в LINQPad. Исключения составляют:
 UseShellExecute = true дает Win32Exception: класс не зарегистрирован.
UseShellExecute = false дает Win32Exception: система не может найти указанный файл.
Как открыть URL-адрес в браузере по умолчанию?