Мое приложение требует .NET Framework версии 3.5. Недавно я столкнулся с клиентом, у которого была установлена .NET Framework, но отключен в Windows Vista (также относится к Windows 7).
В этом случае мой установщик (InstallShield 2009) не запрашивает у пользователя установку Framework (потому что он уже установлен), и когда мое приложение запускается, он немедленно сбой. Я попробовал другое .NET-приложение, и оно также немедленно сработает.
Есть ли способ обнаружить эту ситуацию и обработать ее более изящно? Простое обнаружение этого во время установки не является идеальным, так как .NET Framework можно отключить в любое время. В идеале приложение сможет проверять и отображать дружественное сообщение пользователю, говорящему им, что нужно включить .NET Framework.
EDIT: "Отключение".NET Framework в Windows Vista или Windows 7 - это не то же самое, что удаление. Рамку можно просто вернуть без переустановки: http://windows.microsoft.com/en-US/windows-vista/Turn-Windows-features-on-or-off