Exemplo n.º 1
0
        bool SelfUpdate()
        {
            label1.Text = "Updating updater =)";
            string oldUpdater = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, AppDomain.CurrentDomain.FriendlyName);

            ZipStorer.ZipFileEntry updater;
            try
            {
                updater = (from entry in updatePackageCatalog where entry.FilenameInZip == AppDomain.CurrentDomain.FriendlyName select entry).Single();
            }
            catch (InvalidOperationException exc)
            {
                return(false);
            }
            if (ZipStorer.CalculateCrc32(oldUpdater) != updater.Crc32)
            {
                File.Move(oldUpdater, String.Format("{0}.tmp", oldUpdater));
                return(updatePackage.ExtractFile(updater, oldUpdater));;
            }

            return(false);
        }