Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6stprod
http://jokenews.ru/
9 / 9 / 7
Регистрация: 07.02.2013
Сообщений: 179
#1

Скачать и заменить файл (обновление приложения)

03.07.2015, 17:00. Просмотров 810. Ответов 7
Метки нет (Все метки)

Есть код:

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click
        CheckForUpdates()
End Sub
 
 Public Sub CheckForUpdates()
 
Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("http://127.0.0.1/launcher/update.txt") 
        Dim response As System.Net.HttpWebResponse = request.GetResponse()
        Dim sr As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
        Dim newestversion As String = sr.ReadToEnd
        Dim currentversion As String = Application.ProductVersion
        If newestversion.Contains(currentversion) Then
            MsgBox("Вы используете свежую версию программы!.")
        Else
            MsgBox("Доступна новая версия. Скачивание начнется автоматически.")
            My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/launcher.exe", "D:\World of Warcraft\Launcher.exe") 
            My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/MySql.Data.dll", "D:\World of Warcraft\MySql.Data.dll")
            MsgBox("Все файлы программы успешно загружены в дирректорию установленной игры!.")
        End If
 
    End Sub
Проверяет версию программы, если она не совпадает то качает другую..то есть саму себя.

Но - при скачке самого себя выдает ошибку что в той папке она уже имеется, как дописать замену файла а старый удалить?
И такой еще факт - программа то запущена, и удалить она себя не сможет...подскажите как извернуться в этом случае
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.07.2015, 17:00
Ответы с готовыми решениями:

Обновление приложения, какой хостинг использовать для хранения файлов
Привет всем. Сейчас взялся за систему обновления своего приложения(пока что...

Обновление приложения: можно ли использовать Application.StartupPath в качестве корневой папки
Привет всем)))) есть несколько вопросов по поводу этой темы Итак первый...

Скачать файл с FTP
сто раз обсуждалось, но все таки, пример не работает, где ошибка порылась? ...

Подключиться к http и скачать файл
Необходимо подключиться к http и скачать файл, маска которого известна, через...

Как скачать файл из Интернета
Я конечно извиняюсь,возможно написал не сюда,но возможно ли прописать в...

7
foxkid
2 / 2 / 2
Регистрация: 22.04.2014
Сообщений: 18
03.07.2015, 17:11 #2
написать отдельную программу - можно даже консольную. и в ней уже закачивать файлы
0
k13
164 / 164 / 52
Регистрация: 11.03.2014
Сообщений: 200
03.07.2015, 17:26 #3
https://msdn.microsoft.com/ru-ru/library/ack30t8y(v=vs.90).aspx
0
6stprod
http://jokenews.ru/
9 / 9 / 7
Регистрация: 07.02.2013
Сообщений: 179
03.07.2015, 18:48  [ТС] #4
foxkid, создал новое приложение,

при нажатии на кнопку проверяется версия, если версия новая то приложение запускает приложение-обновление и само закрывается..а приложение-обновление скачивает файлы, после выдает сообщение что все впорядке и закрываясь открывает то что скачало


только вот как удалить файлы, которые существуют?


vb.net
1
2
3
4
5
        My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/launcher.exe", "D:\World of Warcraft\Launcher.exe")
        My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/MySql.Data.dll", "D:\World of Warcraft\MySql.Data.dll")
        MsgBox("Все файлы программы успешно загружены в дирректорию установленной игры!.")
        Process.Start(My.Application.Info.DirectoryPath.ToString & "\Launcher.exe")
        Application.Exit()
0
edward_freedom
1553 / 1432 / 303
Регистрация: 01.10.2011
Сообщений: 2,636
03.07.2015, 18:52 #5
6stprod, https://msdn.microsoft.com/ru-ru/lib...(v=vs.90).aspx
0
6stprod
http://jokenews.ru/
9 / 9 / 7
Регистрация: 07.02.2013
Сообщений: 179
03.07.2015, 19:07  [ТС] #6
Сделал так..

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

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        If IO.File.Exists(My.Application.Info.DirectoryPath.ToString & "\Launcher.exe") Then
            My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath.ToString & "\Launcher.exe")
        End If
        My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/launcher.exe", My.Application.Info.DirectoryPath.ToString & "\Launcher.exe")
 
        
        If IO.File.Exists(My.Application.Info.DirectoryPath.ToString & "\MySql.Data.dll") Then
            My.Computer.FileSystem.DeleteFile(My.Application.Info.DirectoryPath.ToString & "\MySql.Data.dll")
        End If
        My.Computer.Network.DownloadFile("http://127.0.0.1/launcher/upd/MySql.Data.dll", My.Application.Info.DirectoryPath.ToString & "\MySql.Data.dll")
 
        MsgBox("Все файлы программы успешно загружены в дирректорию установленной игры!.")
        Process.Start(My.Application.Info.DirectoryPath.ToString & "\Launcher.exe")
        Application.Exit()
Все работает
0
GSXL
160 / 168 / 26
Регистрация: 26.11.2011
Сообщений: 382
Записей в блоге: 1
03.07.2015, 22:55 #7
А вот еще одна очень полезная ссылка где есть не один рабочий необходимый для Вас пример
2
6stprod
http://jokenews.ru/
9 / 9 / 7
Регистрация: 07.02.2013
Сообщений: 179
03.07.2015, 23:27  [ТС] #8
GSXL, за ссылку благодарен! Нашел для себя множество полезной информации! Спасибо!
0
03.07.2015, 23:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.07.2015, 23:27

Как правильно скачать файл?
Хочу скачать файл .exe по такому алгоритму: ...

Как скачать файл из Интернета
Народ подскажите как сделать форму на которой будет веб браузер в которой будет...

Скачать файл с интернета по прямой ссылке
Всем привет! Задача заключается в следующем: первый шаг: -необходимо скачать...


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

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

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