Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Кто обновлял свою прогу по интернету?

404  1 2 все
AlexNek патриот29.08.18 23:29
AlexNek
NEW 29.08.18 23:29 

Нашел кучу ссылок, но нет времени все пробовать.

Что посоветуете из того что сами лично пользуете/пробовали?

#1 
  ilghiz знакомое лицо29.08.18 23:45
NEW 29.08.18 23:45 
в ответ AlexNek 29.08.18 23:29

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

#2 
AlexNek патриот29.08.18 23:54
AlexNek
NEW 29.08.18 23:54 
в ответ ilghiz 29.08.18 23:45, Последний раз изменено 30.08.18 00:06 (AlexNek)

Не, не Винда и .NET

Не хочу изобретать велосипед. В принципе, 1я же ссылка понравилась

https://github.com/ravibpatel/AutoUpdater.NET

Но в примере, прога не обновляется

И нужно только заменить один набор файлов в каталоге другими, никаких инсталлеров пока.

#3 
Программист коренной житель30.08.18 07:55
NEW 30.08.18 07:55 
в ответ AlexNek 29.08.18 23:29

Не понимаю проблему :)

Зачем изобретать велосипед, когда существует Windows Installer?


Собственно говоря, а какая разница обновлять ли через интернет или с флэшки? :) При обновлении через интернет добавляется одна компонента - веб сервис, который делает 2 вещи: 1) проверяет требуется ли обновление и 2) отдает ссылку на новую версию. Ну и клинская часть этой компоненты.

#4 
Murr патриот30.08.18 09:49
Murr
NEW 30.08.18 09:49 
в ответ ilghiz 29.08.18 23:45

и после этого ручками

------

Епрст...

Вопрос же не об том, как это сделать руками - вопрос об том, как обновить версию у пользователя, без пользователя и при том, что система пашет 24/7...

#5 
Murr патриот30.08.18 09:51
Murr
NEW 30.08.18 09:51 
в ответ AlexNek 29.08.18 23:29

Пользую

ClickOnce


Не могу сказать что доволен, но работает. По крайней мере - во внутренней сети - работает.

#6 
Murr патриот30.08.18 10:11
Murr
NEW 30.08.18 10:11 
в ответ Программист 30.08.18 07:55

а какая разница обновлять ли через интернет или с флэшки? :)

-----

Да почти никакой.

Вот у меня что-то зарелизилось. Такое случается раз в пару дней, а то и пару раз в день - бо, багов много.

Схватил флешку и побежал.

15-20 рабочих мест, на каждом - своя конфигурация. Где-то часа 2-3 беготни по заводу... это без тех, что за бугром.

Потом выяснилось - пофикшено одно, но выползло другое...

Бегаешь с откатом....

А день - потерян.


веб сервис, который делает 2 вещи

-----

Именно это и делает ClickOnce.

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

И бодаться с инсталляторами не надо - все настраивается в деплойменте, стандартно в Студии.

Есть проблема - протоколы не всегда совместимы, но можно деплоить более ранней версией Студии.

Один минус - если приложение большое и требуется апдейт - будет задержка...


#7 
Программист коренной житель30.08.18 10:48
NEW 30.08.18 10:48 
в ответ Murr 30.08.18 09:49
вопрос об том, как обновить версию у пользователя, без пользователя и при том, что система пашет 24/7

Для этого есть специальный софт. Например System Center Configuration Manager.

#8 
Программист коренной житель30.08.18 10:58
NEW 30.08.18 10:58 
в ответ Murr 30.08.18 10:11
Да почти никакой.
...
А день - потерян.

Твоя проблема решается подключением System Center Configuration Manager'а и это не имеет ничего общего с установкой через интернет.

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

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


#9 
Murr патриот30.08.18 11:01
Murr
NEW 30.08.18 11:01 
в ответ Программист 30.08.18 10:48

Угу...

Только вот какая штука - это уже далеко не первое решение по деплойменту.

И наверняка в нем, помимо необходимости изучения особенностей, есть свои

баги/проблемы.

Есть ли смысл его изучать?

За всех - не скажу - видимо для кого-то есть, но для меня - избыточно.

Что у AlexNek - не знаю - придет - расскажет.

#10 
Murr патриот30.08.18 11:15
Murr
NEW 30.08.18 11:15 
в ответ Программист 30.08.18 10:58

Твоя проблема решается

-----

Использованием ClickOnce.

Остальное - избыточно.


решается подключением System Center Configuration Manager

-----

Ты таки полагаешь, что Я буду изучать что это такое и что-то менять в РАБОТАЮЩЕМ ПРОИЗВОДСТВЕ?

Да упаси господи от такого.

Вот прикажут поменять - тогда деваться некуда - буду исследовать как это поделие взаимодействует, скажем,

с Вин98... есть и такой зверик в нашем зоопарке.

Понимаешь?


в том же MSI есть патчи

-----

А насколько сложно представить, что прогер никогда не занимался MSI?



косяк того, кто собрал этот инсталлятор

-----

Ну да - мой косяк...

И лег он поверх модификации 2Гб ВБ6-лике (спагетти) кода.

Блин, тут голова и так пухнет от разбора недокументированного спагетти, а надо еще с инсталляторами возится.

Пофикшено? Да. Задеплоилось? Да! По клиентам разойдется? ДА! Все, отвалите, мне следующий кусок дрьма грызть!!!

#11 
Программист коренной житель30.08.18 11:50
NEW 30.08.18 11:50 
в ответ Murr 30.08.18 11:15

Честно говоря нет желания спорить :)


Есть инструмент. Инструмент качественный. Да, надо кое-что изучить, чтобы этим инструментом пользоваться.

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


А используешь ты этот инструмент или нет - решать, безусловно, тебе. Но если ты решил не использовать этот инструмент, то не надо петь песни о том, как сложно апдейтить твою прогу с 2Гб исходников :)

#12 
Murr патриот30.08.18 13:15
Murr
NEW 30.08.18 13:15 
в ответ Программист 30.08.18 11:50

решать, безусловно, тебе.

-----

Не-а, решать - начальникам, которые пока не знают об том, что такой инструмент есть. И слава богу...

А Я... Я уж как-нибудь откачу буилд в КликОнце...

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

#13 
Murr патриот30.08.18 15:47
Murr
30.08.18 15:47 
в ответ Murr 30.08.18 13:15

А все же оно в очередной раз глюкнуло - файлов в системе вообще нет... хммм

#14 
AlexNek патриот30.08.18 21:34
AlexNek
NEW 30.08.18 21:34 
в ответ Программист 30.08.18 10:48
System Center Configuration Manager.


Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. - спасибо замечательное требование

Не удивлюсь если под это и выделенный сервак надо ставить


Но срочность отпала, рабочие компы не имеют выхода в интернет.

#15 
Программист коренной житель31.08.18 08:08
NEW 31.08.18 08:08 
в ответ AlexNek 30.08.18 21:34
Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. - спасибо замечательное требование

Не понял, а чего странного в этом требовании? Или ты думал, что все конфигурации хранятся в xml-файлах (и то только из-за того, что ini уже умер? :) )

Ну и не понятно, почему ты не дочитал этот абзац до конца?

Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. Сайты могут подразделяться на административные (Administrative Site), основные (Primary Site) и дополнительные (Secondary Site), в SCCM 2012 все сайты имеют собственную базу данных.
#16 
AlexNek патриот31.08.18 17:54
AlexNek
NEW 31.08.18 17:54 
в ответ Программист 31.08.18 08:08

все равно не могу понять зачем мне этот монстр?

https://docs.microsoft.com/en-gb/sccm/core/plan-design/cha...


Когда можно закинуть два файла на сервер и усё..


#17 
AlexNek патриот01.09.18 10:27
AlexNek
NEW 01.09.18 10:27 
в ответ Murr 30.08.18 09:51
Не могу сказать что доволен, но работает

А что не нравится? nuget.exe пробовал? сейчас вот играюсь

#18 
Murr патриот01.09.18 10:58
Murr
NEW 01.09.18 10:58 
в ответ AlexNek 01.09.18 10:27

А что не нравится?

-----

Там протоколы не всегда совпадают.

У меня зоопарк по технике. Где-то - новое, где-то - старое. Где-то встанет с полутыка, где-то и шаманство не поможет.

Я держу Студию 2010 на виртуалке для деплоймента - там все старое и деплоится+ставится без проблем.

Но это - дополнительные телодвижения как по Студии, так и по виртуалке.

#19 
AlexNek патриот04.09.18 22:18
AlexNek
NEW 04.09.18 22:18 
в ответ AlexNek 29.08.18 23:29

Исходя из ситуации ограниченного доступа в интернет, получилось следующее:

Для обновы создается нугет пакет, который пересылается по почте, после приема файлы "складываются" в репозиторий на сервере клиента.

Каждая прога может запросить список обновлений и обновить себя на любую доступную версию по выбору клиента.

При реализации вылезло просто море ньюансов.

#20 
1 2 все