File.GetVersionInfo

table File.GetVersionInfo ( string Filename )
Примеры

Описание

Возвращает таблицу, содержашую всю информацию о версии указанного файла.

Примечание: Некоторые файлы могут не иметь никакой информации о версии. Хотя исполняемые файлы программ и файлы DLL обычно её имеют.

Параметры

Filename

(строка) Путь к файлу.

Возврат

ResultVariable

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

КЛЮЧ
KEY
ТИП
TYPE
ОПИСАНИЕ
DESCRIPTION
FileVersionстрокаВерсия файла, в том виде как она показана на вкладке Version (Версия), что появляется после клика правой кнопки мышки по файлу и выбора пункта Properties (Свойства). ("6.0.0.1"). Если эта информация не найдена, будет возвращена пустая строка.
ProductVersionстрокаНомер версии программы, с которой файл распространяется. ("1.0.0.6") Если эта информация не найдена, будет возвращена пустая строка.
CompanyNameстрокаКомпания, которая производит файл. ("Super Dooper Inc.") Если эта информация не найдена, будет возвращена пустая строка.
FileDescriptionстрокаОписание файла короткой строкой. ("Doopernator program file for XP and 2000.") Если эта информация не найдена, будет возвращена пустая строка.
InternalNameстрокаВнутреннее название файла, если оно существует. ("Doopernator") Если эта информация не найдена, будет возвращена пустая строка.
ProductNameстрокаНазвание программы, с которой файл распространяется. ("Doopernator XP") Если эта информация не найдена, будет возвращена пустая строка.
LegalCopyrightстрокаВсе уведомления об авторском праве, которые применяются к файлу. ("Copyright (C) 2003 Super Dooper Inc.") Если эта информация не найдена, будет возвращена пустая строка.
LegalTrademarksстрокаВсе торговые марки и зарегистрированные торговые марки, которые применяются к файлу. ("Doopernator is a registered trademark of Super Dooper Inc., so you better not try calling anything Doopernator or our lawyers will hunt you down like terriers chasing a baleful of mice.") Если эта информация не найдена, будет возвращена пустая строка.
CommentsстрокаДополнительная информация. ("For more information, visit www.doopernator.com.") Если эта информация не найдена, будет возвращена пустая строка.
OriginalFilenameстрокаИсходное (оригинальное) имя файла, не включая путь. Это позволяет приложениям определить, не был ли файл переименован пользователем. ("Doopernator.exe") Если эта информация не найдена, будет возвращена пустая строка.
PrivateBuildстрокаИнформация о файле, если это частная или "внутренняя" версия. ("Built by BIGDOG on SUPER22.") Если эта информация не найдена, будет возвращена пустая строка.
SpecialBuildстрокаЧем эта версия файла отличается от стандартной версии, если является особой сборкой. ("Built to test the doopernator optimizer code on PCs running service pack 1 with DirectX 9.1.") Если эта информация не найдена, будет возвращена пустая строка.

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

Примеры

Пример 1

version_info = File.GetVersionInfo(_ProgramFilesFolder .. "\\Doopernator\\Doopernator.exe");
fv = version_info.FileVersion;
pv = version_info.ProductVersion;
Получаем сведения от файла "C:\Program Files\Doopernator\Doopernator.exe" и сохраняем её в таблице по имени version_info. Затем копируем версию файла и версию программы из этой таблицы в переменные, названные fv и pv, соответственно.

Примечание: _ProgramFilesFolder это встроенная переменная, которая содержит путь к папке пользователя Program Files.

Пример 2

-- Get the file information, and load it into a table
-- Получаем сведения о файле и загружаем их в таблицу
tVersionInfo = File.GetVersionInfo(_SourceFolder .. "\\setup.exe");

-- Get the last error code
-- Получаем код последней ошибки
nError = Application.GetLastError();
if nError == 0 then
    -- There was not an error
    -- Ошибки не было
    sOutput = "";

    -- Traverse the table, storing info in a string
    -- Обход таблицы, загружаем сведения в строку
    for Name, Contents in pairs(tVersionInfo) do
        sOutput = sOutput .. Name .. ": " .. Contents .. "\r\n";
    end

    -- Output string contents to the user
    -- Показываем пользователю содержание выходной строки
    Dialog.Message("File Version Information", sOutput);
else
    -- There was an error, alert the user
    -- Была ошибка, предупреждаем пользователя
    Dialog.Message("Error", _tblErrorMessages[nError]);
end
Выбираем информацию о версии от файла "setup.exe" и представляем её пользователю в одном диалоговом окне сообщения.

Примечание: _SourceFolder это встроенная переменная, которая содержит путь к месту, откуда запущен файл autorun.exe.
Смотрите также: Связанные действия