/// <summary> /// When the program is started /// </summary> private async void MainForm_Load(object sender, EventArgs e) { // set the course save path. SavePathTextBox.Text = Path.Combine(Application.StartupPath, "课程下载"); // Check if there is a new version. var currentVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; var update = new VersionUpdate(); try { var newVersionInfo = await update.GetNewVersionAsync(); var version = Version.Parse(newVersionInfo.Version); if (version > currentVersion) { /** * exist new version. * * https://docs.microsoft.com/en-us/dotnet/standard/assembly/versioning * <主版本>.<次版本>.<生成号>.<修订版本> * <major version>.<minor version>.<build number>.<revision> */ var form = new VersionForm(newVersionInfo); form.ShowDialog(); } } catch (Exception) { Log("检测升级失败."); } }
private static void AskAndProcessUpdate(VersionUpdate updateResult) { if (MessageBox.Show( "There is an update available for 'Local nuget manager' extension !" + Environment.NewLine + "Do you want to download it now ?", "Yeah, new shiny stuff !", MessageBoxButtons.YesNo) == DialogResult.Yes) { Update(updateResult); } }
private void mainWindow_Loaded(object sender, RoutedEventArgs e) { buttonUpdate.Visibility = Visibility.Collapsed; Task.Run(() => { bool canUpdate = VersionUpdate.HasUpdate(); if (canUpdate) { this.Dispatcher.Invoke(() => { buttonUpdate.Visibility = Visibility.Visible; }); } }); }
public void RestartVersionUpdate() { Transform versionUpdate = transform.Find("VersionUpdate"); VersionUpdate comp = versionUpdate.GetComponent <VersionUpdate>(); if (comp != null) { Destroy(comp); } versionUpdate.gameObject.SetActive(true); versionUpdate.gameObject.AddComponent <VersionUpdate>(); }
public async Task <IHttpActionResult> Add([FromBody] VersionUpdate versionUpdate) { versionUpdate.ModifyTime = DateTime.Now; versionUpdate.CreateTime = DateTime.Now; var data = ModelContext.DatabaseContext.VersionUpdate.Add(versionUpdate); await ModelContext.DatabaseContext.SaveChangesAsync(); ResponseData <VersionUpdate> result = new ResponseData <VersionUpdate> { Data = data }; return(Json(result)); }
//Methods public void IncreaseVersion(VersionUpdate versionUpdate) { switch (versionUpdate) { case VersionUpdate.Major: Major += 1; break; case VersionUpdate.Minor: Minor += 1; break; default: case VersionUpdate.Change: Change += 1; break; } }
private static bool Update(VersionUpdate updateResult) { if (!updateResult.IsUpdateAvailable) { return(false); } var remoteVsix = updateResult.IsBeta ? Settings.Default.RemoteVsixPath_Beta : Settings.Default.RemoteVsixPath; if (!File.Exists(remoteVsix)) { return(false); } Process.Start(remoteVsix); return(true); }
void Start() { PathUtils.Init(); LogUtils.Init(PathUtils.GetPersistentPath()); LogUtils.Log("main start!"); CoroutineTaskMgr mgr = gameObject.GetComponent <CoroutineTaskMgr>(); if (mgr == null) { mgr = gameObject.AddComponent <CoroutineTaskMgr>(); } LoopUpdateMgr looper = gameObject.GetComponent <LoopUpdateMgr>(); if (looper == null) { looper = gameObject.AddComponent <LoopUpdateMgr>(); } LoopUpdateMgr.GetInst().Init(); CoroutineTaskMgr.GetInst().Init(); VersionUpdate.GetIns().Init(); VersionUpdate.GetIns().StartStatus(VesionUpdateStatus.Game); }
public async Task <IHttpActionResult> Update([FromBody] VersionUpdate versionUpdate) { var query = from a in ModelContext.DatabaseContext.VersionUpdate where a.Id == versionUpdate.Id select a; var data = query.FirstOrDefault(); var responseData = new ResponseData <VersionUpdate>() { Message = data == null ? "未找到该更新信息" : "", Data = data }; if (data != null) { ReflectionHelper.CopyProperties(versionUpdate, data, new string[] { "Id" }); data.ModifyTime = DateTime.Now; ModelContext.DatabaseContext.Entry(data).State = System.Data.Entity.EntityState.Modified; await ModelContext.DatabaseContext.SaveChangesAsync(); } return(Json(responseData)); }
void Update() { VersionUpdate.GetIns().Update(); LogUtils.Update(); }
private static async void AsyncCheckVersion(int retry = 0) { var http = new HttpClient { BaseAddress = new Uri(versionURI) }; var json = JsonSerializer.Create(); var cachedVersion = GetCachedVersion(out var notify); var req = string.Empty; try { req = await http.GetStringAsync(string.Empty); } catch (HttpRequestException e) { Console.WriteLine("[Updater] Failed to get current version. Caused by"); Console.WriteLine(e.ToString()); if (retry < netRetryCount) { AsyncCheckVersion(retry + 1); return; } } VersionUpdate update = new VersionUpdate(); try { using (JsonTextReader jsonReader = new JsonTextReader(new StringReader(req))) { update = json.Deserialize <VersionUpdate>(jsonReader); } } catch (Exception) { Console.WriteLine("Failed to read current version info."); return; } var currentVer = Version.Parse(update.Version); var cacheValidTo = DateTime.UtcNow + update.CacheDuration; if (currentVer == null || cachedVersion >= currentVer) { currentVer = cachedVersion; } if (currentVer > LauncherVersion) { var args = new VersionUpdateEventArgs(update); NewVersion?.Invoke(null, args); if (notify) { NotifyNewVersion?.Invoke(null, args); notify = false; } } WriteVersionCache(notify, currentVer, cacheValidTo); }
public VersionUpdateEventArgs(VersionUpdate version) { Version = version; }
public static void PerformBuild(List <EditorBuildSettingsScene> buildScenes, string company, string productName, List <BuildTargetDef> buildTargets, VersionUpdate versionUpdate, bool forceVersion, Vector3Int forcedVersion, bool devBuild, bool connectProfiler, bool allowDebugging, bool headless, string bundleID) { CheckBuildTargetsForDuplicatesAndOnlyOneAutoRun(buildTargets); if (buildTargets.Count == 0) { return; } AddAutoIncludedScenes(buildScenes, AssetTools.FindAssetsByType <SceneAsset>(log: false, null)); BuildOptions options = BuildOptions.None; if (devBuild) { options |= BuildOptions.Development; } if (allowDebugging) { options |= BuildOptions.AllowDebugging; } if (headless) { options |= BuildOptions.EnableHeadlessMode; } if (connectProfiler) { options |= BuildOptions.ConnectWithProfiler; } // Save current player settings, and then set target settings. string preBuildCompanyName = PlayerSettings.companyName; string preBuildProductName = PlayerSettings.productName; string oldVersion = PlayerSettings.bundleVersion; EditorBuildSettingsScene[] scenes = CheckForNullsAndDuplicateScenes(buildScenes); Vector3Int version; if (forceVersion) { version = forcedVersion; } else { GetLatestVersion(out version); switch (versionUpdate) { case VersionUpdate.Major: version.x++; break; case VersionUpdate.Minor: version.y++; break; case VersionUpdate.Patch: version.z++; break; } } string versionS = version.x.ToString() + "." + version.y.ToString() + "." + version.z.ToString(); string versionDir = GenerateVersionDirectory(versionS); PlayerSettings.companyName = company; PlayerSettings.productName = productName; PlayerSettings.bundleVersion = versionS; int successCount = 0; int failCount = 0; for (int i = 0; i < buildTargets.Count; i++) { bool success = BuildPlayer(scenes, options, versionDir, productName, buildTargets[i].buildTarget, buildTargets[i].autoRun, buildTargets[i].customDefines, bundleID); if (success) { ++successCount; } else { ++failCount; } } //restore old player settings PlayerSettings.companyName = preBuildCompanyName; PlayerSettings.productName = preBuildProductName; PlayerSettings.bundleVersion = oldVersion; // Report success/failure. Debug.Log("Build Complete. " + string.Format("{0} success. {1} failure.", successCount, failCount)); System.Diagnostics.Process.Start(versionDir); }
public static void PerformBuild(List <EditorBuildSettingsScene> buildScenes, string company, string productName, List <BuildTargetDef> buildTargets, VersionUpdate versionUpdate, bool devBuild, bool connectProfiler, bool allowDebugging, bool headless, string bundleID = null) { PerformBuild(buildScenes, company, productName, buildTargets, versionUpdate, false, Vector3Int.zero, devBuild, connectProfiler, allowDebugging, headless, bundleID); }