Начальная загрузка MSI: внешние URL-адреса

Многочисленные поиски привели меня к тому, что я нашел несколько описаний того, как создать загрузочный msi, но все эти решения предполагают, что msi является локальным или стандартным компонентом Windows. Есть ли способ сделать msi, который загружает установщик (который также является msi) с обычным кодом MSI или Wix, а не заставлять загрузчик выполнять для этого какую-то неродную программу?


person Brian    schedule 31.10.2008    source источник


Ответы (4)


Мой опыт работы с msi показал, что невозможно запустить 2 одновременно. (хотя может и ошибся)

В итоге я вместо этого создал исполняемый файл установщика с помощью Inno Setup (http://www.jrsoftware.org) и ISTool (http://www.istool.org), который загружает и устанавливает различные msi. С ISTool это очень легко сделать.

Я знаю, что он не такой шикарный или сексуальный, как Wix, но мне он очень понравился.

person Community    schedule 31.10.2008
comment
да, вложенные MSI практически невозможно снять. MS утверждает, что вложенные установки или возможны, но их сложно настроить, и это может привести к другому поведению для пользовательских действий. - person Mike Marshall; 31.10.2008
comment
Да, использование лаунчера Inno Setup — это, вероятно, то, что я в конечном итоге сделаю, тем более что он у меня уже есть. Было намного проще просто создать установочный файл с помощью Inno Setup/ISTool :/ - person Brian; 31.10.2008

Я бы создал пользовательское действие, которое запускается в файле InstallUISequence. Это при необходимости загрузит MSI (в исходную папку), а затем попытается запустить его как вложенную установку.

person Martin v. Löwis    schedule 31.10.2008

Windows предотвращает одновременное выполнение двух установок в InstallExecuteSequence, поэтому, если вы ищете решение для автоматической установки с загрузчиком, вы SOL.

Однако вы можете запустить другую установку из последовательности пользовательского интерфейса, что, вероятно, является приемлемым решением, если вы сообщаете своим клиентам, что сначала должны быть установлены некоторые другие зависимости, если они собираются развертывать с помощью групповой политики или какой-то другой "тихий" метод.

Если это поможет, я уверен, что вы также можете вызвать MSIEXEC с URL-адресом, например. msiexec.exe /i http://some.domain/blah.msi /passive

person saschabeaumont    schedule 03.11.2008

Я бы посоветовал вам написать собственное приложение и запустить первый msi, а затем запустить второй msi. Я написал блог о том, как это сделать. Вот ссылка (http://blog.foldertrack.com/?p=45)

person Nick    schedule 18.07.2010