Действительно ли выполнимо/разумно перенести установщик Установки Inno в MSI для более легкого распределения через AD?

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
25
задан Martin Prikryl 19 September 2018 в 12:58
поделиться

8 ответов

Нет, нет никакого способа сделать это, все еще сохраняя функциональность Ваши клиенты 'неявно' просят. Единственное 'обертывание' в MSI, который можно сделать, должно извлечь его на установке и запустить установщик InnoSetup с временного местоположения, где Вы извлекли к. MSI является существенно различным способом работать: InnoSetup (& NSIS & большинство других установщиков), проявляют центральный кодом подход: Вы 'программируете' 'шаги' для установки данных. MSI является базой данных и проявляет 'информационно-центрический' подход: Вы указываете на то, какие файлы должны быть установлены, и MSI 'время выполнения' делает остальных. Это дает Вам управление версиями и точное управление того, что идет где.

Короче говоря, чтобы дать Вашим клиентам, что они хотят (т.е. простота развертывания, которое MSI приносит с AD), Вам будет нужен 'надлежащий' MSI. Удача с этим, это - сильная боль, по моему скромному мнению. Но это действительно дает хорошие результаты, как только Вы осваиваете MSI & WiX.

17
ответ дан Jens A. Koch 28 November 2019 в 21:39
поделиться

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

Много пакетов установщика запустили MSI 'поддержка' таким образом, хотя: InstallShield сделал, например. Это - главная причина, я вывел их, потому что установщики, сделанные таким образом, бесполезны в целях MSI. Я не знаю, являются ли последние версии InstallShield лучшим, прошлым разом, когда я проверил, был 5 лет назад.

1
ответ дан Roel 28 November 2019 в 21:39
поделиться

Его довольно легкое для создания набора обертки, который автоматически устанавливает INNOSETUPper от MSI. Для основной функциональности (установка/удаление) это достаточно. Большинство setuppers не реализует восстановление так или иначе.

  1. создают сценарий silent.inf для Установки INNO (дополнительно)

  2. , создают install.bat, который звонит

    myinnosetup.exe / тихий/NOCANCEL/norestart / Компоненты = "xxx"

    , можно использовать/verysilent
    , можно загрузить настройки из silent.inf с/LOADINF =, "silent.inf"

  3. создает файл настройки MSI, который звонит, install.bat (с параметрами при необходимости)

  4. поставляет все 4 файла клиенту, и они могут развернуть Inno setupper с SMS или ActiveDirectory, и все счастливы:)

1
ответ дан Tom 28 November 2019 в 21:39
поделиться

Я утверждал бы, что возможно сделать все, что Вы хотели бы с MSI перенесенную Установку Inno, но это совсем не тривиально, и использование, WiX мог бы сделать эту конкретную задачу более трудной. Короче говоря я действительно не рекомендовал бы это.

, Но если действительно требуется...

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

, Если Вы используете Мудрый, Вы генерируете сценарии по умолчанию, к которым можно затем добавить условия Windows Installer и управлять событиями до более прекрасного градуса (Установка, восстановить, изменить, удаление) так, чтобы они назвали эквивалентные действия со сценарием установки Установки Inno, который должен был бы быть установлен в и сохранен во временной папке.

1
ответ дан Rob Hunter 28 November 2019 в 21:39
поделиться

Выполнение так было бы в значительной степени эквивалентно поставке zip-файла, и вызов разархивировали к концу установки.

С таким AD подхода и Windows Installer дурачился бы, как будто имея дело с надлежащей установкой MSI, но как это не имеет место, они имели бы неприятные последствия для Вас в самом первом случае.

не идут этим путем.

И WiX превосходящий комплект инструментальных средств к InnoSetup, так или иначе, таким образом, время, которое Вы проведете на изучении и портировании, окупится лучшей поддержкой сотрудничества.

0
ответ дан Vytautas Shaltenis 28 November 2019 в 21:39
поделиться

хотя последний комментарий выполним и осуществим, перемещение в MSI является лучшим способом обработать это.

почти все крупные организации предусматривают MSI только, существуют множества причин почему.

1) сначала простота развертывания, 2) более важного для некоторых, общительность приложения 3) сам исцеление

, установка inno и другие такие инструменты, не реализовывая Windows Installer просто не могут предложить общительность приложения теми же способами как установщик Windows.

необходимо понять, что установка Inno является программным обеспечением, разработанным для развертывания отдельного приложения.

Windows Installer является всей платформой для контакта с общительностью, пользовательским олицетворением, пользовательским повышением, сам исцеление, профиль пользователя договаривается.

Они два даже не удаленно близки в функциональности, inno установка в моем уме полностью и крайне путь от курса с точки зрения сравнения с установщиком Windows.

это может создать успешные установщики? да действительно ли это просто в использовании? да это создает хорошие единственные установщики? да действительно ли это - лучший выбор для предприятия? никакой

самые ранние инструменты, разработанные Microsoft ", Установщик SMS" был innosetup 10 лет назад. Вещи изменились решительно в мире установки, и установка inno просто не не отставала от темпа того изменения.

0
ответ дан 28 November 2019 в 21:39
поделиться

Мне нужно ввести значение custom в файле silent.inf (а не постоянное значение настройки inno), похоже, что LOADINF позволяет это.

Примечание: если вы используете makemsi, вы делаете это не обязательно включать летучую мышь, так как вы можете использовать $ WrapInstall.

0
ответ дан 28 November 2019 в 21:39
поделиться

Нет смысла смешивать технологии установки.

Если вы смешиваете, у вас первая проблема с деинсталляцией. без изменений вы получаете 2 деинсталлятора вашей программы.

В "Entwickler Magazin" есть статьи, начинающиеся с установщика Windows.

  • Entwickler Magazin (Ausgabe: 03.09 / 15.04.2009) Статья: MSI-Pakete mit Open-Souce-Software erzeugen Teil 4
  • Entwickler Magazin (Дата выхода: 02.09 / 12.02.2009) Статья: Пакет MSI с программным обеспечением с открытым исходным кодом erzeugen Teil 3
  • Entwickler Magazin (Выпуск: 01.09 / 10.12.2008) Статья: Пакет MSI с программным обеспечением с открытым исходным кодом erzeugen Teil 2
  • Entwickler Magazin (Ausgabe: 06.08 / 15.10.2008) Статья: MSI-Pakete mit Open-Souce-Software erzeugen

http://entwickler-magazin.de/

Установщик Windows должен быть единственной технологией для ваших установок. его будущее доказательство и его стабильность!

1
ответ дан 28 November 2019 в 21:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: