Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Проверка на обновление (https://forum.antichat.xyz/showthread.php?t=157409)

Logan22 18.11.2009 00:45

Проверка на обновление
 
Собственно подскажите как можно реализовать обновление приложения!
желательно подробнее, я только обладаю начальными знаниями и лишь 1 книгу прочел с горем пополам.

А теперь подробнее, допустим на форму добавляем кнопку, при нажатии будет выполняться соединение с узлом на котором будет висеть это приложение и пойдет автоматически скачка нового. =) а ток как это реализовать?)

Gar|k 18.11.2009 01:08

заюзай XML RPC

удачи в начинаниях, приятного секса )))

Ra$cal 18.11.2009 01:10

Цитата:

допустим на форму добавляем кнопку
и этим все сказано...

рано пока автообновление делать. да и гугл пока еще работает.

Logan22 18.11.2009 01:42

Цитата:

Сообщение от Ra$cal
и этим все сказано...

рано пока автообновление делать. да и гугл пока еще работает.

Ну тогда так, на форму добавляем компонент button =)
Так лучше? либо ещё закладку указать?)

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

Gar|k 18.11.2009 02:55

вот тебе еще наколка ) SVN (правда сам не втыкал, но с репозиториями работал хех)

Для начала прочитай

А так я вижу свою небольшую систему обновления на основе XML RPC

Сервер. PHP+MySQL (PHP XML RPC)
база данных с примерно такой таблицей [ id | Major | Minor | Build | Link ]

панелька администрирования с функций закачки на сервер новый версии программы с занесением её в базу.

Проверка обновления сводится к посланию клиентом XML запроса поверх HTTP протокола. с определенной структурой... например

Код:

<?xml version="1.0"?>
 <methodCall>
  <methodName>examples.chackUpdate</methodName>
  <params>
    <param>
        <value><string>1.2.485</string></value>
    </param>
  </params>
 </methodCall>

Сервер получает XML разбирает и видит что нужно выполнить функцию checkUpdate а текущая версия программы 1.2.485. Смотрим базу опа вышла новая версия!
отправляем ответ

Код:

<?xml version="1.0"?>
 <methodResponse>
  <params>
    <param>
        <value><boolean>1</boolean></value>
        <value><string>http://site.com/soft_1.3.exe</string></value>
    </param>
  </params>
 </methodResponse>

В программе клиенте делаем кнопочку или открываем IE с переданным адресом :)

Если delphi то набери в поиске "delphi XML RPC" - вот нашел

Gar|k 18.11.2009 03:02

А можно тупей... типа файл getver.php который просто текстом выводит номер версии
программа его сверяет сама со своим и если не совпал запрашивает getver.php?link
который пишет тупо ссылку для скачивания )))

Но если реализовать на XML RPC в последующем можно дописать любой функционал с удобным интерфейсом, например какие нибудь новости от разработчика ) или там что-то типа онлайн справки или форума... в общем все что угодно

Logan22 18.11.2009 03:44

ох да это реальный секаз)
Надеюсь смогу хоть както разобраться в этой поставленной себе задачи =) Спасбо тебе большое пойту тебе плюсЫ тЫкать)

W!z@rD 18.11.2009 07:02

ClickOnce

Ra$cal 18.11.2009 11:31

помойму проще через wininet скачать файлик с сервера с указанием текущей версии. xml rpc имхо больно жирное решение для такой простой задачи.

DeaD_MoroZ 20.11.2009 03:36

Цитата:

Сообщение от Gar|k
А можно тупей... типа файл getver.php который просто текстом выводит номер версии
программа его сверяет сама со своим и если не совпал запрашивает getver.php?link
который пишет тупо ссылку для скачивания )))

помоему, это самый простой и интересный вариант

Jingo Bo 21.11.2009 03:46

Я у ся в проге сделал всё проще не куда(и тебе советую) :
На сервере хранится файл текстовый, допустим version.txt
В нём пишешь :
Цитата:

1.4.0=10/4/2009
;Новое обновление, добавлена кнопка:)
file1
file2
file3
В первой строчке указана версия и дата обновления, далше идёт камент обновления и потом названия файлов к обновлению(на сервере они называются так же). Прога загружает этот файл, а потом и те файлы какие указаны с заменой.
Конечно можно ещё добавить каке нить команды и опции для каждого файла, к примеру
file1.txt;no_rewrite
Типа если файл уже есть, то его не обновлять.
А загрузку файлов делаю через Wininet. Потому что впадлу через WinSock писать, это тупо если уже есть соответствующий API.
Даже сраный XML не нужен, потому что он тут вообще не нужен. Если расширенный файл обновлений, то его формат лучще придумать самому, будет короче и прощё(для себя). А XML это стандартное решение(потому и жирное).

Gar|k У тебя ооп-эшный фимоз. Предлагаешь блоху молотком бить.:)


Время: 20:52