Как мне настроить автоматические обновления для моей программы в Visual Basic 2008?

Я хотел бы, чтобы пользователь мог установить программу из файла setup.exe, а затем запустить функцию автоматического обновления в программе. Как мне это сделать в Visual Basic 2008?

2
SteveGSD 4 Май 2009 в 04:53

3 ответа

Лучший ответ

Если вы не выберете вариант ClickOnce, вы, вероятно, в конечном итоге сами воспользуетесь им.

Одно из соображений будет заключаться в том, что вызывающий клиент имеет доступ к серверу обновлений - несомненно, через Интернет. HTTP-вызовы на порт 80 или HTTPS на порт 443 обычно разрешены через брандмауэры. Вероятно, это хорошее место для начала для вашей среды.

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

Если доступно обновление, приложение порождает исполняемый файл, который выполняет загрузку (в моем случае он также распаковывается), затем повторно запускает основную точку входа в приложение и закрывает программу обновления. Использование отдельного исполняемого файла в режиме spawing / shelling позволяет вам обновлять основную ветвь приложения, но вы попадаете в хитрость, когда обновлять исполняемый файл обновления сложно.

Он не такой изящный, как ClickOnce, но мне он понравился. Я не использовал ClickOnce, поэтому не знаю, есть ли у него недостатки с точки зрения изоляции профиля пользователя.

3
Mike L 4 Май 2009 в 07:52
1
Я бы поддержал этот и предыдущий, но там написано, что у меня недостаточно репутации. Спасибо!
 – 
SteveGSD
4 Май 2009 в 17:09

Предполагая, что вы пишете клиентское приложение, ClickOnce , вероятно, лучший / самый простой способ.

3
Andy 4 Май 2009 в 04:58
Требуется ли установка приложения только для текущего пользователя? Я слышал, что это был эмитент с версиями до 2008 года.
 – 
JeffO
4 Май 2009 в 05:22
1
Кажется, я не могу заставить этот материал ClickOnce работать так, как я хочу. Я пробовал это раньше, и это кажется глючным / нестандартным способом обновления программы. Я бы хотел, чтобы программа устанавливалась как обычное приложение, а затем автоматические обновления были доступны пользователю по нажатию кнопки. Можно ли это сделать, превратив программу в DLL или что-то в этом роде?
 – 
SteveGSD
4 Май 2009 в 05:26
Я никогда лично не использовал ClickOnce для развертывания приложения, только чтобы поиграть с ним. Я думаю, что по умолчанию он автоматически проверяет наличие обновлений при запуске, но я считаю, что это можно настроить. Я не уверен, можно ли настроить способ установки приложения, но я считаю, что по умолчанию оно устанавливается для каждого пользователя.
 – 
Andy
4 Май 2009 в 15:12