» !getdllversion - определяем версию файла в момент компиляции

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

Данная команда поможет вам определить версию какого-либо файла непосредственно при начале компиляции проекта, и полученные данные вы можете использовать в своём скрипте даже вне функций и секций.
Вы сможете указать полученные данные о версии скажем, в путь выходного файла после компиляции, также сможете указать данную версию даже в добавляемую информацию о версии в вашем выходном файле.

Пример команды:
!getdllversion "C:\Users\APTEM\Desktop\TEST.exe" expv_
Далее вы можете объявить константу из полученных данных:
!define PRODUCT_VERSION "${expv_1}.${expv_2}.${expv_3}.${expv_4}"

И использовать в своём скрипте, например:
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "setup_${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES\Моя программа"
ShowInstDetails show
ShowUnInstDetails show

VIProductVersion "${PRODUCT_VERSION}"
VIAddVersionKey "ProductName" "${PRODUCT_NAME}"
VIAddVersionKey "LegalCopyright" "${PRODUCT_PUBLISHER}"
VIAddVersionKey "CompanyName" "${PRODUCT_PUBLISHER}"
VIAddVersionKey "FileDescription" "${PRODUCT_NAME} ${PRODUCT_VERSION}"
VIAddVersionKey "FileVersion" "${PRODUCT_VERSION}"