public async Task<string> ApplyReleases(UpdateInfo updateInfo, Action<int> progress = null)
        {
            var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
            await acquireUpdateLock();

            return await applyReleases.ApplyReleases(updateInfo, false, false, progress);
        }
예제 #2
0
        public async Task<string> ApplyReleases(UpdateInfo updateInfo, Action<int> progress = null)
        {
            var applyReleases = new ApplyReleasesImpl(applicationName, rootAppDirectory);
            await acquireUpdateLock();

            return await applyReleases.ApplyReleases(updateInfo, false, false, progress);
        }
예제 #3
0
        public async Task FullInstall(bool silentInstall, ProgressSource progress)
        {
            var partialProgress = new Action <int, int, int>((p, offset, ofTotalProgress) =>
            {
                progress.Raise(offset + (int)((double)p * (double)ofTotalProgress / 100.0));
            });

            progress.RaiseCommand("Uninstalling current version...");
            UninstallOldInstallerIfFound();
            partialProgress(100, 0, 15);

            progress.RaiseCommand("Installing VC redists...");
            InstallRedists();
            partialProgress(100, 15, 15);

            progress.RaiseCommand("Extracting Fuse...");

            var updateInfo = await CheckForUpdate();

            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(rootAppDirectory);

            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true, (p) => partialProgress(p, 30, 70));
        }
예제 #4
0
        public async Task FullInstall(bool silentInstall = false)
        {
            var updateInfo = await CheckForUpdate();
            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(applicationName, rootAppDirectory);
            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true);
        }
        public async Task FullInstall(bool silentInstall = false, Action<int> progress = null)
        {
            var updateInfo = await CheckForUpdate(intention: UpdaterIntention.Install);
            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true, progress);
        }
        public async Task FullInstall(bool silentInstall = false, Action<int> progress = null)
        {
            var updateInfo = await CheckForUpdate();
            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true, progress);
        }
예제 #7
0
        public async Task FullInstall(bool silentInstall = false)
        {
            var updateInfo = await CheckForUpdate();

            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(applicationName, rootAppDirectory);

            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true);
        }
예제 #8
0
        public async Task FullInstall(bool silentInstall, ProgressSource progress)
        {
            var partialProgress = new Action<int, int, int>((p, offset, ofTotalProgress) =>
            {
                progress.Raise(offset + (int)((double)p * (double)ofTotalProgress / 100.0));
            });

            progress.RaiseCommand("Uninstalling current version...");
            UninstallOldInstallerIfFound();
            partialProgress(100, 0, 15);

            progress.RaiseCommand("Installing VC redists...");
            InstallRedists();
            partialProgress(100, 15, 15);

            progress.RaiseCommand("Extracting Fuse...");

            var updateInfo = await CheckForUpdate();
            await DownloadReleases(updateInfo.ReleasesToApply);

            var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
            await acquireUpdateLock();

            await applyReleases.ApplyReleases(updateInfo, silentInstall, true, (p) => partialProgress(p, 30, 70));
        }