diff --git a/BuildAll.bat b/BuildAll.bat
new file mode 100644
index 0000000..538fa1f
--- /dev/null
+++ b/BuildAll.bat
@@ -0,0 +1,51 @@
+echo off
+SET VS=14.0
+SET BUILDER=%ProgramFiles(x86)%\MSBuild\%VS%\Bin\MSBuild.exe
+SET InnoCompiler=%ProgramFiles(x86)%\Inno Setup 5\ISCC.exe
+
+
+:build32
+echo %DATE% %TIME%: Cleaning MFIGamepadFeeder (x86)
+"%BUILDER%" MFIGamepadFeeder.sln /maxcpucount:1 /t:clean /p:Platform=x86;Configuration="Release (Local)"
+set BUILD_STATUS=%ERRORLEVEL%
+if not %BUILD_STATUS%==0 goto fail
+
+echo %DATE% %TIME%: Building MFIGamepadFeeder (x86)
+"%BUILDER%" MFIGamepadFeeder.sln /maxcpucount:4 /p:Platform=x86;Configuration="Release (Local)"
+set BUILD_STATUS=%ERRORLEVEL%
+if not %BUILD_STATUS%==0 goto fail
+
+:build64
+echo %DATE% %TIME%: Cleaning MFIGamepadFeeder (x64)
+"%BUILDER%" MFIGamepadFeeder.sln /maxcpucount:1 /t:clean /p:Platform=x64;Configuration="Release (Local)"
+set BUILD_STATUS=%ERRORLEVEL%
+if not %BUILD_STATUS%==0 goto fail
+
+echo %DATE% %TIME%: Building MFIGamepadFeeder (x64)
+"%BUILDER%" MFIGamepadFeeder.sln /maxcpucount:4 /p:Platform=x64;Configuration="Release (Local)"
+set BUILD_STATUS=%ERRORLEVEL%
+if not %BUILD_STATUS%==0 goto fail
+
+:inno32
+echo %DATE% %TIME%: Compiling the Inno Setup Script (x86)
+IF NOT EXIST "%InnoCompiler%" GOTO NOINNO
+"%InnoCompiler%" setup_x86.iss
+set INNO_STATUS=%ERRORLEVEL%
+if not %INNO_STATUS%==0 goto fail
+echo %DATE% %TIME%: Compiling the Inno Setup Script (x86) - OK
+
+:inno64
+echo %DATE% %TIME%: Compiling the Inno Setup Script (x64)
+IF NOT EXIST "%InnoCompiler%" GOTO NOINNO
+"%InnoCompiler%" setup_x64.iss
+set INNO_STATUS=%ERRORLEVEL%
+if not %INNO_STATUS%==0 goto fail
+echo %DATE% %TIME%: Compiling the Inno Setup Script (x64) - OK
+exit /b 0
+
+:NOINNO
+echo %DATE% %TIME%: Could not find Inno Setup Compiler
+goto fail
+
+:fail
+exit /b 1
diff --git a/MFIGamepadFeeder/App.xaml.cs b/MFIGamepadFeeder/App.xaml.cs
index a1095c1..ad67e2b 100644
--- a/MFIGamepadFeeder/App.xaml.cs
+++ b/MFIGamepadFeeder/App.xaml.cs
@@ -1,17 +1,20 @@
using System;
-using System.Collections.Generic;
-using System.Configuration;
-using System.Data;
-using System.Linq;
-using System.Threading.Tasks;
using System.Windows;
+using NBug;
namespace MFIGamepadFeeder
{
///
- /// Interaction logic for App.xaml
+ /// Interaction logic for App.xaml
///
public partial class App : Application
{
+ public App()
+ {
+ Settings.ReleaseMode = true;
+
+ AppDomain.CurrentDomain.UnhandledException += Handler.UnhandledException;
+ Current.DispatcherUnhandledException += Handler.DispatcherUnhandledException;
+ }
}
-}
+}
\ No newline at end of file
diff --git a/MFIGamepadFeeder/MFIGamepadFeeder.csproj b/MFIGamepadFeeder/MFIGamepadFeeder.csproj
index 72aaf10..cd9cdf0 100644
--- a/MFIGamepadFeeder/MFIGamepadFeeder.csproj
+++ b/MFIGamepadFeeder/MFIGamepadFeeder.csproj
@@ -152,6 +152,10 @@
..\packages\HidSharp.1.5\lib\net35\HidSharp.dll
True
+
+ ..\packages\NBug.1.2.2\lib\net40-client\NBug.dll
+ True
+
..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll
True
diff --git a/MFIGamepadFeeder/MappingEditorWindow.xaml.cs b/MFIGamepadFeeder/MappingEditorWindow.xaml.cs
index 3d224b5..0a82a75 100644
--- a/MFIGamepadFeeder/MappingEditorWindow.xaml.cs
+++ b/MFIGamepadFeeder/MappingEditorWindow.xaml.cs
@@ -29,7 +29,7 @@ public MappingEditorWindow()
private SimplifiedHidPreview SimplifiedHidPreview { get; }
private void Grid_Loaded(object sender, RoutedEventArgs e)
- {
+ {
HidDeviceCombobox.ItemsSource = SimplifiedHidPreview.HidManager.FoundDevices;
SimplifiedHidPreview.CurrentHidState
.ObserveOn(Application.Current.Dispatcher)
diff --git a/MFIGamepadFeeder/packages.config b/MFIGamepadFeeder/packages.config
index bd8dac0..ba396ae 100644
--- a/MFIGamepadFeeder/packages.config
+++ b/MFIGamepadFeeder/packages.config
@@ -2,6 +2,7 @@
+