Есть инсталятор, сделанные на Windows Installer. (Точнее, на WIX)
Он ставит некий софт. Хочется добавить к нему следующую фичу:
Если рядом с msi есть каталог Addons, то инсталятор смотрит туда и вычитывает список его дочерних каталогов. В каждом каталоге есть специальный ini файл, указывающий что это за плагин (его имя и путь к msi файлу, ставящему этот плагин.) Далее, инсталятор должен видимо добавить инфу об этом плагине в таблицу Features или еще куда-то. После этого, если пользователь выбрал Custom install, то он должен иметь возможность выбирать не только стандартные фичи продукта, но и те плагины, которые инсталятор нашел. После того, как он все выбрал, указанные плагины должны поставиться. Подскажите плиз, как это лучше сделать? Или как это вообще сделать?
Здравствуйте, Lonely Dog, Вы писали:
LD>Если рядом с msi есть каталог Addons, то инсталятор смотрит туда и вычитывает список его дочерних каталогов. В каждом каталоге есть специальный ini файл, указывающий что это за плагин (его имя и путь к msi файлу, ставящему этот плагин.) Далее, инсталятор должен видимо добавить инфу об этом плагине в таблицу Features или еще куда-то. После этого, если пользователь выбрал Custom install, то он должен иметь возможность выбирать не только стандартные фичи продукта, но и те плагины, которые инсталятор нашел. После того, как он все выбрал, указанные плагины должны поставиться. Подскажите плиз, как это лучше сделать? Или как это вообще сделать?
Это делается не в самом инсталляторе, а в бутстраппере. Это — обычная программа, написанная на чем удобно. Она проверяет все условия и ставит по очереди программу и плагины.
Здравствуйте, Михаил Можаев, Вы писали:
ММ>Это делается не в самом инсталляторе, а в бутстраппере. Это — обычная программа, написанная на чем удобно. Она проверяет все условия и ставит по очереди программу и плагины.
Я хочу, чтобы плагины можно было выбирать на этапе установки софта. Кроме того, есть ведь еще и установка продукта через групповые политики AD. При этом указывается только MSI. Как быть в этом случае?
Здравствуйте, Lonely Dog, Вы писали:
LD>Есть инсталятор, сделанные на Windows Installer. (Точнее, на WIX) LD>Он ставит некий софт. Хочется добавить к нему следующую фичу: LD>Если рядом с msi есть каталог Addons, то инсталятор смотрит туда и вычитывает список его дочерних каталогов. В каждом каталоге есть специальный ini файл, указывающий что это за плагин (его имя и путь к msi файлу, ставящему этот плагин.) Далее, инсталятор должен видимо добавить инфу об этом плагине в таблицу Features или еще куда-то. После этого, если пользователь выбрал Custom install, то он должен иметь возможность выбирать не только стандартные фичи продукта, но и те плагины, которые инсталятор нашел. После того, как он все выбрал, указанные плагины должны поставиться. Подскажите плиз, как это лучше сделать? Или как это вообще сделать?
Сделать можно — в том же WiX. Пишите Custom Actions, читайте SDK. Или вы хоетли получить примеры кода? Тогда задавайте более конкретные вопросы.
Например, здесь описаны примеры доступа к базе MSI-пакета на этапе установки (собственно когда требуется добавлять запись в таблицы — хотя я несколько сомневаюсь, что потребуется именно этот способ).
Далее, нужно смотреть что представляют из себя эти Addons — или это исполняемые файлы, подерфивающие автоинсталляцию, или же это просто россыпь файлов, которую нужно скопировать в определеное место... Требуется разработка.
Здравствуйте, nesesser, Вы писали:
N>Сделать можно — в том же WiX. Пишите Custom Actions, читайте SDK. Или вы хоетли получить примеры кода? Тогда задавайте более конкретные вопросы.
Примеры предпочитетельнее.
N>Например, здесь описаны примеры доступа к базе MSI-пакета на этапе установки (собственно когда требуется добавлять запись в таблицы — хотя я несколько сомневаюсь, что потребуется именно этот способ).
Спасибо за статью.
N>Далее, нужно смотреть что представляют из себя эти Addons — или это исполняемые файлы, подерфивающие автоинсталляцию, или же это просто россыпь файлов, которую нужно скопировать в определеное место... Требуется разработка.
Давайте будем считать что это ini файл содержащий имя аддона, его описание и MSI его устанавливающий.
Здравствуйте, Lonely Dog, Вы писали:
LD>Давайте будем считать что это ini файл содержащий имя аддона, его описание и MSI его устанавливающий.
Если у вас уже есть MSI для установки, то возможно придется использовать Nested Installation Actions (см. топик в SDK). Помоему, штука очень загадочная (ну, потому что я не работал с ней еще). Удачи.