Is it compatible with asp.net ?

Jul 17, 2012 at 10:27 AM

What is the restrictions of using the library in an asp.net application ?

Coordinator
Jul 19, 2012 at 5:48 AM

Why anyone want an auto update functionality for Asp.net?

Jul 19, 2012 at 11:38 AM

If you have a web application like wordpress or joomla, and people has copies of it, then you will need it to auto-update

Coordinator
Jul 21, 2012 at 4:48 AM
Edited Jul 22, 2012 at 5:32 AM

you can use AutoUpdater.cs to in a webservice with some modification. but you can't use the winforms update dialog in asp.net. Just use updatepanel that comes with AJAX Control Toolkit to show user about an update. see Calling Web Services from Client Script in ASP.NET AJAX. You send a webservice a version of your app and webservice exceute code just like AutoUpdater.cs and sends reply with download url of the update. I have not enough experience with asp.net but this should work. Or you can directly add Autoupdater.cs code in backgroundworker in a page load event to look for an update. See Background worker thread in ASP.NET. Just use following code to read xml appcast from server.

 

            WebRequest webRequest = WebRequest.Create(_appCastUrl);

            WebResponse webResponse;

            try
            {
                webResponse = webRequest.GetResponse();
            }
            catch (Exception)
            {
                return;
            }

            Stream appCastStream = webResponse.GetResponseStream();

            var receivedAppCastDocument = new XmlDocument();

            if (appCastStream != null) receivedAppCastDocument.Load(appCastStream);
            else return;

            XmlNodeList appCastItems = receivedAppCastDocument.SelectNodes("item");

            if (appCastItems != null)
                foreach (XmlNode item in appCastItems)
                {
                    XmlNode appCastVersion = item.SelectSingleNode("version");
                    if (appCastVersion != null)
                    {
                        String appVersion = appCastVersion.InnerText;
                        var version = new Version(appVersion);
                        if (version <= _installedVersion)
                            continue;
                        _currentVersion = version;
                    }
                    else
                        continue;

                    XmlNode appCastTitle = item.SelectSingleNode("title");

                    _title = appCastTitle != null ? appCastTitle.InnerText : "";

                    XmlNode appCastChangeLog = item.SelectSingleNode("changelog");

                    _changeLogUrl = appCastChangeLog != null ? appCastChangeLog.InnerText : "";

                    XmlNode appCastUrl = item.SelectSingleNode("url");

                    _downloadUrl = appCastUrl != null ? appCastUrl.InnerText : "";
}


Get _installedVersion value from local config file. Prepare appcast as given in documentation of AutoUpdater.NET.
Reply if it works or not.