powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание дистрибутива из командной строки
21 сообщений из 21, страница 1 из 1
Создание дистрибутива из командной строки
    #39973514
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Есть программа, exe-файл с зависимостями от dll'ек, присутствующих на компьютере разработчика.
Нужно в командной строке выполнить нечто, что создаст msi, или что там нынче в windows принято - чтобы потом в авторprogram files создалась папка и сложился exe и все dll.
В реестре и системе ничего делать не надо. Можно даже ставить программу "только для пользователя"- если такое возможно в windows (как в macos/linux).

Главное, чтобы разработчику не надо было никаких "откройте окно, нажмите на кнопку"- сборка будет на CI-агенте.
Ну и лицензия чистая- чтобы спокойно создавать коммерческое приложение.
Что лучше использовать?

PS: для умников- 15 лет не писал под windows и теперь это небольшая побочная работа. Что знал- давно забыл.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973540
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
Добрый день!

Есть программа, exe-файл с зависимостями от dll'ек, присутствующих на компьютере разработчика.
Нужно в командной строке выполнить нечто, что создаст msi, или что там нынче в windows принято - чтобы потом в авторprogram files
создалась папка и сложился exe и все dll.
В реестре и системе ничего делать не надо. Можно даже ставить программу "только для пользователя"- если такое возможно в windows (как в macos/linux).

Главное, чтобы разработчику не надо было никаких "откройте окно, нажмите на кнопку"- сборка будет на CI-агенте.
Ну и лицензия чистая- чтобы спокойно создавать коммерческое приложение.
Что лучше использовать?

PS: для умников- 15 лет не писал под windows и теперь это небольшая побочная работа. Что знал- давно забыл.

Выполнить нечто можно, но для начала надо написать файлы для инсталлятора *wxs и т.д., по которым нечто будет строить инсталлятор

https://wixtoolset.org/
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973543
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЧто лучше использовать?

Лично я предпочитаю ZIP/7Z файлы, а инструкция по установке сводится к "распакуйте архив в
желаемую папку и всё, можете запускать". Если нужна более сложная логика при инсталляции -
я использую InnoSetup. Если нужен именно MSI файл (например, для инсталляции через
доменные политики), то WIX.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973552
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: powershell
1.
rar -z
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973614
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

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

wix практически умеет всё, но порой не понятно как это надо написать чтоб случилось. в данном случае помогает анализ существующих пакетов (орка вам в помощь) ну и как у большого брата сделано - см. инстолл шилд...


как то так
(круглый)
ЗЫ
Да, чтоб без юая - то называется тихой установкой. обычно флажок silent по умолчанию поддерживается конструкторами инсталяторов.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973727
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Выполнить нечто можно, но для начала надо написать файлы для инсталлятора *wxs и т.д., по которым нечто будет строить инсталлятор
https://wixtoolset.org/


Спасибо! Видимо, это лучший вариант.

Dimitry Sibiryakov
Alexey TominЧто лучше использовать?

Лично я предпочитаю ZIP/7Z файлы, а инструкция по установке сводится к "распакуйте архив в
желаемую папку и всё, можете запускать".

Да, там вроде self-extract архивы есть. LGPL позволяет всё. Для начала так сделаю, хотя целевая аудитория- вот совсем чайники.
Лучше если после скачивания достаточно ткнуть в "запустить", ткнуть "далее" и получить иконку где положено.
Ну и мне полезно сделать так, чтобы винда не ругалась на опасную программу- может в магазин мелкомягих включить.

Dima T
Код: powershell
1.
rar -z



Это ж платно.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973730
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЭто ж платно.

Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973799
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Alexey TominЭто ж платно.

Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают.

Одно дело купить сертификат необходимый для распространиения.

Другое- выбрать платный rar вместо свободного 7zip, или WIX.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39973943
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Alexey TominЭто ж платно.

Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают.

Немного изучал эту тему - удовольствие недешевое, как понял в год обойдется порядка 40 т.р., но даже если деньги есть - сертификат купить проблематично если ты не юр.лицо.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974147
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Dimitry Sibiryakov

пропущено...

Сертификаты для подписи и "чтобы в магазин включить" тоже вроде бы нахаляву не раздают.

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


Юрлицо, конечно.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974701
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0

wix если без сильных наворотов.


Спасибо, собрал дистрибутив.

Только вот он включает только сам exe без dll, от которых он зависит.
Если ли средство вложить в дистрибутив все dll? В macOS есть небольшая софтинка, которая всё делает.

Wix или что-нибудь другое умеет так же? Так же, без всяких "нажмите кнопку" (только такое нагуглилось), а просто в скрипт сборки чтобы включить- и получить все dll в нужной попке и чтобы они Wix'ом собрались в MSI
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974712
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin
Wix или что-нибудь другое умеет так же? Так же, без всяких "нажмите кнопку" (только такое нагуглилось), а просто в скрипт сборки чтобы включить- и получить все dll в нужной попке и чтобы они Wix'ом собрались в MSI


Кажется вот решение: https://stackoverflow.com/questions/2580489/managing-dependency-hell-with-wix-and-c-sharp
Доберусь до виндовой машины и попробую.
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974713
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

да, конечно. всё умеет что MSI подсистема. ну или почти всё. скорее всего не прописаны бинари в таблице (простите я забыл названия уже - давно было дело).

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

(круглый)
ЗЫ
А ну да..глянул по гуглю..таблица так и называется - бинари
или даже лучше отсюда
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974742
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominЕсли ли средство вложить в дистрибутив все dll?

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

Так что если ты искал кнопку "сделать всё", то обломись, так не получится.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974765
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Alexey TominЕсли ли средство вложить в дистрибутив все dll?

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

Так что если ты искал кнопку "сделать всё", то обломись, так не получится.

Все мои dll работают, просто если из собрать в кучку и положить рядом с exe.
Я это уже сделал, но это именно что собранные 10 dll'ек, безо всякой автоматики.
Хочется повторить это одной консольной командой, как в macos (собственно приложение-то одно и то же на 80%, есть специфичный код и сборки под разные OS).
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974767
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
ставите инстолл шлд или орку


Что за орка, простите?
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974789
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

редактор
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39974865
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolobok0
Alexey Tomin,

редактор


Не понял, как это мне поможет.
Мои зависимости установлены через msys2 . Orca про них не знает.

Вообще я тормоз- в msys2 встроен сбор зависимостей, примерно так .

А инсталятор лучше через inno-setup создавать. Он хотя бы умеет включать "все dll вон из той папки"
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39975077
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

орка - он работает с бд MSI . Если вы под форточки делаете , то официально - через службу MSI. Чем создан инсталляционный пакет - пофигу, хоть в своей программе.

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

(круглый)
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39975095
vot_takoy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял задачу, то почитайте про Clickonce пакеты, для сборки оных использовал mageui
...
Рейтинг: 0 / 0
Создание дистрибутива из командной строки
    #39975242
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vot_takoy
Если я правильно понял задачу, то почитайте про Clickonce пакеты, для сборки оных использовал mageui


Спасибо, но...

автор...основанных на фреймворках Windows Forms или Windows Presentation Foundation.

У меня нет винформс - так что мимо
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание дистрибутива из командной строки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]