From 989bb48596664313df15dc67d43dc5a174562dcd Mon Sep 17 00:00:00 2001 From: Eric Reed Date: Thu, 28 Feb 2013 14:29:17 -0500 Subject: Start on new update routines --- MediaBrowser.ServerApplication/ApplicationHost.cs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs index 5ba0485ed..d4b19e872 100644 --- a/MediaBrowser.ServerApplication/ApplicationHost.cs +++ b/MediaBrowser.ServerApplication/ApplicationHost.cs @@ -1,4 +1,5 @@ -using BDInfo; +using System.Security; +using BDInfo; using MediaBrowser.ClickOnce; using MediaBrowser.Common.Implementations; using MediaBrowser.Common.Implementations.HttpClientManager; @@ -13,6 +14,8 @@ using MediaBrowser.Common.IO; using MediaBrowser.Common.Kernel; using MediaBrowser.Common.Net; using MediaBrowser.Common.ScheduledTasks; +using MediaBrowser.Common.Security; +using MediaBrowser.Common.Updates; using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using MediaBrowser.IsoMounter; @@ -145,7 +148,7 @@ namespace MediaBrowser.ServerApplication /// true if this instance can self update; otherwise, false. public bool CanSelfUpdate { - get { return ClickOnceHelper.IsNetworkDeployed; } + get { return true; } } /// @@ -154,10 +157,14 @@ namespace MediaBrowser.ServerApplication /// The cancellation token. /// The progress. /// Task{CheckForUpdateResult}. - public Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) + public async Task CheckForApplicationUpdate(CancellationToken cancellationToken, IProgress progress) { - // Get package manager using Resolve() - return new ApplicationUpdateCheck().CheckForApplicationUpdate(cancellationToken, progress); + var pkgManager = Resolve(); + var availablePackages = await pkgManager.GetAvailablePackages(Resolve(), Resolve(), Kernel.SecurityManager, Kernel.ResourcePools, Resolve(), CancellationToken.None).ConfigureAwait(false); + var version = Kernel.InstallationManager.GetLatestCompatibleVersion(availablePackages, "MBServer", Kernel.Configuration.SystemUpdateLevel); + + return version != null ? new CheckForUpdateResult {AvailableVersion = version.version, IsUpdateAvailable = version.version > ApplicationVersion, Package = version} : + new CheckForUpdateResult(); } /// -- cgit v1.2.3