MSI.GetFileVersion

table MSI.GetFileVersion ( string FilePath )
Примеры

Описание

Вызывает функцию MsiGetFileVersion для получения строковых данных о версии и языке файла в виде, в котором программа-установщик предполагает поиск их в базе данных. Это действие используется для чтения информации о версии и ресурсах файлов PE (.exe, dll).

Примечание переводчика: PE - Portable Executable — (PE переносимый исполняемый) — формат исполняемых файлов, объектного кода и динамических библиотек, используемый в 32- и 64-битных версиях операционной системы Microsoft Windows.
Формат PE представляет собой структуру данных, содержащую всю информацию, необходимую PE загрузчику для проецирования файла в память. Исполняемый код включает в себя ссылки для связывания динамически загружаемых библиотек, таблицы экспорта и импорта API функций, данные для управления ресурсами и данные локальной памяти потока (TLS).
В операционных системах семейства Windows NT формат PE используется для EXE, DLL, SYS (драйверов устройств), и других типов файлов.

Примечание: Это действие не работает на файлах Windows Installer (.msi).

Параметры

FilePath

(строка) Полный путь к файлу, информация о версии/языке которого понадобилась.

Возврат

ResultVariable

(таблица) Возвращает таблицу, индексированную следующими значениями:

КЛЮЧ
KEY
ТИП
TYPE
ОПИСАНИЕ
DESCRIPTION
VersionстрокаВерсия файла.
LanguageстрокаЯзык файла.

Если действие не выполняется, возвращается значение nil. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.

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

Примеры

Пример 1

tbFileInfo = MSI.GetFileVersion(_TempFolder .. "\\Extracted\\setup.exe");

if (tbFileInfo) then
    Dialog.Message("File Info", "Version: " .. tbFileInfo.Version .. " Language: " .. tbFileInfo.Language);
else
    nError = Application.GetLastError();
    Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
end
Получаем информацию о версии и языке из файла "setup.exe", и показываем ее в диалоговом окне сообщения.
Смотрите также: Связанные действия