Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/37: Рейтинг темы: голосов - 37, средняя оценка - 4.92
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
1

Как автоматически обновлять программы.

16.08.2011, 09:06. Показов 6764. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте уважаемые форумчане .
Мне хотелосьбы чтобы при включении компьютера проверялось обновление программ и новые программы если их нет то не что не происходило а если есть обновления то выходило окошко с со списком программ и с описанием ниже и с выбором программ для установки не как не знаю как сделать обновления.
Если есть у кого идеи поделитесь пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2011, 09:06
Ответы с готовыми решениями:

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

Как обновлять, автоматически, дату
На сервере имеются три таблицы, которые заполняются разными службами, то есть программа клиента...

Как автоматически обновлять базу данных!
Есть програма которая записывает в файл номера входящих звонков. Нужно чтобы открытый броузер брал...

Как можно автоматически обновлять дату через INSERT?
SET SERVEROUTPUT ON DECLARE est number :=0; OPER nvarchar2(40) := '&GOTO'; info_name...

39
Почетный модератор
21401 / 9135 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
16.08.2011, 22:39 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от JeRR777 Посмотреть сообщение
Но тогда в чём может быть ошибка
Папка на фтп кем создается?
0
195 / 187 / 9
Регистрация: 14.06.2011
Сообщений: 495
17.08.2011, 00:13 22
Там по ходу проблемы с правами... ох и намучился я в свое время с папками которые создал скрипт...
0
Почетный модератор
21401 / 9135 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
17.08.2011, 00:32 23
kOS_77, ну не знаю, у меня пара-тройка фтп-серверов, и проблем не знал ни с одним.
Правда я там никакие скрипты не запускал, а папки создавал или программно или через Total Commander...

Добавлено через 11 минут
А то и через простой проводник, через него ИМХО, еще легче с ФТП работать
0
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 10:21  [ТС] 24
Цитата Сообщение от kOS_77 Посмотреть сообщение
Там по ходу проблемы с правами... ох и намучился я в свое время с папками которые создал скрипт...
На фтп нет проблем с правами просто он не может создать папку с пробелом а как изменить папки которые он создаёт во время публикации я не знаю
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 10:40 25
1. Список ошибок FTP сервера
2. Зачем публиковать через стандартные средства?
3. Через стандартные средства не сделаешь программу Update.
4. Почему xml, а не txt (предлагали тут)?
Потому что в xml , можно продумать структуру, с которой будет легче обновлять не всю программу, а, например, компоненты, легче добавлять программы, легче брать данные из xml, и не надо будет парить и качать десятки txt. Вот к примеру Android SDK. Обновление SDK идет через XML. Качает файл, сравнивает с тем что есть, строит список для обновления.
0
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 10:46  [ТС] 26
Цитата Сообщение от Ciberst Посмотреть сообщение
1. Список ошибок FTP сервера
2. Зачем публиковать через стандартные средства?
3. Через стандартные средства не сделаешь программу Update.
4. Почему xml, а не txt (предлагали тут)?
Потому что в xml , можно продумать структуру, с которой будет легче обновлять не всю программу, а, например, компоненты, легче добавлять программы, легче брать данные из xml, и не надо будет парить и качать десятки txt. Вот к примеру Android SDK. Обновление SDK идет через XML. Качает файл, сравнивает с тем что есть, строит список для обновления.
Д мне и этот способ подойтёт но я не знаю что писать в xml и как написать программу чтобы оно сравнивола версии из хмл дайте пожалуйста мне пример или код хоть что угодно
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 11:04 27
JeRR777, вот когда у меня появится час свободного времени на вашу программу, тогда и предоставлю коды. Так что все в порядке очереди, а пока советую ознакомится с XML
1
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 11:53  [ТС] 28
Нашёл такой код
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Dim fileName As String = "c:\update.xml"
        'загрузка документа
        Dim xdoc As XDocument = XDocument.Load(fileName)
        'получаем столицу России
        For Each xe As XElement In xdoc.Element("Root").Elements("Country")
            If xe.Attribute("name").Value = "1.1" Then
                Console.WriteLine(xe.Element("Capital").Value)
                'Изменить столицу
                xe.Element("Population").Value = "1.2"
                xdoc.Save(fileName)
                Form3.Show()
                Form3.Label2.Text = "Есть новое обновления версия 1.1"
                Form3.ListBox1.Text = 
            End If
        Next
    End Sub
Пожскажите как сделать чтобы в ListBox1 было написано всё что написано здесь
XML
1
<opisanie>В этой версии программы и т.д</opisanie>
Добавлено через 1 минуту
Точнее это (В этой версии программы и т.д)
0
Ciberst
17.08.2011, 12:00
  #29

Не по теме:

JeRR777, хочу тебя обрадовать, я приступаю к твоей задаче. Она стала для меня интересна в связи с произошедшими за последние 5 минут событиями(самому нужна такая программа стала):D

0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
17.08.2011, 12:00 30
JeRR777, а ты понимаешь смысл цикла For Each, условной конструкции If ?
0
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 12:04  [ТС] 31
Цитата Сообщение от Eugene22 Посмотреть сообщение
JeRR777, а ты понимаешь смысл цикла For Each, условной конструкции If ?
Не очень поскольку код я не сам писал а нашёл на форуме
0
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
17.08.2011, 12:26 32
Цитата Сообщение от JeRR777 Посмотреть сообщение
Не очень поскольку код я не сам писал а нашёл на форуме
Ну это я знаю, поскольку этот код я сам и писал специально по минимуму чтобы было наиболее понятно.
К тому, что как ты представляешь себе написание программы не зная элементарных конструкций языка? И код зачем тебе, если ты его все равно не поймешь? Я б тебе посоветовал бы сначала какую-нибудь вводную информацию в vb.net почитать, например Лукина или msdn.
0
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 12:33  [ТС] 33
Цитата Сообщение от Eugene22 Посмотреть сообщение
Ну это я знаю, поскольку этот код я сам и писал специально по минимуму чтобы было наиболее понятно.
К тому, что как ты представляешь себе написание программы не зная элементарных конструкций языка? И код зачем тебе, если ты его все равно не поймешь? Я б тебе посоветовал бы сначала какую-нибудь вводную информацию в vb.net почитать, например Лукина или msdn.
Спасибо конечно за информации как нибудь почитаю ну всё же
как сделать чтобы в ListBox1 было написано всё что написано здесь
XML
1
<opisanie>В этой версии программы и т.д</opisanie>
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 12:37 34
Цитата Сообщение от JeRR777 Посмотреть сообщение
Спасибо конечно за информации как нибудь почитаю ну всё же
как сделать чтобы в ListBox1 было написано всё что написано здесь

Не по теме:

Дождешься моей программы, там все будет:D. Только мне время нужно (так как есть дела другие)

1
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 12:42  [ТС] 35
Цитата Сообщение от Ciberst Посмотреть сообщение

Не по теме:

Дождешься моей программы, там все будет:D. Только мне время нужно (так как есть дела другие)

Ладно подожду только ты не забудь выложить в тему
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 14:13 36
Выложу часть программы, конечно, я не писал AppstoreUpdate, и не знаю как они делали, и нет у меня образования программиста, поэтому ошибки тоже могут быть, сильно код не тестировал
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Public Class Form1
    Dim XML As New System.Xml.XmlDocument
    Dim XML2 As New System.Xml.XmlDocument
    Private Structure Programms
        Dim Name As String
        Dim text As String
        Dim directory As String
        Dim ICO As String
        Dim files(,) As String
        Dim setupURL As String
    End Structure
    Dim Programs() As Programms
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        XML.Load(Application.StartupPath & "\Update.xml")
        XML2.Load(Application.StartupPath & "\Install.xml")
        Dim x As Integer = 0
        Dim i As Integer = 0
        Dim Names(99) As Programms
        Dim a(XML.SelectNodes("Programms/Program").Count - 1) As Programms
        Programs = a
        For Each xm As System.Xml.XmlElement In XML.SelectNodes("Programms/Program")
            Dim name As String = xm.GetElementsByTagName("name")(0).InnerText
            For Each xm2 In XML2.SelectNodes("Programms/Program")
                If xm2.GetElementsByTagName("name")(0).InnerText = name Then
                    'Проверка обновлений
                    Update(xm, xm2, x, name)
                    x += 1
                    GoTo m1
                End If
            Next
            If i = 100 Then GoTo m1
            Names(i).Name = name
            Names(i).ICO = xm.GetElementsByTagName("ico")(0).InnerText
            Names(i).setupURL = xm.GetElementsByTagName("SetupURL")(0).InnerText
            Names(i).text = xm.GetElementsByTagName("text")(0).InnerText
            i += 1
m1:
        Next
        For Each pr As Programms In Programs
            If pr.Name = Nothing Then Exit For
            ListView1.Items.Add(pr.Name)
        Next
        For Each pr2 As Programms In Names
            If pr2.Name = Nothing Then Exit For
            ListView1.Items.Add(pr2.Name)
        Next
    End Sub
    Private Overloads Sub Update(ByVal xm As System.Xml.XmlElement, ByVal xm2 As System.Xml.XmlElement, ByRef ind As Integer, ByVal name As String)
        Dim files(xm.GetElementsByTagName("file").Count - 1, 1) As String
        Dim Directory As String = xm2.GetElementsByTagName("directory")(0).InnerText
        Dim x As Integer = 0
        For Each xm3 As System.Xml.XmlElement In xm.GetElementsByTagName("file")
            Dim str As String = (xm3.Attributes.GetNamedItem("name").Value)
            Dim v1 As System.Diagnostics.FileVersionInfo
            Try
                v1 = System.Diagnostics.FileVersionInfo.GetVersionInfo(Directory + str)
            Catch
            End Try
            Dim v2 As String = (xm3.GetElementsByTagName("version")(0).InnerText)
            'xm2.SelectNodes("/[@name=" + str + "]")(0).SelectNodes("version")
            If Not (v1 Is Nothing) Then
                If v1.ProductVersion <> v2 Then
                    Dim url As String = (xm3.GetElementsByTagName("url")(0).InnerText)
                    files(x, 0) = url
                    files(x, 1) = Directory + str
                    x += 1
                End If
            Else
                Dim url As String = (xm3.GetElementsByTagName("url")(0).InnerText)
                files(x, 0) = url
                files(x, 1) = Directory + str
                x += 1
            End If
 
        Next
        If files(0, 0) = Nothing Then
            ind -= 1
        Else
            Programs(ind).text = xm.GetElementsByTagName("text")(0).InnerText
            Programs(ind).Name = name
            Programs(ind).files = files
            Programs(ind).directory = Directory
            Programs(ind).ICO = xm.GetElementsByTagName("ico")(0).InnerText
        End If
    End Sub
End Class
Пример Update.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<Programms>
    <Program>
        <name>WTS</name>
        <text>Описание программы</text>
        <ico>url ico</ico>
        <SetupURL>url</SetupURL>
        <file name="\WTS.exe">
            <url>123156</url>
            <version>1.0.0.0</version>
        </file>
    </Program>
    <Program>
        <name>WTS2</name>
        <text>Описание программы</text>
        <ico>url ico</ico>
        <SetupURL>url</SetupURL>
        <file name="\WTS.exe">
            <url>123156</url>
            <version>1.0.0.1</version>
            </file>
        </Program>
</Programms>
Пример Install.xml
XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<Programms>
<Program>
<name>WTS</name>
<directory>D:\Мои Документы\Рабочий стол</directory>
</Program>
</Programms>
Если поймешь код - мои поздравления. Не поймешь - не расстраивайся, спрашивай

Добавлено через 16 минут
В коде выше переменная Names хранит программы неустановленные на данном компьютере.
Переменная Programs хранит программы требующие обновление.
Файл Install.xml - содержит информацию об установленных программах.
Большая часть кода перед тобой/Вами. За тобой/Вами остается лишь обработать 2 переменные выше.
в Programs содержится переменная files, она хранит URL файла и куда надо установить в виде массива двумерного из String.
а в Names содержится переменная SetupURL в которой указан путь к установщику программы.
1
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 18:28  [ТС] 37
Во время запуска программы выходит ошибка мол не найден инстал.хмл хоть я его и в одну папку с программой засунул
и надо ли мне что нибудь вписать где кавычки это name , version и т.д

Добавлено через 11 минут
Программу я смог запустить но на форме не чего не происходит

Добавлено через 9 минут
прогресс на форме появились название программ на я по ним кликаю и не чего не происходит
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 18:41 38
Что бы , что-то происходило надо код доделать под свои нужды.
0
1 / 1 / 0
Регистрация: 16.08.2011
Сообщений: 48
17.08.2011, 19:35  [ТС] 39
Может я чего не правильно написал
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8"?>
<Programms>
        <Program>
                <name>sc</name>
                <text>ваще крутой программа</text>
                <ico>C:\Multimedia\Картинки\ICO\favicon.ico</ico>
                <SetupURL>http://raikin2-95.narod.ru/server_configuration.exe</SetupURL>
                <file name="sc.exe">
                        <url>d:\\</url>
                        <version>1.0.0.0</version>
                </file>
        </Program>
        <Program>
                <name>sc2.1</name>
                <text>Описание программы</text>
                <ico>C:\Multimedia\Картинки\ICO\favicon.ico</ico>
                <SetupURL>http://raikin2-95.narod.ru/server_configuration.exe</SetupURL>
                <file name="sc2.1.exe">
                        <url>d:\\</url>
                        <version>1.0.0.1</version>
                        </file>
                </Program>
</Programms>
0
557 / 434 / 21
Регистрация: 16.12.2010
Сообщений: 953
17.08.2011, 23:24 40
JeRR777, прежде чем подставлять данные, советую тебе, пройдись по коду построчно, разбери его, проникнись в его сокровенные тайны, изучи что делает каждая строчка в коде. и будет легче тебе написать эту программу, пойми, за тебя целиком всю твою работу никто никогда делать не будет бескорыстно. А дал тебе лишь часть кода, остальную часть кода ты должен написать сам.
а поможет тебе в этом:
VB.NET
For Each ... Next
For ... Next
If...Then...Else
Структура
а также
http://msdn.microsoft.com/ru-r... 3da0y.aspx
http://msdn.microsoft.com/ru-r... 90%29.aspx
http://msdn.microsoft.com/ru-r... 90%29.aspx
После прочтения всего материала. Будешь лучше меня программировать , так как мне еще не удалось прочитать все статьи, спеши я могу ведь дочитать.
2
17.08.2011, 23:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.08.2011, 23:24
Помогаю со студенческими работами здесь

автоматически обновлять HTML
А есть ли тэг заставляющий браузер автоматически обновлять HTML страницу при каждой новой закрузке,...

Автоматически обновлять DataGridView, чтобы внесенные изменения в базу отображались сразу
Нужно автоматически обновлять DataGriedView, чтобы внесенные изменения в базу отражались сразу(без...

Как сделать чтобы некоторые программы не заносились автоматически в автозагрузку?
В наглую это делает юторрент, ссклинер и ещё парочка. Я их удаляю, а они снова появляются, в...

Как сделать, чтобы при запуске программы кнопка автоматически нажималась?
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru