Как последовательно обнаружить 4.5.1 установлен из реестра

Мое приложение.net построено с использованием 4.5.1. В настоящее время я работаю над проектом установщика и использую для этого мудрый скрипт Symantec. Я добавил реквизит, чтобы продолжить установку, только если установлен.net 4.5.1.

Разделы реестра, чтобы обнаружить это, описаны в http://msdn.microsoft.com/en-us/library/hh925568%28v=vs.110%29.aspx.

Как указано выше, я определяю 378758 или 378675 для ключа выпуска в пути реестра.

Однако Microsoft выпустила еще одно обновление 4.5.2 (ключ:379893), которое заменяет предыдущий раздел реестра. Поэтому мой чек не позволяет установить приложение в системе с 4.5.2. Однако, поскольку это обновление на месте для 4.5.1, по логике оно должно. Я могу добавить дополнительную версию 379893. Это удовлетворяло бы все требования.

Однако если Microsoft выпустит еще одно обновление на месте, как, например, 4.5.3, моя проверка снова не удастся.

Поскольку это проект инсталлятора, я не могу изменить логику для каждого, как только он выйдет из двери релиза.

Итак, я перехожу к своему вопросу: есть ли надежный способ обнаружения.net 4.5.1 и всех последующих обновлений, и это можно сделать только через реестр?

Я прилагаю скриншот реестра, как он выглядит при обновлении до 4.5.2.

1 ответ

Решение

Я выяснил, что наличие пути к реестру до полного, как показано на скриншоте, должно гарантировать, что все имеющиеся обновления 4.0 включены. Проверка наличия версии> 378675 обеспечит включение всех обновлений больше 4.5.1.

Взяли реплику от другого подобного стека overoverflow и решили проблему, связанную с установщиком wix. Обнаружение.NET Framework 4.5.1 с использованием WiX

Это решение, кажется, работает.

Другие вопросы по тегам