Настройте пакет .msi из веб-приложения ASP.NET - PullRequest
0 голосов
/ 21 декабря 2011

Позвольте мне объяснить мою ситуацию.Мне нужно распространять установочный пакет Windows (тип .msi) через мое веб-приложение (написанное на C # для ASP NET), но мне нужно динамически изменить этот пакет .msi из моего веб-приложения перед его загрузкой.А именно, пакет msi добавляет определенные значения в реестр Windows во время установки, поэтому мне нужно установить эти значения из моего веб-приложения.

Возможно ли это, и если да, то как мне это сделать?

Ответы [ 3 ]

1 голос
/ 21 декабря 2011

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

Это не слишком медленно, но я бы не стал использовать его с 10 000 загрузок в день.

1 голос
/ 21 декабря 2011

Ваше приложение может редактировать MSI-файл напрямую, например, используя Библиотека DTF поставляется с WIX (http://wix.codeplex.com). Вы можете параметризовать существующие элементы реестра, используя свойства и изменяя их значения по умолчанию в таблице свойств, или просто добавляя новые строки в таблицу реестра.

В любом случае - для этого вам понадобятся некоторые знания о базах данных установщика Windows и установщика (MSI-файлы). Все общие таблицы документированы здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/aa368259(v=VS.85).aspx

1 голос
/ 21 декабря 2011

Я снимаю здесь, но как насчет того, чтобы собрать проект установки с файлом ресурсов.Пусть проект MSI прочитает файл ресурсов для значений реестра.Напишите что-нибудь, что записывает / вставки в файл ресурсов и вызывает MSBuild (через класс Process) для создания MSI по мере необходимости.

Я почти уверен, что это не масштабируется, но может быть решением для вас?

...