Skip navigation links
JCP Module Installer.
Public API.

Package ru.CryptoPro.Install

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

See: Description

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});
    }
Skip navigation links
Copyright Crypto-Pro.
All rights reserved.