|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Добрый день! Есть программа, exe-файл с зависимостями от dll'ек, присутствующих на компьютере разработчика. Нужно в командной строке выполнить нечто, что создаст msi, или что там нынче в windows принято - чтобы потом в авторprogram files создалась папка и сложился exe и все dll. В реестре и системе ничего делать не надо. Можно даже ставить программу "только для пользователя"- если такое возможно в windows (как в macos/linux). Главное, чтобы разработчику не надо было никаких "откройте окно, нажмите на кнопку"- сборка будет на CI-агенте. Ну и лицензия чистая- чтобы спокойно создавать коммерческое приложение. Что лучше использовать? PS: для умников- 15 лет не писал под windows и теперь это небольшая побочная работа. Что знал- давно забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 12:25 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey Tomin Добрый день! Есть программа, exe-файл с зависимостями от dll'ек, присутствующих на компьютере разработчика. Нужно в командной строке выполнить нечто, что создаст msi, или что там нынче в windows принято - чтобы потом в авторprogram files В реестре и системе ничего делать не надо. Можно даже ставить программу "только для пользователя"- если такое возможно в windows (как в macos/linux). Главное, чтобы разработчику не надо было никаких "откройте окно, нажмите на кнопку"- сборка будет на CI-агенте. Ну и лицензия чистая- чтобы спокойно создавать коммерческое приложение. Что лучше использовать? PS: для умников- 15 лет не писал под windows и теперь это небольшая побочная работа. Что знал- давно забыл. Выполнить нечто можно, но для начала надо написать файлы для инсталлятора *wxs и т.д., по которым нечто будет строить инсталлятор https://wixtoolset.org/ ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 13:06 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey TominЧто лучше использовать? Лично я предпочитаю ZIP/7Z файлы, а инструкция по установке сводится к "распакуйте архив в желаемую папку и всё, можете запускать". Если нужна более сложная логика при инсталляции - я использую InnoSetup. Если нужен именно MSI файл (например, для инсталляции через доменные политики), то WIX. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 13:10 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Код: powershell 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 13:29 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey Tomin, wix если без сильных наворотов. если не нужна официальная поддержка подсистемы MSI у форточек - то можно любым архиватором. но круг осей сужается, если например в будущем требуемая внешняя дэлеле претерпит изменения(названия, место жизни в пакете установки) - то архив вам скажет увы...официальное использование MSI подсистемы мелкомягких позволяет указать требования к внешнему окружению - ну а далее траблы юзвера всё это тащить. Ну или там хитрее логику можно наворачивать - как самому в дестрибутиве иметь необходимое, так и запрашивать из вэба. wix практически умеет всё, но порой не понятно как это надо написать чтоб случилось. в данном случае помогает анализ существующих пакетов (орка вам в помощь) ну и как у большого брата сделано - см. инстолл шилд... как то так (круглый) ЗЫ Да, чтоб без юая - то называется тихой установкой. обычно флажок silent по умолчанию поддерживается конструкторами инсталяторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.06.2020, 16:34 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Ролг Хупин Выполнить нечто можно, но для начала надо написать файлы для инсталлятора *wxs и т.д., по которым нечто будет строить инсталлятор https://wixtoolset.org/ Спасибо! Видимо, это лучший вариант. Dimitry Sibiryakov Alexey TominЧто лучше использовать? Лично я предпочитаю ZIP/7Z файлы, а инструкция по установке сводится к "распакуйте архив в желаемую папку и всё, можете запускать". Да, там вроде self-extract архивы есть. LGPL позволяет всё. Для начала так сделаю, хотя целевая аудитория- вот совсем чайники. Лучше если после скачивания достаточно ткнуть в "запустить", ткнуть "далее" и получить иконку где положено. Ну и мне полезно сделать так, чтобы винда не ругалась на опасную программу- может в магазин мелкомягих включить. Dima T Код: powershell 1.
Это ж платно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 12:27 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey TominЭто ж платно. Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 12:33 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Alexey TominЭто ж платно. Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают. Одно дело купить сертификат необходимый для распространиения. Другое- выбрать платный rar вместо свободного 7zip, или WIX. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 21:19 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Alexey TominЭто ж платно. Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают. Немного изучал эту тему - удовольствие недешевое, как понял в год обойдется порядка 40 т.р., но даже если деньги есть - сертификат купить проблематично если ты не юр.лицо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2020, 17:16 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Dima T Dimitry Sibiryakov пропущено... Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают. Немного изучал эту тему - удовольствие недешевое, как понял в год обойдется порядка 40 т.р., но даже если деньги есть - сертификат купить проблематично если ты не юр.лицо. Юрлицо, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 13:05 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
kolobok0 wix если без сильных наворотов. Спасибо, собрал дистрибутив. Только вот он включает только сам exe без dll, от которых он зависит. Если ли средство вложить в дистрибутив все dll? В macOS есть небольшая софтинка, которая всё делает. Wix или что-нибудь другое умеет так же? Так же, без всяких "нажмите кнопку" (только такое нагуглилось), а просто в скрипт сборки чтобы включить- и получить все dll в нужной попке и чтобы они Wix'ом собрались в MSI ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 17:22 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey Tomin Wix или что-нибудь другое умеет так же? Так же, без всяких "нажмите кнопку" (только такое нагуглилось), а просто в скрипт сборки чтобы включить- и получить все dll в нужной попке и чтобы они Wix'ом собрались в MSI Кажется вот решение: https://stackoverflow.com/questions/2580489/managing-dependency-hell-with-wix-and-c-sharp Доберусь до виндовой машины и попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 17:37 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey Tomin, да, конечно. всё умеет что MSI подсистема. ну или почти всё. скорее всего не прописаны бинари в таблице (простите я забыл названия уже - давно было дело). как лучше подходить к решению проблем (ну помимо гугла) = ставите инстолл шлд или орку. если первый - то там понтово нажимать кнопочки получать нужный результат - смотреть что в таблицах он пишет на автомате. если орку - то это лёгкая софтинка которой можно заглянуть в любой дистрибутив. вот так и делаете - заглядываете и ищите отличия от своего, после викса. где то будет таблица в которой вы увидите перечисление бинарей которые распаковываются. вот туда заносите свои (в эту таблицу, средствами wix прописываете то что нужно). опять собираете и получаете профит. (круглый) ЗЫ А ну да..глянул по гуглю..таблица так и называется - бинари или даже лучше отсюда ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 17:38 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey TominЕсли ли средство вложить в дистрибутив все dll? Это не так-то просто. Есть DLL, которые можно просто закинуть в каталог приложения и он будет их использовать. Есть DLL которые туда закинуть нельзя, а переписать их не выйдет, потому что они системные и уже кем-то используются. Есть DLL, которые вообще не будут работать без полной инсталляции пакета, которому принадлежат. Так что если ты искал кнопку "сделать всё", то обломись, так не получится. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 18:30 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Alexey TominЕсли ли средство вложить в дистрибутив все dll? Это не так-то просто. Есть DLL, которые можно просто закинуть в каталог приложения и он будет их использовать. Есть DLL которые туда закинуть нельзя, а переписать их не выйдет, потому что они системные и уже кем-то используются. Есть DLL, которые вообще не будут работать без полной инсталляции пакета, которому принадлежат. Так что если ты искал кнопку "сделать всё", то обломись, так не получится. Все мои dll работают, просто если из собрать в кучку и положить рядом с exe. Я это уже сделал, но это именно что собранные 10 dll'ек, безо всякой автоматики. Хочется повторить это одной консольной командой, как в macos (собственно приложение-то одно и то же на 80%, есть специфичный код и сборки под разные OS). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 19:24 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
kolobok0 ставите инстолл шлд или орку Что за орка, простите? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 19:25 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 21:15 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
kolobok0 Не понял, как это мне поможет. Мои зависимости установлены через msys2 . Orca про них не знает. Вообще я тормоз- в msys2 встроен сбор зависимостей, примерно так . А инсталятор лучше через inno-setup создавать. Он хотя бы умеет включать "все dll вон из той папки" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 12:00 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Alexey Tomin, орка - он работает с бд MSI . Если вы под форточки делаете , то официально - через службу MSI. Чем создан инсталляционный пакет - пофигу, хоть в своей программе. я подкидывал мысль, что учиться у других - оно так быстрее. помогает либо орка либо инстолл шилд (там можно до создания - глянуть куда и что он понапихал - в какие таблицы MSI). (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 22:04 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
Если я правильно понял задачу, то почитайте про Clickonce пакеты, для сборки оных использовал mageui ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 23:20 |
|
Создание дистрибутива из командной строки
|
|||
---|---|---|---|
#18+
vot_takoy Если я правильно понял задачу, то почитайте про Clickonce пакеты, для сборки оных использовал mageui Спасибо, но... автор...основанных на фреймворках Windows Forms или Windows Presentation Foundation. У меня нет винформс - так что мимо ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2020, 10:43 |
|
|
start [/forum/topic.php?fid=26&msg=39975095&tid=1492175]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 286ms |
0 / 0 |