Можно ли сгенерировать MSI-пакет из основного веб-приложения aspnet? - PullRequest
0 голосов
/ 01 июня 2018

Таким образом, текущая ситуация такова, что клиент загрузит пакет MSI, сгенерированный из wix, выполнит установку и после этого введет некоторые конкретные сведения о конфигурации в приложение (служба Windows / консоль).

Я былЯ хотел бы упростить этот процесс, чтобы все, что нужно сделать клиенту, это запустить установщик (без необходимости настройки), поэтому мне было интересно, есть ли у кого-нибудь опыт в подобной ситуации.

Вот как я представляю рабочий процессrun.

Пользователь входит в мультитенантное веб-приложение => Пользователь нажимает кнопку загрузки => Веб-сервер собирает информацию об арендаторе => Веб-сервер передает конфигурацию в wix (в качестве параметра сборки?) => генерируется msiс включенной конфигурацией => Пользователь загружает сгенерированный .msi, и мир продолжает вращаться.

Теперь есть несколько вещей, в которых я не уверен, поэтому вот мои вопросы.

  1. Как бы вы запустили установщик wix из веб-приложения?Он написан на C #, поэтому он просто запустит окно cmd и запустит msbuild?
  2. Если 1. возможно, как это будет выглядеть / функционировать в Visual Studio.Я предполагаю, что проект установщика / проект актива установщика оба должны быть в выводе сборки веб-приложения, возможно ли скопировать необработанные файлы в вывод?<= это даже хорошая практика? </li>

Это просто не кажется мне практичным, поэтому, если у кого-то есть какие-либо предложения о том, как это можно сделать, как я описал выше, или любые другие методытогда я открыт для идей!

Просто чтобы уточнить, главная цель - «создать установщик Windows во время выполнения со встроенной конфигурацией клиента»

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете сделать это из C # наверняка.Взгляните на расширения Wix для CakeBuild, например: https://github.com/cake-build/cake/tree/33b83fdbc24a7d3d1bafc4cd7c7df0a204162e3b/src/Cake.Common/Tools/WiX

Что касается упаковки файлов содержимого в ваше веб-приложение, вы также можете сделать это, файлы проекта wix ничем не отличаются от любого другого ресурсаЧто касается веб-сайта.

Кроме того, чтобы запустить процессы из приложения dot net, нужно выполнить кучу работы по перенаправлению и регистрации выходных данных, возможно, вы захотите взглянуть на некоторые пакеты обработки процессов.на Nuget, который может сделать это за вас.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...