Как собрать пакет MSI на сервере Linux? - PullRequest
0 голосов
/ 22 января 2019

У меня есть приложение для рабочего стола Windows, которое в настоящее время доступно на сервере Linux для загрузки на компьютере пользователя. Я хочу автоматизировать процесс упаковки MSI на том же сервере Linux , используя любой EXE / DLL .

У меня есть App.exe и App.txt файл. Некоторая информация должна быть прочитана из текстового файла и вставлена ​​в exe перед созданием пакета MSI . Весь этот процесс должен происходить динамически на сервере Linux только после того, как пользователь нажмет на загрузку.

Кто-нибудь может указать мне правильное направление относительно того, как я могу достичь своей цели? Я хочу добиться того же, имея минимальные зависимости от любого дополнительного / стороннего инструмента. TIA на любое время и усилия.

p.s - Я провел несколько НИОКР по различным установщикам, но ни один из них не соответствовал критериям, поскольку у них слишком много зависимостей.

1 Ответ

0 голосов
/ 23 января 2019

Ложно-положительный риск : создание нового двоичного файла для каждого пользователя может показаться очень неразумным из-за сканеров вредоносных программ и их способности распознавать «известные» версии двоичных файлов (по хешу) ).

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

Цифровые подписи могут помочь, но они являются просто гарантией того, что вы выполнили настройку, а не гарантией того, что в настройке нет ничего вредного. Нет ничего хуже, чем подписанные вредоносные векторы. На самом деле это доказательство того, что вредоносная программа пришла от вас :-). Примечание: некоторые люди даже могут подделать подписанные исполняемые файлы . Сочетание последних двух фактов очень тревожно.


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


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

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

msiexec.exe /i myinstaller.msi ADDLOCAL="Program,Dictionaries" SERIALKEY="1234-1234" /qn

Преобразование : Вы также можете создать преобразование, содержащее параметры (преобразование представляет собой крошечный фрагмент MSI с настройками и изменениями исходного MSI):

msiexec.exe /i myinstaller.msi TRANSFORMS="mytransform.mst" /qn

Преобразование будет сложно создать в Linux-системе, поскольку это файлы хранения с COM-структурой, родные только для Windows. Я не уверен, возможно ли это, но возможно.


Некоторые ссылки :

...