Автоматическое обновление программы C#

Не знаю кто-как , а я лично предпочитаю писать свой апдейтер приложения - проверяю (конечно если это не мега-проект) на целостность установки,наличия обновления и если целостность нарушена или есть обновление скачиваю непосредственно требуемые файлы,а не целый инсталяционный пакет.
 
либо Windows Installer, либо ClickOnce. все зависит от того как и откуда будет обновляться софт. первый способ - для распространения софта, второй - внутренний. ну это, разумеется, предпочтительно.
 
Чем вы пользуетесь для организации автоматического обновления?
Я в своих проектах использовал просто сравнение версий в самой проге и той, что записано в тхт файле на хостинге, если вресии различаются, пользователю предлагается автоматическая обнова. При согласии запускается апдейтер. На том же принципе он мог вручную это все проверить. Также автоматом докачивались нужные файлы, если у пользователя они отсутствовали. Что-то вроде этого:
Код:
WebClient client = new WebClient();
                string actual = client.DownloadString("http://mysite.com" + "/version.txt");
                string current = Main.GetPluginVersion();
                if (!File.Exists(Application.StartupPath + "\\mydll.dll))
                {
                    Uri ui = new Uri("http://mysite.com" + "/mydll.dll");
                    client.DownloadFile(ui, Application.StartupPath + "\\mydll.dll");
                }                
                if (!actual.Equals(current))
                {
                    isUpdate = true;
                    DialogResult dial = MessageBox.Show("Доступна новая версия скрипта, обновить?", "Автоматическое обновление", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
                    if (dial == DialogResult.Yes)
                    {
                        Process.Start(Application.StartupPath + "\\AutoUpdater.exe");
                        this.Close();
                    }
                    client.Dispose();
                }
 
Назад
Сверху