private bool PackageAlreadyDownload()
        {
            if (!File.Exists("downloads/version.xml"))
            {
                return(false);
            }
            string dVersionNumber = UpdateUtils.GetVersionNumberFromFile("downloads/version.xml");

            if (dVersionNumber != RemoteVersionNumber)
            {
                return(false);
            }
            if (PackageFileName == "")
            {
                return(false);
            }
            return(File.Exists("downloads/" + PackageFileName));
        }
        /*
         * 1. get version number of remote server
         * 2. compare it with the version number of local running, if equal return.
         * 3. check if there is a package downloaded in the temporary directory.
         * 4. if there is not a package download the pacakge.
         * 5. ask user to update and restart.
         */
        private void getVersionCallback(String versionXml)
        {
            ParseRemoteXml(versionXml);
            string localversion = UpdateUtils.GetVersionNumberFromFile("version.xml");

            if (UpdateUtils.CompareVersion(RemoteVersionNumber, localversion)) // step 2
            {
                if (PackageAlreadyDownload())
                {
                    DispatchUpdateInfo(null);
                }
                else
                {
                    string str = DownloadThePackage();
                    DispatchUpdateInfo(str);
                }
            }
            else
            {
                return;
            }
        }