Используя какой-либо загрузчик, вы можете проверить, установлен ли .NET, а затем загрузить его при необходимости.
Например, с загрузчиком MSI Factory (я не сторонник MSI Factory, это уродливая программа. Но загрузчик, с которым она поставляется, вполне стоит стоимости лицензии, если вы разрабатываете коммерческую версию программное обеспечение, как у нас) есть сценарии, которые вы можете просто включить для выполнения этой функции. Мы используем WiX + загрузчик MSI Factory для распространения как одного сжатого EXE-файла (30 МБ), так и небольшого 1-МБ загрузочного EXE-файла, который загружает MSI. Оба EXE проверяют наличие .NET 2.0, а затем загружают его при необходимости. Мы также распространяем автономный MSI, который также проверяет наличие .NET и блокирует установку, если она отсутствует.
В основном у вас есть следующее:
- Windows XP - не поставляется с .NET. Клиент должен установить его вручную (он отображается как дополнительный компонент Центра обновления Windows)
- Vista - поставляется с .NET 2.0 (но не 1.1)
- Server 2003 - поставляется с .NET 1.1
Игнорировать .NET 1.1, просто игнорировать его. Пользователи Vista и более поздние версии смогут устанавливать ее только для поддержки устаревших приложений или для разработчиков.
.NET 2.0 является наиболее часто устанавливаемой версией, из нашей пользовательской базы мы обнаружили, что менее 10% пользователей установили .NET 3.5. Если ваше приложение предназначено для технической, вызывающей аудитории, то я бы сказал, что ~ 50% людей будут иметь .NET 3.0. Если вы нацелены на потребительский / розничный / нетехнический рынок, вы можете оценить около 30% для .NET 2.0 и 10% для .NET 3.0 или выше.
Приведенные выше цифры основаны на посещаемости браузеров нашими веб-сайтами, в основном нетехнической аудиторией. Это, вероятно, лучший способ получить представление о вашем рынке. IE всегда сообщает версию .NET в строке User-agent, поэтому разбейте блоги и начните анализировать:)