» Определение ОС с помощью NSIS

K.A.V.
www.oszone.net
22.02.2010
Автор: kotkovets
Последнее обновление: 11.05.2014

В NSIS существует библиотека для определения свойств ОС winver.nsh. Эта библиотека использует API функцию GetVersionEx
Но к сожалению стандартная библиотека не в полной мере использует функцию GetVersionEx
А именно, не умеет определять редакцию операционной системы и не верно определяет WinXP x64, считая, что это Server 2003 и т.д
Я не стал делать исправления библиотеки, наверно проще написать сначала, чем исправлять.
Существует отличный плагин для определения ОС GetVersion : Определение версии и редакции операционной системы в NSIS
В свою очередь я решил исходники плагина GetVersion переписать на NSIS - кому как, может это велосипед.
Загрузить библиотеку
Файл WinVer2.nsh копируем в папку ${NSISDIR}\Include, далее в скрипте подключаем данную библиотеку.
!include "WinVer2.nsh"
Библиотека полностью совместима с юникодной версией NSIS.
Естественно совместное использование WinVer.nsh и WinVer2.nsh не приветствуется.