Skip to content

Commit 1bd4052

Browse files
authored
add manual update #30 (#31)
Добавить возможность ручного вызова авто-обновления close #30
1 parent b6ad1c3 commit 1bd4052

File tree

6 files changed

+35
-10
lines changed

6 files changed

+35
-10
lines changed

PrinterApp/AutoUpdater.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,14 @@ public void StopTimer()
5050
_dispatcherTimer.Stop();
5151
}
5252

53+
public void ManualUpdate()
54+
{
55+
Log.Information(
56+
$"{GetType().Name} {MethodBase.GetCurrentMethod()?.Name}: Manual update");
57+
Marketing.ManualUpdate();
58+
new Task(async () => await CheckNewVersion()).Start();
59+
}
60+
5361
private async void DispatcherTimer_Tick(object? sender, EventArgs e)
5462
{
5563
var timeNow = DateTime.Now.TimeOfDay;

PrinterApp/MainWindow.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
xmlns:local="clr-namespace:PrinterApp"
77
mc:Ignorable="d"
88
Title="PrintApp" Height="900" Width="1600"
9-
Closed="MainWindow_OnClosed"
9+
Closing="MainWindow_OnClosing"
1010
FontFamily="/PrinterApp;component/Fonts/#Roboto"
1111
WindowState="Maximized"
1212
WindowStyle="None"

PrinterApp/MainWindow.xaml.cs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Serilog;
22
using System;
3-
using System.Diagnostics;
3+
using System.ComponentModel;
44
using System.Reflection;
55
using System.Text.RegularExpressions;
66
using System.Timers;
@@ -158,20 +158,26 @@ private void Print_OnClick(object sender, RoutedEventArgs e)
158158
}
159159
}
160160

161-
private void MainWindow_OnClosed(object sender, EventArgs e)
161+
private void MainWindow_OnClosing(object? sender, CancelEventArgs e)
162162
{
163+
if (_printerModel.PrinterViewModel.CodeTextBoxText == "UPDATE")
164+
{
165+
_printerModel.PrinterViewModel.CodeTextBoxText = "";
166+
_autoUpdater.ManualUpdate();
167+
e.Cancel = true;
168+
return;
169+
}
170+
163171
if (_printerModel.WrongExitCode())
164172
{
165-
_autoUpdater.StopTimer();
166173
Marketing.CloseWithoutAccessProgram();
167174
Log.Information(
168175
$"{GetType().Name} {MethodBase.GetCurrentMethod()?.Name}: Attempt to close without access");
169-
Log.Information(
170-
$"{GetType().Name} {MethodBase.GetCurrentMethod()?.Name}: Start {Environment.ProcessPath!}");
171-
Process.Start(Environment.ProcessPath!);
172-
Log.CloseAndFlush();
173-
Environment.Exit(0);
176+
e.Cancel = true;
177+
return;
174178
}
179+
180+
_autoUpdater.StopTimer();
175181
}
176182

177183
private void ManualPrint_OnClick(object sender, RoutedEventArgs e)

PrinterApp/Marketing.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,5 +125,14 @@ public static void UpdateDownloaded()
125125
pathFrom: "",
126126
pathTo: "");
127127
}
128+
129+
public static void ManualUpdate()
130+
{
131+
Post(
132+
action: "print terminal manual update",
133+
status: "ok",
134+
pathFrom: "",
135+
pathTo: "");
136+
}
128137
}
129138
}

PrinterApp/PrinterApp.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<Title>PrinterApp</Title>
1212
<Description>gui fo work https://app.profcomff.com/print/docs</Description>
1313
<Authors>Dyakov EI</Authors>
14-
<Version>2.0.10.1</Version>
14+
<Version>2.0.11.0</Version>
1515
<Company>dyakov.space</Company>
1616
<Copyright>dyakov.space @ 2022</Copyright>
1717
</PropertyGroup>

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ if (githubVersion != currentVersion)
5858
Если они отличаются то скачиваем новый архив `PrinterApp_x86.zip` пример запроса `https://github.com/profcomff/print-winapp/releases/download/v2.0.7/PrinterApp_x86.zip` и запускаем обновление. Распаковка архива происходит стандартными средствами windows. Подход в простом сравнении позволяет делать как обновление до новой версии, так и автоматический откат к старой версии.
5959
**Для автоматической сборки и публикации нового выпуска** на github необходимо создать метку вида `v*` например `v2.0.7` (Не стоит создавать релизы иным способом).
6060

61+
Обновление можно запустить в ручном режиме, начиная с версии v2.0.11, введя в окно кода `UPDATE` и нажав `Alt+F4`.
62+
6163
### Версионирование
6264

6365
При подготовке новой версии программы следует изменять версию программы согласно [нумерации версии программного обеспечения](https://ru.wikipedia.org/wiki/%D0%9D%D1%83%D0%BC%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B9_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8F#%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D1%82%D0%B0%D0%B4%D0%B8%D0%B8_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8) в файле `PrinterApp/PrinterApp.csproj` переменная `<Version>2.0.7.0</Version>`.

0 commit comments

Comments
 (0)