CryptoPro JCP v 1.0.
Module installer.

Package ru.CryptoPro.Install

Пакет предназначен выполнения установки и удаления JCP.

See:
          Description

Interface Summary
GeneralSettingsInterface Основные настройки инсталятора.
PackageInterface Интерфейс класса осуществляющего работу с установочным пакетом JCP.
PropertyInterface Интерфейс внесения изменений в property файл.
 

Class Summary
FileTools Утилиты для работы с файлами.
PropertyTools Класс внесения изменений в property файл.
SecurityProperties Функции обработки файла security.
SelfInstaller Инсталятор пакета: Installer.
ShellInstaller Вспомогательный класс для реализации установки пакета или набора пакетов, как из командной строки так и из Manifest.
VariantOne Инсталятор исполнения 1.
VariantTwo Инсталятор исполнения 2.
 

Exception Summary
ArgumentException Исключение о неправильно переденных параметрах.
ExpectedArgumentException Исключение: ожидается аргумент или один из аргументов.
ExpectedValueException Исключение: ожидается значение аргумента.
InvalidArgumentException Исключение: конфликтующий аргумент.
InvalidValueException Исключение: неправильное или отсутствующее значение.
 

Package ru.CryptoPro.Install Description

Пакет предназначен выполнения установки и удаления JCP.

Существуют следующие применения данного пакета.

Пакет так же предоставляет следующие классы для создания пакетов установки:

Для создания дополнительного пакета установки JCP необходимо реализовать интерфейс PackageInterface и создать функцию (обычно main) определяющую мастонахождение пакета и вызывающую ShellInstaller.makeActionNoEx с соответствующими параметрами. Функция может выглядеть например так:

    public static void main(String[] args) {
        // Получаем местонахождение JAR.
        URL url = (URL) AccessController.doPrivileged(new PrivilegedAction() {
            public Object run() {
                CodeSource cs = this.getClass().getProtectionDomain()
                        .getCodeSource();
                return cs != null ? cs.getLocation() : null;
            }
        });
        // И вызываем установку.
        boolean ret = ShellInstaller.makeActionNoEx(url,
                this.getClass().getName(), ALL_JARS, args);
        if( !ret ) System.exit(1);
    }

Создание пакета объединяющего установку JCP и других опциональных пакетов JCP осуществляется аналогично: определение местонахождения и вызов функции ShellInstaller.makeActionNoEx, с то лишь разницей, что в переменную известных классов необходимо передать имена классов установки соответствующих пакетов в виде строки имен классов установки пакета разделенных символом запятая.

Создание класса установки пакета без интерфейса пользователя аналогично созданию инсталятора для этого пакета, но в качестве списка аргументов (args) необходимо передать константу new String[]{ShellInstaller.SILENT_INSTALL} не задавливать исключения и не вызывать System.exit(1). Функция может выглядеть, например следующим образом:

    public static void main(String[] args)
            throws BackingStoreException, IOException,
            ArgumentException {
        URL url = (URL) AccessController.doPrivileged(new PrivilegedAction() {
            public Object run() {
                CodeSource cs = ManifestInstall.class.getProtectionDomain()
                        .getCodeSource();
                return cs != null ? cs.getLocation() : null;
            }
        });
        ShellInstaller
                .makeAction(url, this.getClass().class.getName(),
                        ALL_JARS,
                        new String[]{ShellInstaller.SILENT_INSTALL});
    }


Copyright Crypto-Pro.
All rights reserved.