/// <summary> /// Kontruktor /// </summary> /// <param name="Settings">Die lokalen Updateeinstellungen</param> /// <param name="Result">Das Suchresultat</param> /// <param name="Config">Die heruntergeladene Updatekonfiguration</param> /// <param name="changelogs">Die Changelogs</param> /// <param name="requestElevation">Gibt an, ob eine Elevation notwendig ist.</param> public updatePreviewDialog(UpdateSettings Settings, List <updatePackage> Result, updateConfiguration Config, changelogDictionary changelogs, bool requestElevation) { InitializeComponent(); Font = SystemFonts.MessageBoxFont; SizeChanged += UpdateDialog_SizeChanged; //Setze private Variablen m_settings = Settings; m_result = Result; m_config = Config; m_changelogs = changelogs; //Setze Sprachstrings lblStatus.Text = localizationHelper.Instance.controlText(lblStatus); btnCancel.Text = localizationHelper.Instance.controlText(btnCancel); btnStartUpdate.Text = localizationHelper.Instance.controlText(btnStartUpdate); lblCurrentVersion.Text = string.Format(localizationHelper.Instance.controlText(lblCurrentVersion), Settings.releaseInfo.Version); if (Settings.releaseInfo.Type != releaseTypes.Final) { lblCurrentVersion.Text += string.Format(" ({0} {1})", Settings.releaseInfo.Type.ToString(), Settings.releaseInfo.Step.ToString(CultureInfo.InvariantCulture)); } if (Result.Count > 0) { lblNewestVersion.Text = string.Format(localizationHelper.Instance.controlText(lblNewestVersion), Result[Result.Count - 1].releaseInfo.Version); if (Result[Result.Count - 1].releaseInfo.Type != releaseTypes.Final) { lblNewestVersion.Text += string.Format(" ({0} {1})", Result[Result.Count - 1].releaseInfo.Type.ToString(), Result[Result.Count - 1].releaseInfo.Step.ToString(CultureInfo.InvariantCulture)); } } Text = m_config.applicationName; //Updatedetails erstellen buildUpdateDetails(); //Setze vor den Start-Button ein Schild wenn der Benutzer nicht über Administratorrechte verfügt if (!IsAdmin() && Environment.OSVersion.Version.Major >= 6 && requestElevation) { SendMessage(new HandleRef(btnStartUpdate, btnStartUpdate.Handle), 0x160c, IntPtr.Zero, new IntPtr(1)); btnStartUpdate.MinimumSize = new Size( btnStartUpdate.Width + 20, //Etwas platz für das ShieldIcon schaffen btnStartUpdate.MinimumSize.Height); } //Setze Anwendungsbild try { imgApp.Image = Icon.ExtractAssociatedIcon(Assembly.GetEntryAssembly().Location).ToBitmap(); } catch { imgApp.Image = SystemIcons.Application.ToBitmap(); } }
/// <summary> /// Kontruktor /// </summary> /// <param name="Settings">Die lokalen Updateeinstellungen</param> /// <param name="Result">Das Suchresultat</param> /// <param name="Config">Die heruntergeladene Updatekonfiguration</param> /// <param name="changelogs">Die Changelogs</param> /// <param name="requestElevation">Gibt an, ob eine Elevation notwendig ist.</param> public updatePreviewDialog(UpdateSettings Settings, List<updatePackage> Result, updateConfiguration Config, changelogDictionary changelogs, bool requestElevation) { InitializeComponent(); //Systemschriftart ermitteln Font = SystemFonts.MessageBoxFont; //Initialisiere Events SizeChanged += UpdateDialog_SizeChanged; //Setze private Variablen m_settings = Settings; m_result = Result; m_config = Config; m_changelogs = changelogs; //Setze Sprachstrings lblStatus.Text = Language.GetString("UpdateForm_lblStatus_text"); btnCancel.Text = Language.GetString("general_button_cancel"); btnStartUpdate.Text = Language.GetString("UpdateForm_btnStartUpdate_text"); lblCurrentVersion.Text = string.Format(Language.GetString("UpdateForm_lblCurrentVersion_text"), Settings.releaseInfo.Version); if (Settings.releaseInfo.Type != releaseTypes.Final) lblCurrentVersion.Text += string.Format(" ({0} {1})", Settings.releaseInfo.Type.ToString(), Settings.releaseInfo.Step.ToString()); if (Result.Count > 0) { lblNewestVersion.Text = string.Format(Language.GetString("UpdateForm_lblNewestVersion_text"), Result[Result.Count - 1].releaseInfo.Version); if (Result[Result.Count - 1].releaseInfo.Type != releaseTypes.Final) { lblNewestVersion.Text += string.Format(" ({0} {1})", Result[Result.Count - 1].releaseInfo.Type.ToString(), Result[Result.Count - 1].releaseInfo.Step.ToString()); } } Text = m_config.applicationName; //Updatedetails erstellen buildUpdateDetails(); //Setze vor den Start-Button ein Schild wenn der Benutzer nicht über Administratorrechte verfügt if (!IsAdmin() && Environment.OSVersion.Version.Major >= 6 && requestElevation) { SendMessage(new HandleRef(btnStartUpdate, btnStartUpdate.Handle), 0x160c, IntPtr.Zero, new IntPtr(1)); btnStartUpdate.MinimumSize = new Size( btnStartUpdate.Width + 20, //Etwas platz für das ShieldIcon schaffen btnStartUpdate.MinimumSize.Height); } //Setze Anwendungsbild try { imgApp.Image = Icon.ExtractAssociatedIcon(Assembly.GetEntryAssembly().Location).ToBitmap(); } catch { imgApp.Image = SystemIcons.Application.ToBitmap(); } }
private void downloadChangelogs() { correspondingChangelogs = new changelogDictionary(); foreach (updatePackage package in foundUpdates) { //Changelog herunterladen byte[] rawChangelogData = webclient.DownloadData(string.Format("{0}{1}", internalHelper.prepareUpdateLocation( _controllerInstance.updateLocation, "updates"), package.getChangelogFilename())); using (var msXmlStream = new MemoryStream(rawChangelogData)) { var xmlChangelog = new XmlDocument(); xmlChangelog.Load(msXmlStream); correspondingChangelogs.Add(new enhancedVersion(package.releaseInfo, package.TargetArchitecture), new changelogDocument(xmlChangelog)); } } }
private void bgwSearch_DoWork(object sender, DoWorkEventArgs e) { try { /*Internal.Search.Provider provider = new updateSystemDotNet.Internal.Search.Provider((UpdateSettings)e.Argument); * provider.Search(); * m_config = provider.Configuration; * e.Result = provider.Result; * m_changelog = provider.Changelogs;*/ var sProvider = new searchProvider(_controller); sProvider.executeSearch(); var s = new ScheduledStart(_controller.projectId, _controller.updateCheckInterval, _controller.customUpdateCheckInterval); s.WriteCurrentDate(); m_config = sProvider.currentConfiguration; m_changelog = sProvider.correspondingChangelogs; e.Result = sProvider.foundUpdates; } catch (Exception ex) { e.Result = ex; } }
/// <summary> /// Initialisiert eine neue Instanz des <see cref="UpdateResult"/>. /// </summary> /// <param name="Result">Das Suchresultat</param> /// <param name="Configuration">Die heruntergeladene Updatekonfiguration</param> /// <param name="changelogs">Ein Dictionary mit den Heruntergeladenen Changelogs.</param> public UpdateResult(List<updatePackage> Result, updateConfiguration Configuration, changelogDictionary changelogs) { m_newUpdates = Result; m_config = Configuration; Changelogs = changelogs; }
private void bgwSearch_DoWork(object sender, DoWorkEventArgs e) { try { /*Internal.Search.Provider provider = new updateSystemDotNet.Internal.Search.Provider((UpdateSettings)e.Argument); provider.Search(); m_config = provider.Configuration; e.Result = provider.Result; m_changelog = provider.Changelogs;*/ var sProvider = new searchProvider(_controller); sProvider.executeSearch(); var s = new ScheduledStart(_controller.projectId, _controller.updateCheckInterval, _controller.customUpdateCheckInterval); s.WriteCurrentDate(); m_config = sProvider.currentConfiguration; m_changelog = sProvider.correspondingChangelogs; e.Result = sProvider.foundUpdates; } catch (Exception ex) { e.Result = ex; } }
/// <summary> /// Initialisiert eine neue Instanz des <see cref="UpdateResult"/>. /// </summary> /// <param name="Result">Das Suchresultat</param> /// <param name="Configuration">Die heruntergeladene Updatekonfiguration</param> /// <param name="changelogs">Ein Dictionary mit den Heruntergeladenen Changelogs.</param> public UpdateResult(List <updatePackage> Result, updateConfiguration Configuration, changelogDictionary changelogs) { m_newUpdates = Result; m_config = Configuration; Changelogs = changelogs; }