async Task ProcessFiles(CheckForUpdateResult rpResult) { if (rpResult.Files != null) { foreach (var rFileUpdate in rpResult.Files) { var rFile = new FileInfo(rFileUpdate.Name); switch (rFileUpdate.Action) { case CheckForUpdateFileAction.CreateOrOverwrite: EnsureDirectory(rFile); using (var rWriter = new StreamWriter(rFile.Open(FileMode.Create, FileAccess.Write, FileShare.Read))) await rWriter.WriteAsync(rFileUpdate.Content); rFile.LastWriteTime = DateTimeUtil.FromUnixTime(rFileUpdate.Timestamp).LocalDateTime; break; case CheckForUpdateFileAction.Delete: NativeMethods.Kernel32.DeleteFileW(rFile.FullName); break; case CheckForUpdateFileAction.Rename: EnsureDirectory(rFile); rFile.MoveTo(rFileUpdate.Content); break; } } } }
public static Task <CheckForUpdateResult> CheckForApplicationUpdate(Version currentVersion, PackageVersionClass updateLevel, IInstallationManager installationManager, CancellationToken cancellationToken, IProgress <double> progress) { var result = new CheckForUpdateResult { AvailableVersion = currentVersion.ToString(), IsUpdateAvailable = false }; return(Task.FromResult(result)); }