MSI.OpenPackage

number MSI.OpenPackage ( string PackagePath )
Примеры

Описание

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

Параметры

PackagePath

(строка) Полный путь к пакету, чей дескриптор понадобился.

Возврат

ResultVariable

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

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

Примеры

Пример 1

-- Get the package handle.
-- Получаем дескриптор пакета.
nPackageHandle = MSI.OpenPackage(_TempFolder.."\\Downloaded\\setup.msi");

if (nPackageHandle) then
    strProperty = MSI.GetProductProperty(nPackageHandle, "SUFUSERPROFILE");
    if (strProperty) then
        -- Show a dialog with the feature info.
        -- Показываем диалоговое окно с информацией о свойстве.
        Dialog.Message("Property", "Property value: " .. strProperty);
    else
        -- An error occurred.
        -- Произошла ошибка.
        nError = Application.GetLastError();
        Dialog.Message("Error", _tblErrorMessages[nError], MB_OK, MB_ICONEXCLAMATION);
    end

    -- Finished using the handle, so close it.
    -- Завершилось использование дескриптора, так что закрываем его.
    if (not MSI.CloseHandle(nPackageHandle)) then
        Dialog.Message("Error", "Failed to close package handle.");
    end
else
    Dialog.Message("Error", "Failed to get package handle.");
end
Получаем свойство продукта "SUFUSERPROFILE" и показываем его значение в диалоговом окне сообщения.
Смотрите также: Связанные действия