/*______________________________________________________________________________________________________________________________________________*/ private async void btnInstallService_Click(object sender, RoutedEventArgs e) { LoaderWindow.Show(this, "نصب سرویس ..."); var svcManager = new Service.Manager(); var path = String.Format("{0}\\Service.exe", Environment.CurrentDirectory); var result = svcManager.InstallService(path, App.ProxyService.ServiceName, "Doctor Proxy Service"); App.ProxyService.Installed = result; await Task.Delay(1000); if (result == true) { App.ProxyService.IsRunning = await RunService(); } LoaderWindow.CloseLoader(); if (result != true) { MessageBox.Show("نصب سرویس امکانپذیر نیست، برای بررسی خطای رخ داده، رخدادهای نرمافزار را بررسی کنید.", "خطای نصب سرویس"); } }
private async void btnRunService_Click(object sender, RoutedEventArgs e) { LoaderWindow.Show(this, "اجرای سرویس ..."); var result = await RunService(); App.ProxyService.IsRunning = result; LoaderWindow.CloseLoader(); if (result == false) { MessageBox.Show("اجرای سرویس امکانپذیر نیست، برای بررسی خطای رخ داده، رخدادهای نرمافزار را بررسی کنید.", "خطای اجرای سرویس"); } }
private async void btnStopService_Click(object sender, RoutedEventArgs e) { LoaderWindow.Show(this, "توقف سرویس ..."); var result = await Task.Run(() => { var svcManager = new Service.Manager(); return(svcManager.StopService(App.ProxyService.ServiceName, 10000)); }); App.ProxyService.IsRunning = !result; LoaderWindow.CloseLoader(); if (result == false) { MessageBox.Show("توقف سرویس امکانپذیر نیست، برای بررسی خطای رخ داده، رخدادهای نرمافزار را بررسی کنید.", "خطای توقف سرویس"); } }
private async void btnMakeCert_Click(object sender, RoutedEventArgs e) { var success = false; if (String.IsNullOrEmpty(certModel.CommonName)) { MessageBox.Show("CN را وارد کنید.", "خطای پردازش"); return; } LoaderWindow.Show(this, "صدور گواهی ..."); var svcManager = new Service.Manager(); if (svcManager.StopService(App.ProxyService.ServiceName, 10000)) { App.ProxyService.IsRunning = false; try { if (Directory.Exists(keysFolder)) { FileExtentions.DeleteFilesExept(keysFolder, "dh.pem"); } else { Directory.CreateDirectory(keysFolder); } using (var fsDb = File.Create(dbPath)) { }; using (var fsSr = File.Create(serialPath)) { var data = Encoding.Default.GetBytes("01\n"); fsSr.Write(data, 0, data.Length); fsSr.Close(); }; if (await MakeIssuerCA() && await MakeCsr(true) && await MakeCsr(false)) { if (await MakeCsr(true)) { success = true; FileExtentions.DeleteFilesExept(keysFolder, "dh.pem", "ca.crt", "server.crt", "server.key", "client.crt", "client.key"); MessageBox.Show("صدور گواهی با موفقیت انجام شد.\n یادآوری: تنظیمات کلاینت را دوباره دریافت کنید.", "صدور گواهی"); } } } catch (Exception ex) { Log.Write(MethodInfo.GetCurrentMethod(), ex); if (!success) { MessageBox.Show("در عملیات صدور گواهی خطایی رخ داده است، برای آگاهی بیشتر رخدادهای نرمافزار را بررسی کنید.", "خطای صدور گواهی"); } } LoaderWindow.UpdateStatus("اجرای سرویس ..."); App.ProxyService.IsRunning = svcManager.StartService(App.ProxyService.ServiceName, 10000); LoaderWindow.CloseLoader(); if (success) { this.Close(); } } }