Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Проверка на наличие .Net framework


Автор: Sergio 27.6.2008, 14:34
Здравствуйте. Как програмно проверить наличие .Net framework? 
Есть ли уже готовые классы отвечающие за это?
Спасибо.

Автор: mihryak 27.6.2008, 14:58
http://blog.kalmbachnet.de/?postid=55
ну а классы для проверки зависят от языка, на котором будет писаться эта проверка =)

Автор: Walker 27.6.2008, 15:03
Цитата

Как програмно проверить наличие .Net framework? 
Есть ли уже готовые классы отвечающие за это?

 smile   smile 
Без обид! В золотую бы рамку поставил.
В чём же Вы их запускать-то планируете?
Наличие .net нужно проверять при установке по соответствующим библиотекам (mscoree.dll) или ключам реестра.

Удачи!

Автор: _hunter 27.6.2008, 15:10
Цитата(Walker @  27.6.2008,  15:03 Найти цитируемый пост)
В чём же Вы их запускать-то планируете?

A что не дает запускать их в окнах (это если на плюсах/делфях) или в JRE? Или .NET понятие "класс" прихватизировал?..

Автор: Walker 27.6.2008, 15:31
Цитата

A что не дает запускать их в окнах (это если на плюсах/делфях) или в JRE?

В первом посте между строк абсолютно чётко значится, что Sergio ищет класс для JRE. smile 

Автор: EgoBrain 28.6.2008, 04:53
Я бы просто пробил для начала наличие папки C:\Program Files\Microsoft.NET и C:\WINDOWS\Microsoft.NET, а затем уже можно размеры сверять, какие там файлы лежать и т.п. smile

P.S. но в любом случае проверка по реестру и проверка по физическому наличию имхо и то и то плохой способ, так как может быть запись в реестре, а папок нет, или папки есть, но там вата всякая... Короче нужно искать универсальный способ, который имхо Microsoft уже сделали...

Автор: mihryak 28.6.2008, 12:42
MS http://support.microsoft.com/kb/315291/en-us как раз по реестру проверять (ссылка из моей ссылки)
Если пользователь руками поковырялся в реестре или поудалял файлы - это его проблема, предполагается, что с системой у него всё в порядке

Автор: cforest 16.11.2009, 16:51
Добрый день. Осмелюсь продолжить тему и спросить вот о чем.

Если в системе не установлен .Net, то при запуске exe-шника программы, написанной на C#, получаю такую ошибку:

---------------------------
Myprogram.exe - Application Error
---------------------------
The application failed to initialize properly (0xc0000135). Click on OK to terminate the application. 
---------------------------
OK   
---------------------------

Вопрос: можно ли корректно завершить выполнение программы БЕЗ получения такой ошибки? Варианты с проверкой наличия ключа реестра или каталог .Net не канают - с такой ошибкой обламывается любая прога - даже та, которая делает только int abc = 3. Есть варианты, как выйти из программы ДО получения такой ошибки? Или это в принципе невозможно?

Автор: Heinzz 16.11.2009, 17:36
нужно делать setup MicrosoftInstaller и там проверять есть ли фрэймворк. Вроде там это было. Поправьте кто помнит лучше.
зы Уточнить не могу, у меня ключ от полной студии протух smile 

Автор: PashaPash 17.11.2009, 16:07
cforest, сделать полноценный инсталлятор, или использовать ClickOnce. Оба умеют проверять наличие .net и доставлять по необходимости.

Автор: DenWPF 17.11.2009, 22:34
а вот если заказчик не хочет установщиков smile 

Автор: KelTron 18.11.2009, 10:11
Цитата(DenWPF @  17.11.2009,  22:34 Найти цитируемый пост)
а вот если заказчик не хочет установщиков

А что ему надо? Программа которая проверяет есть ли фреймворк и говорит "да" / "нет"?)

Автор: DenWPF 18.11.2009, 10:28
нет, просто если установлен 3 то можно WPF грузить, если 2 или ниже+) то другой код

Автор: bumbastic 20.11.2009, 09:27
надо читать реестр

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)