Это должно быть просто, но, похоже, совсем не так.
Я хочу создать установщик, который может использоваться теми, кто использует групповые политики для установки продуктов. Тогда я не знаю, должен ли это быть MSI или EXE. Можно ли установить EXE с помощью групповой политики? Я поболтал с другим новичком Wix, который, похоже, подумал, что установка инсталляции в виде простого файла MSI — плохая идея.
Мой продукт использует распространяемые файлы Visual C ++ 2010. Я не хочу использовать модули слияния. И то и другое этот а также этот ссылка дает некоторые недостатки их использования. Я возражаю против 1) установки вещей, на которые пользователь не дал согласия, и 2) отсутствия элемента для удаления панели управления с номером версии, который пользователи могут проверить и проверить, установлена ли у них последняя версия. Таким образом, меня не интересуют ответы, состоящие из людей, которые читают мне лекции о том, почему я должен использовать модули слияния. Если то, что я прошу, действительно невозможно без модулей слияния, объясните, пожалуйста, почему.
Я не знаю, нужно ли использовать загрузчик для запуска установки EXE. Я понимаю, что это так, но мне кажется странным, что MSI с такими задействованными таблицами и описаниями не в состоянии запустить простой EXE, при условии, что распространяемый пакет еще не установлен.
Если необходимо использовать загрузчик, я хотел бы знать, может ли кто-нибудь найти полный пример, как с загрузчиком, так и с кодом Wix, для примера установки продукта; в идеале, вместе с командными строками, необходимыми для их компиляции, для такого распространенного случая, как установка программы VC ++ 2010 (или, возможно, 2012), вместе с ее распространяемой программой, причем последняя устанавливается как EXE.
Я обнаружил, что это просто и легко сделать в Inno Setup Pascal — за исключением части групповой политики. Я нашел что-то кроме ПОЛНЫХ примеров и / или простых объяснений, чтобы выполнить это с помощью установщика Microsoft. Независимо от того, что говорит Microsoft, я бы посоветовал такой установщик как лучшие практики. Мой код не управляется, и я хотел бы поддержать XP. Таким образом, загрузчик, который требует, чтобы какой-то .net уже был установлен, только добавил бы еще один нерешенный уровень сложности к проблеме. Тот, который статически ссылается на библиотеку .net, может быть не так уж и плох, если он не создает слишком много накладных расходов. Моя установка MSI, кажется, работает довольно хорошо. Я не понимал, что установка vcredist_x86.exe будет проблемой с таким неуловимым решением. У меня нет Visual Studio. Я использую инфраструктуру Qt, и Visual Studio установлена только для компиляции моего приложения. Если у вас есть решение для загрузчика, укажите, какой загрузчик вы используете. В идеале, одна и та же идея может быть распространена на более чем одно предварительное условие, и может использоваться один и тот же шаблон кодирования. Если бы был способ использовать модуль слияния или дополнительный MSI, чтобы распространяемый файл имел собственную запись панели управления, это было бы приемлемо.
Брауни указывает на то, что он предлагает список рассылки, форум или популярный канал чата, чтобы поговорить о Wix, который не требует получения большого количества ненужного трафика в списке рассылки.
Групповые политики по умолчанию не позволяют устанавливать EXE-файлы. Я читал о некоторых администраторах, которые перепаковывают EXE-файлы в MSI для развертывания их через GPO, но это довольно странно. Существует также возможность сценария развертывания — GPO поддерживают выполнение сценариев на уровне компьютера или пользователя.
Вы не можете встроить MSI в другой MSI, потому что в любой момент может выполняться только одна установка (проект установщика Windows).
Я не знаю, как вы будете предоставлять свой продукт своим клиентам, но vcredist_x86.exe (я пытаюсь сделать это с версией v100) распаковывает в корневую папку и генерирует msi и cab (vc_red.msi и vc_red.cab) среди других файлов. Если вы предоставляете их своим клиентам, они могут добавить их в тот же объект групповой политики, который использовался для развертывания вашего продукта.
Других решений пока нет …