Кто обновлял свою прогу по интернету?
Нашел кучу ссылок, но нет времени все пробовать.
Что посоветуете из того что сами лично пользуете/пробовали?
Если на ембеддед линуксе, то wget, вызванный из сишника и после этого ручками системными командами проинсталлированный куда надо, так чтоб старая версия, при необходимости тоже откатывалась. У юзера - только одна кнопка, обновить или нет, а после обновления еще кнопка - откатиться на старую версию.
Не, не Винда и .NET
Не хочу изобретать велосипед. В принципе, 1я же ссылка понравилась
https://github.com/ravibpatel/AutoUpdater.NET
Но в примере, прога не обновляется
И нужно только заменить один набор файлов в каталоге другими, никаких инсталлеров пока.
Не понимаю проблему :)
Зачем изобретать велосипед, когда существует Windows Installer?
Собственно говоря, а какая разница обновлять ли через интернет или с флэшки? :) При обновлении через интернет добавляется одна компонента - веб сервис, который делает 2 вещи: 1) проверяет требуется ли обновление и 2) отдает ссылку на новую версию. Ну и клинская часть этой компоненты.
а какая разница обновлять ли через интернет или с флэшки? :)
-----
Да почти никакой.
Вот у меня что-то зарелизилось. Такое случается раз в пару дней, а то и пару раз в день - бо, багов много.
Схватил флешку и побежал.
15-20 рабочих мест, на каждом - своя конфигурация. Где-то часа 2-3 беготни по заводу... это без тех, что за бугром.
Потом выяснилось - пофикшено одно, но выползло другое...
Бегаешь с откатом....
А день - потерян.
веб сервис, который делает 2 вещи
-----
Именно это и делает ClickOnce.
Автоматически проверяет все указанное... а так же проверяет есть ли на компе необходимые компоненты и доинсталливает их.
И бодаться с инсталляторами не надо - все настраивается в деплойменте, стандартно в Студии.
Есть проблема - протоколы не всегда совместимы, но можно деплоить более ранней версией Студии.
Один минус - если приложение большое и требуется апдейт - будет задержка...
вопрос об том, как обновить версию у пользователя, без пользователя и при том, что система пашет 24/7
Для этого есть специальный софт. Например System Center Configuration Manager.
Да почти никакой.
...
А день - потерян.
Твоя проблема решается подключением System Center Configuration Manager'а и это не имеет ничего общего с установкой через интернет.
Во-вторых, в том же MSI есть патчи. Удобная штука, особенно если надо накатить или откатить какое-то изменение.
В-третьих, вменяемый инсталлятор вообще никак не затрагивает конфигурацию. Поэтому если у тебя при установке апдейта слетает конфигурация - это косяк того, кто собрал этот инсталлятор.
Угу...
Только вот какая штука - это уже далеко не первое решение по деплойменту.
И наверняка в нем, помимо необходимости изучения особенностей, есть свои
баги/проблемы.
Есть ли смысл его изучать?
За всех - не скажу - видимо для кого-то есть, но для меня - избыточно.
Что у AlexNek - не знаю - придет - расскажет.
Твоя проблема решается
-----
Использованием ClickOnce.
Остальное - избыточно.
решается подключением System Center Configuration Manager
-----
Ты таки полагаешь, что Я буду изучать что это такое и что-то менять в РАБОТАЮЩЕМ ПРОИЗВОДСТВЕ?
Да упаси господи от такого.
Вот прикажут поменять - тогда деваться некуда - буду исследовать как это поделие взаимодействует, скажем,
с Вин98... есть и такой зверик в нашем зоопарке.
Понимаешь?
в том же MSI есть патчи
-----
А насколько сложно представить, что прогер никогда не занимался MSI?
косяк того, кто собрал этот инсталлятор
-----
Ну да - мой косяк...
И лег он поверх модификации 2Гб ВБ6-лике (спагетти) кода.
Блин, тут голова и так пухнет от разбора недокументированного спагетти, а надо еще с инсталляторами возится.
Пофикшено? Да. Задеплоилось? Да! По клиентам разойдется? ДА! Все, отвалите, мне следующий кусок дрьма грызть!!!
Честно говоря нет желания спорить :)
Есть инструмент. Инструмент качественный. Да, надо кое-что изучить, чтобы этим инструментом пользоваться.
Но зато единожды изучив этот инструмент и сделав нормальный инсталлятор не надо будет больше разбираться с тем, перезаписал ли ты конфигурацию на боевой машине или нет. Все ли файлики ты правильно проапгрейдил или что-то забыл и у тебя полезли баги из-за несовместимости версий. Я уж не говорю о том, что всегда можно будет совершенно точно идентифицировать версию продукта, который установлен на рабочей системе.
А используешь ты этот инструмент или нет - решать, безусловно, тебе. Но если ты решил не использовать этот инструмент, то не надо петь песни о том, как сложно апдейтить твою прогу с 2Гб исходников :)
решать, безусловно, тебе.
-----
Не-а, решать - начальникам, которые пока не знают об том, что такой инструмент есть. И слава богу...
А Я... Я уж как-нибудь откачу буилд в КликОнце...
Бо, Я уже скоро последую за предыдущим прогером - точно помню, что написал весь необходимый код по поиску и загрузке прокси для датаров... и даже потестил... и даже работало... и, блин, с утра этот код найти не могу...
System Center Configuration Manager.
Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. - спасибо замечательное требование
Не удивлюсь если под это и выделенный сервак надо ставить
Но срочность отпала, рабочие компы не имеют выхода в интернет.
Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. - спасибо замечательное требование
Не понял, а чего странного в этом требовании? Или ты думал, что все конфигурации хранятся в xml-файлах (и то только из-за того, что ini уже умер? :) )
Ну и не понятно, почему ты не дочитал этот абзац до конца?
Каждый из серверов сайта должен иметь доступ к базе данных Microsoft SQL Server. Сайты могут подразделяться на административные (Administrative Site), основные (Primary Site) и дополнительные (Secondary Site), в SCCM 2012 все сайты имеют собственную базу данных.
все равно не могу понять зачем мне этот монстр?
https://docs.microsoft.com/en-gb/sccm/core/plan-design/cha...
Когда можно закинуть два файла на сервер и усё..
А что не нравится?
-----
Там протоколы не всегда совпадают.
У меня зоопарк по технике. Где-то - новое, где-то - старое. Где-то встанет с полутыка, где-то и шаманство не поможет.
Я держу Студию 2010 на виртуалке для деплоймента - там все старое и деплоится+ставится без проблем.
Но это - дополнительные телодвижения как по Студии, так и по виртуалке.
Исходя из ситуации ограниченного доступа в интернет, получилось следующее:
Для обновы создается нугет пакет, который пересылается по почте, после приема файлы "складываются" в репозиторий на сервере клиента.
Каждая прога может запросить список обновлений и обновить себя на любую доступную версию по выбору клиента.
При реализации вылезло просто море ньюансов.