Конференция "WinAPI" » Версия NET Framework
 
  • harisma © (01.09.11 11:00) [0]
    Как мне программно узнать точную версию установленного на компьютере NET Framework?
    Причем независимо от разрядности ОС (х32 или х64).
    Если более конкретно, то мне необходимо определить, установлена ли у меня на компьютере версия NET Framework 3.5.
  • Медвежонок Пятачок © (01.09.11 11:18) [1]
    а необходимо ли?
    возможно там уже стоит версия NET Framework 100500, обратно совместимая с 3.5
  • harisma © (01.09.11 11:26) [2]
    Да, необходимо. Если версия окажется ВЫШЕ, чем 3.5, то хорошо, но если НИЖЕ, тогда мне необходимо предпринимать некоторые действия. Вот для этого я ищу способ определения версии фреймворка, установленого на компе.
  • Медвежонок Пятачок © (01.09.11 11:28) [3]
    теперь смотри:

    Если более конкретно, то мне необходимо определить, установлена ли у меня на компьютере версия NET Framework 3.5.

    И ты определил, что 3.5 не установлена.

    Какой вывод можно сделать?
    Никакого.
  • harisma © (01.09.11 11:31) [4]
    Ну, если определил, что не установлена, тогда даю команду на скачивание этого пакета из инета. Что ж тут непонятного?
  • Медвежонок Пятачок © (01.09.11 11:35) [5]
    Нахрена?
    Там же уже стоит версия 100500.
  • harisma © (01.09.11 11:42) [6]
    Ты не понял. Если я определяю, что у меня версия 3.5 и ВЫШЕ, или совместимая с ней, то ничего дополнительного делать не буду. Только если у меня версия НИЖЕ 3.5 или несовместимая с 3.5, тогда буду ставить 3.5.
  • Медвежонок Пятачок © (01.09.11 11:45) [7]
    Это ты не понял.
    Ты задался конкретной целью.
    Прознать про то, установлена ли конкретная версия фрэймворка.
    Цель решается сегодня (код пишется сегодня).  
    А выполняться код будет завтра.
    При выполнении твой код определит, что 3.5 не установлена.
    Но там реально установлена более старшая версия, номера которой сегодня ты еще не знаешь.

    Вывод: успешное достижение твоей цели не решает реальной проблемы.
    Вывод второй: твоя цель была ложной.
  • Anatoly Podgoretsky © (01.09.11 13:35) [8]
    > harisma  (01.09.2011 11:00:00)  [0]

    Обычно на компьютере установлено примерно 6 разных NET Framework!
  • Cobalt © (01.09.11 17:21) [9]
    > harisma ©  
    Тебе как бы намекают, что вместо проверки наличия конкретной версии, лучше попытаться исполнить некий код, обращающийся к .Net, и проверить результат его выполнения.
    И если код не отработал (например, выдал ошибку, чи еще как намекнул что ему что-то не хватает) - тогда уже и сообщать пользователю/качать дистрибутив.
  • Дмитрий Белькевич (01.09.11 18:43) [10]

    > Обычно на компьютере установлено примерно 6 разных NET Framework!


    Должно вымереть, как мамонты. Интересно, сколько еще упираться будут и сколько еще энтропии создадут?


    > Тебе как бы намекают, что вместо проверки наличия конкретной
    > версии, лучше попытаться исполнить некий код, обращающийся
    > к .Net, и проверить результат его выполнения.


    Я сам не в курсе. А в дотнете нету такой фишки, как в винде - вернуть номер версии?
  • Медвежонок Пятачок © (01.09.11 20:20) [11]
    А в дотнете нету такой фишки, как в винде - вернуть номер версии?


    а если есть, то счастье?
    приложение дотнетовское (требует 3.5) запускается и проверяет номер версии фреймворка.
    а фреймвок 1.1 и дотнетовское приложение требующее 3.5 не запускается.....
  • Дмитрий Белькевич (02.09.11 00:25) [12]

    > а фреймвок 1.1 и дотнетовское приложение требующее 3.5 не
    > запускается.....


    Ну - сказать что-то юзеру... Вообще - по-хорошему - то лучше вместе с инсталлятором дотнет нужный таскать.
  • Дмитрий Белькевич (02.09.11 00:28) [13]

    > Я сам не в курсе. А в дотнете нету такой фишки, как в винде
    > - вернуть номер версии?


    Хотя если их 6 штук - то что возвращать :) Список разве что :)
  • Anatoly Podgoretsky © (02.09.11 08:47) [14]
    > Дмитрий Белькевич  (02.09.2011 00:28:13)  [13]

    Сегодня ты про NET Framework, завтра про что еще спросишь, а что будещь
    делать если приложение просто не запустится.
    Подход не верный, это должен делать инсталятор и системные требования.
  • Игорь Шевченко © (02.09.11 16:34) [15]
  • Sergey (07.06.12 09:42) [16]
    Человек спрашивает как? а ему зачем:)
  • Плохиш © (10.06.12 19:35) [17]

    > возможно там уже стоит версия NET Framework 100500, обратно
    > совместимая с 3.5
    >

    Хм, учитывая, что уже 4.0 обратнонесовместима с 3.5.
  • Плохиш © (10.06.12 19:39) [18]

    > приложение дотнетовское (требует 3.5) запускается и проверяет
    > номер версии фреймворка.
    > а фреймвок 1.1 и дотнетовское приложение требующее 3.5 не
    > запускается.....
    >

    Кстати, программы написанные в VS в этом случае честно говорят какой им фреймворк требуется. Подозреваю, что и программы, писанные в Delphi Prism, так же скрывать этого не будут.
 
Конференция "WinAPI" » Версия NET Framework
Есть новые Нет новых   [134430   +4][b:0][p:0.001]