Как сделать MSI, который просто переносит EXE-файл

Было очень простое решение. Я только что инициализировал сервис записи, который поместил ноль в mediaRecorder mediaRecorder, так что после этого я не смог его повторно инициализировать. Устранение этого произошло с помощью намерения, вызвавшего onActivivtyResult (), в onCreate () действия перед запуском службы.

33
задан Stein Åsmul 3 August 2014 в 15:19
поделиться

3 ответа

Я думаю, что самый простой способ создать файл .MSI - использовать WiX .

Урок 1 из руководства по WiX - это все, что вам нужно для создания простая установка.

6
ответ дан 27 November 2019 в 19:30
поделиться

Ну, есть бесплатный способ и способ $$$. Я не могу задокументировать здесь все, но это должно помочь вам начать.

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

В любом случае, здесь:

Бесплатно: WiX ( здесь )

Это бесплатный инструмент для создания файлов MSI из набора файлов конфигурации XML. Я оставлю вас, чтобы найти учебные пособия в Интернете, но вот суть:

Вы можете сжать свой EXE в установщик, используя следующий тег в файле WXS:

<Binary Id="MYEXE" src="<path to my exe?"/>

Затем вы можете создать настраиваемое действие, которое запускает ваш EXE файл:

<CustomAction Id="EXECA_CALLMYEXE" Return="check" Execute="deferred" BinaryKey="MYEXE"
      ExeCommand="my command line"/>

Затем вы вставляете свое настраиваемое действие в InstallExecuteSequence в соответствующем месте (я почти всегда запускаю свое где-то между InstallInitialize и InstallFinalize )

<InstallExecuteSequence>
   <Custom Action="EXECA_CALLMYEXE" After="InstallInitialize"><![CDATA[Not REMOVE]]></Custom>

$ $$: Получите InstallShield ( ЗДЕСЬ )

Сначала создайте проект «Базовый MSI» и убедитесь, что вы хотите, чтобы не создавался setup.exe . Вы устанавливаете это в настройках Release.

Затем вы, по сути, делаете то же самое, что и с WiX, но у вас есть пользовательский интерфейс для этого.

  • Вы можете указать свой вспомогательный EXE-файл с помощью редактора Direct Editor и поместить свой EXE-файл в таблицу «Binary»
  • Вы можете создать настраиваемое действие для запуска этого EXE-файла из узла «Custom Actions» в дереве слева
  • Вы можете вставить настраиваемое действие, выбрав "
15
ответ дан 27 November 2019 в 19:30
поделиться

Джошуа, я очень хорошо понимаю ваше разочарование. MSI, мягко говоря, необычна - это совершенно новый подход к развертыванию. Тем не менее, при правильном применении MSI предлагает наилучшее развертывание, особенно для корпоративных клиентов.

Какие операции выполняет ваш установщик EXE? Это в основном копия файла, некоторая регистрация COM и некоторые записи в реестр, или это запускает сложную логику установки, настройку баз данных и т. Д.? Причина, по которой я спрашиваю, заключается в том, что, вероятно, было бы очень быстро создать для вас хорошо работающий WIX MSI, чтобы вы могли отказаться от подхода EXE.

Действительно, возможно запустить EXE из MSI, но это требует правильного секвенирования и гарантированно вызовет у вас больше неприятностей, чем простой MSI. Если приложение маленькое и не делает ничего сумасшедшего во время установки, Я был бы рад предоставить вам базовое преобразование WIX.

4
ответ дан 27 November 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: