Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
1

Автообновление программы

31.08.2015, 11:25. Просмотров 1089. Ответов 20
Метки нет (Все метки)

Здорова парни!) Помогите пожалуйста, мне нужно сделать Автообновление прогаммы, но как? Программа сама уже давно готова, но вот обновление.... Подскажите пожалуйста, как это реализовать?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2015, 11:25
Ответы с готовыми решениями:

Автообновление программы
Здравствуйте, форумчане, пишу функцию автообновления программы. Все работает,...

Автообновление Label
Всем привет! Возникла такая ситуация. Нужно обновить всего 1 лабел путем...

Автообновление данных контрола
У меня есть ComboBox cb и List<MyClass> lc. Как сделать чтобы при обновлении lc...

Автообновление окна в браузере (без подтверждений)
Доброго времени суток, помогите кто может. Есть такая проблема при обновлении...

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

20
sashatref
75 / 75 / 29
Регистрация: 21.05.2015
Сообщений: 257
Завершенные тесты: 1
31.08.2015, 11:38 2
Дмитри_Степанов, на сервере формируется некий xml файл с списком актуальных файлов. Для каждого файла указана его версия и MD5.

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

В принципе для упрощения можно не использовать версии, а сравнивать только MD5, если на сервере MD5 не такой как на клиенте, значит файл отличается и его нужно загрузить.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 11:56 3
Ещё надо предусмотреть добавление через обновления новых файлов и удаление старых, совместимость старых и новых настроек.
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 12:40  [ТС] 4
Цитата Сообщение от sashatref Посмотреть сообщение
Дмитри_Степанов, на сервере формируется некий xml файл с списком актуальных файлов. Для каждого файла указана его версия и MD5.
Программа у клиента при запуске скачивает этот xml и сравнивает номера версий, если на сервере версии новее, то запускаем программу Загрузчик(отдельное приложение), которое загружает нужные файлы в специальную папку, сравнивает MD5(исключить ошибки загрузки). После удачного завершения загрузки показывает предложение закрыть основную программу, когда оно будет закрыто, программа-загрузчик подменяет файлы из специальной папки в папку программы. После чего основная программа запускается - программа загрузчик завершает работу.
В принципе для упрощения можно не использовать версии, а сравнивать только MD5, если на сервере MD5 не такой как на клиенте, значит файл отличается и его нужно загрузить.
Можете на примере показать? За сервер, например можно взять халявный сайт? Прикрепите пожалуйста проект, я с кодом по пробую разобраться.

Добавлено через 2 минуты
И заодно ещё спрошу: Как мне при нажатии кнопки открыть файл с компьютера? Не из проекта (Это знаю как) а именно с компьютера. Файл .exe а именно игра, то есть запуск игры.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 12:56 5
Изучайте - http://autoupdaterdotnet.codeplex.com/

Process.Srart
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 14:40  [ТС] 6
Цитата Сообщение от Rius Посмотреть сообщение
Изучайте - http://autoupdaterdotnet.codeplex.com/
Process.Srart
Спасибо большое!) По пробую этим способом) и ещё один вопрос, подскажите пожалуйста:
Цитата Сообщение от Дмитри_Степанов Посмотреть сообщение
Как мне при нажатии кнопки открыть файл с компьютера? Не из проекта (Это знаю как) а именно с компьютера. Файл .exe а именно игра, то есть запуск игры.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 14:51 7
Выше ответил - Process.Start. Класс такой, Process, с возможностями запуска процессов.
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 16:13  [ТС] 8
Цитата Сообщение от Rius Посмотреть сообщение
Выше ответил - Process.Start. Класс такой, Process, с возможностями запуска процессов.
Я пробывал через него, файл не ищет.... Он ищет только то, что в папке проекта. А мне нужно по всему компьютеру, вот и думаю, что делать.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 16:22 9
Он не обязан ни искать, ни думать за вас. Используйте полные пути, а не относительные
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 17:46  [ТС] 10
Цитата Сообщение от Rius Посмотреть сообщение
Он не обязан ни искать, ни думать за вас. Используйте полные пути, а не относительные
В том то и дело, что путь к этому файлу на всех на разных компьютерах разный. Вот я и попросил вас помочь.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 17:51 11
Этому - это какому?
Если exe прописан в одном из путей в переменной PATH, можно запустить его без указания пути. И надеяться, что прокатит. Чтобы не надеяться, можно разобрать перечисленные в это переменной пути и проверить по каждому из них наличие требуемого exe.
А можно просто указать абсолютный путь. Почему он разный? Почему пользователю не указать его в настройках программы?
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 18:10  [ТС] 12
Цитата Сообщение от Rius Посмотреть сообщение
А можно просто указать абсолютный путь. Почему он разный? Почему пользователю не указать его в настройках программы?
Вот это можно! Как мне это сделать?))) Примерно представляю как: Пользователь открывает настройки, заносит в TexBox с помощью диалогового окна. Путь заносится в текстовый документ (который тоже создаётся). Но вот как его сохранить и загрузить и впихнуть в код? Что бы при по слеюдующем входе всё путь сохранился.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 18:14 13
Есть такая штука Settings, пользуйтесь. В свойствах проекта можно создать и настроить.
https://msdn.microsoft.com/en-us/library/aa730869%28v=vs.80%29.aspx
Сохранение настроек ПО
Куда сохраняются настройки приложения
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 18:24  [ТС] 14
Цитата Сообщение от Rius Посмотреть сообщение
Есть такая штука Settings, пользуйтесь. В свойствах проекта можно создать и настроить.
Почитал, мало что понял... Прикрепите пожалуйста проект, для наглядности.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 18:28 15
Вот
0
Вложения
Тип файла: zip dsexample.zip (11.8 Кб, 19 просмотров)
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 18:37  [ТС] 16
Цитата Сообщение от Rius Посмотреть сообщение
Вот
Спасибо, сейчас посмотрю.

Добавлено через 4 минуты
Цитата Сообщение от Rius Посмотреть сообщение
Вот
Посмотрел, разобрался. Спасибо! Но вот как мне сделать так, что бы путь в этом TextBox1 добавлялся в код, а после уже, при нажатии кнопки, открывался файл.

Добавлено через 59 секунд
Перефразировал: Как мне открывать файл при нажатии кнопки по этому пути?
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 19:19 17
Сохранить в строковую переменную. Передать её в Process.Start().
С такими вопросами рано браться за автообновлялку.
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 19:24  [ТС] 18
Цитата Сообщение от Rius Посмотреть сообщение
Сохранить в строковую переменную. Передать её в Process.Start().
С такими вопросами рано браться за автообновлялку.
Додумался сам, ещё до ответа. Тут ещё один вопрос... Дело в том, что у меня настройки в 2 форме, а кнопка в 1. Как мне сделать, что бы всё было гладко? То есть не было ошибки о том, что в 1 форме нет Textbox, который во 2 форме.
0
Rius
Эксперт .NET
5131 / 3351 / 820
Регистрация: 25.05.2015
Сообщений: 10,294
Записей в блоге: 11
Завершенные тесты: 4
31.08.2015, 19:27 19
Ответы на 7 самых частых вопросов по WinForms
Пункт 2.2
0
Дмитри_Степанов
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 37
31.08.2015, 19:30  [ТС] 20
Цитата Сообщение от Rius Посмотреть сообщение
Пункт 2.2
Пробовал, только опять же не понял что тут точно... прикрепите пожалуйста проект.
0
31.08.2015, 19:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.08.2015, 19:30

Автообновление списка файлов из папки на ФТП сервере
Не смог найти поиском, так что если повтор, извините. Имеется List элементы...

Автообновление программы
Сделал апдейтер для программы, и сейчас вот дописываю поддержку обновления...

Автообновление
Итак столкнулся с такой проблемой. Моя программа обновляется практически каждый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru