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

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

F1ash
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 14
Зарегистрирован: 09.04.2008 (Ср) 1:35
Откуда: Украина \ Харьков

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

Сообщение F1ash » 15.06.2008 (Вс) 21:56

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

P.S. чтобы 2ю тему не открывать сразу спрошу тут. Необходимо записать в 3тий столбец ListView на данный момент реализую это так:


Код: Выделить всё
        frmMain.lvContacts.Items.Add(txtName.Text).SubItems.Add(cmOperator.SelectedItem)
        frmMain.lvContacts.Items.Item(0).SubItems.Add(txtPhoneNumber.Text)


но как я буду знать номер итема в который я только что записал чтобы подставить вместо 0? Есть другой способ записи в 3й столбик?

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 16.06.2008 (Пн) 12:24

Почитай про технологию ClickOnce - очень хороший способ обновлять приложение без напряжения своих мозгов и написания инсталлятора.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

F1ash
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 14
Зарегистрирован: 09.04.2008 (Ср) 1:35
Откуда: Украина \ Харьков

Сообщение F1ash » 16.06.2008 (Пн) 15:31

gaidar писал(а):Почитай про технологию ClickOnce - очень хороший способ обновлять приложение без напряжения своих мозгов и написания инсталлятора.


Вот как раз ищу где бы толково было написано, а по 2му вопросу можешь что-то сказать?

3eJIeHb
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 13
Зарегистрирован: 04.05.2008 (Вс) 9:01

Сообщение 3eJIeHb » 24.06.2008 (Вт) 21:36

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


Ну я делал так : заливал *.htm документ с версией программы к себе на сайт, при запуске документ считывался в переменную, потом я проверял *математическое* выражение > (больше), если значение больше, то выводится сообщение, типа вышла новая версия.

Код: Выделить всё
'Кидаем на форму : WebBrowser, SaveFileDialog, BackgroundWorker и Button

Public Class Form1

    Dim Version As Integer = 1.1
    Dim WebVersion As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles MyBase.Load

        WebBrowser1.Visible = False

        Button1.Text = "Обновить"

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles Button1.Click

        If Button1.Text = "Обновить" Then

            SaveFileDialog1.Filter = ("Программа|prog.exe")
            SaveFileDialog1.FileName = ("prog.exe")

            WebBrowser1.Navigate("Ссылка на страницу c версией программы")

        Else

            BackgroundWorker1.CancelAsync()

        End If

    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As  _
                                              System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) _
                                              Handles WebBrowser1.DocumentCompleted

        WebVersion = WebBrowser1.DocumentText

        If Val(WebVersion) > Val(Version) Then
            Dim Msg
            Msg = MsgBox("Вышла новая версия программы : " & WebVersion & Chr(13) _
& "Обновить сейчас?", MsgBoxStyle.Information Or MsgBoxStyle.YesNo, "Обновление")
            If Msg = MsgBoxResult.Yes Then
                SaveFileDialog1.ShowDialog()
            End If
        Else
            MsgBox("Новых версий программы не обнаружено!", MsgBoxStyle.Information, "Обновление")
        End If

    End Sub

    Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As  _
                                       System.ComponentModel.CancelEventArgs) Handles _
                                       SaveFileDialog1.FileOk

        BackgroundWorker1.RunWorkerAsync()

    End Sub

    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As  _
                                         System.ComponentModel.DoWorkEventArgs) Handles _
                                         BackgroundWorker1.DoWork

        If My.Computer.Network.Ping("Ссылка на обновленную версию", 100) = True Then

            My.Computer.Network.DownloadFile _
            ("Ссылка на обновленную версию", SaveFileDialog1.FileName)

            Button1.Text = "Остановить"

        Else
            MsgBox("Не удалось найти файл." & Chr(13) & _
                   "Пожалуйста, проверьте ваше интернет - соединение.", MsgBoxStyle.Exclamation, "Ошибка")
        End If

    End Sub
End Class


Возможно не самый лучший вариант, но я начинающий, поэтому сильно не бить! :)

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

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

Сообщение DODge » 25.06.2008 (Ср) 0:07

F1ash писал(а):Необходимо записать в 3тий столбец ListView на данный момент реализую это так:

Код: Выделить всё
        frmMain.lvContacts.Items.Add(txtName.Text).SubItems.Add(cmOperator.SelectedItem)
        frmMain.lvContacts.Items.Item(0).SubItems.Add(txtPhoneNumber.Text)

но как я буду знать номер итема в который я только что записал чтобы подставить вместо 0? Есть другой способ записи в 3й столбик?


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

frmMain.lvContacts.Items.Add(txtName.Text).SubItems.AddRange(New String() {cmOperator.SelectedItem, txtPhoneNumber.Text})

Количество пречислений в фигурных скобках может быть столько, сколько нужно заполнить столбиков.
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

fatal1ty
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 27.06.2010 (Вс) 23:01

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

Сообщение fatal1ty » 27.06.2010 (Вс) 23:04

3eJIeHb
А можно структуру htm файла чтобы прога обновилась.
Спасибо.
[Viper] :: Устное предупреждение за некрофилию. Теме 2 года!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20

    TopList