Вы можете сделать это:
!system '"calculate_version.exe" "tempfile.tmp"'
!searchparse /file "tempfile.tmp" `APP_VERSION=` APPVERSION
Что это делает: вызывает Calculate_version.exe (это может быть простой скрипт NSIS, который вызывает вашу функцию). Этот исполняемый файл должен вывести номер версии в tempfile.tmp. Формат версии не имеет значения; в этом примере я выбрал «APP_VERSION = что-то» (это можно записать с помощью WriteINIStr
).
В следующей строке мы открываем временный файл и ищем в нем строку, которую мы написали; затем мы устанавливаем $ {APPVERSION} на то, что мы там находим.