diff --git a/wpf_ax_utility.sln b/wpf_ax_utility.sln
new file mode 100644
index 0000000..231b60a
--- /dev/null
+++ b/wpf_ax_utility.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.32002.185
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wpf_ax_utility", "wpf_ax_utility\wpf_ax_utility.csproj", "{19D34C84-1A58-42AF-BACB-73E1F3592748}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {19D34C84-1A58-42AF-BACB-73E1F3592748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {19D34C84-1A58-42AF-BACB-73E1F3592748}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {19D34C84-1A58-42AF-BACB-73E1F3592748}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {19D34C84-1A58-42AF-BACB-73E1F3592748}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {FD2EC41D-E3AA-4E6B-8AEE-9E2BD696452A}
+ EndGlobalSection
+EndGlobal
diff --git a/wpf_ax_utility/App.xaml b/wpf_ax_utility/App.xaml
new file mode 100644
index 0000000..833cd3f
--- /dev/null
+++ b/wpf_ax_utility/App.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/wpf_ax_utility/App.xaml.cs b/wpf_ax_utility/App.xaml.cs
new file mode 100644
index 0000000..38984df
--- /dev/null
+++ b/wpf_ax_utility/App.xaml.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace wpf_ax_utility
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/wpf_ax_utility/AssemblyInfo.cs b/wpf_ax_utility/AssemblyInfo.cs
new file mode 100644
index 0000000..8b5504e
--- /dev/null
+++ b/wpf_ax_utility/AssemblyInfo.cs
@@ -0,0 +1,10 @@
+using System.Windows;
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
diff --git a/wpf_ax_utility/MainWindow.xaml b/wpf_ax_utility/MainWindow.xaml
new file mode 100644
index 0000000..afca0fd
--- /dev/null
+++ b/wpf_ax_utility/MainWindow.xaml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wpf_ax_utility/MainWindow.xaml.cs b/wpf_ax_utility/MainWindow.xaml.cs
new file mode 100644
index 0000000..a12b1ef
--- /dev/null
+++ b/wpf_ax_utility/MainWindow.xaml.cs
@@ -0,0 +1,92 @@
+using System;
+using System.IO;
+using System.Windows;
+using System.Windows.Controls;
+
+namespace wpf_ax_utility
+{
+ public partial class MainWindow : Window
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ private void ButtonClicked(object sender, RoutedEventArgs e)
+ {
+ AucCleaner();
+
+ string AxClient = @"C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe";
+ string AxArguments = string.Empty;
+
+ switch (((Button)sender).Name)
+ {
+ case "LIVE":
+ AxArguments = @"-regConfig=L:\Link\PAL_LIVE_02_USR.axc";
+ break;
+ case "DEV":
+ AxArguments = @"-regConfig=L:\Link\PAL_DEVELOP_USR.axc";
+ break ;
+ case "TEST":
+ AxArguments = @"-regConfig=L:\Link\PAL_TEST_USR.axc";
+ break;
+ case "STAGING":
+ AxArguments = @"-regConfig=L:\Link\PAL_STAGING_USR.axc";
+ break; ;
+ }
+
+ AxExecution(AxClient, AxArguments);
+ }
+
+ public static void AxExecution(string AxClient, string AxArgs)
+ {
+ if (System.IO.File.Exists(AxClient))
+ {
+ var p = new System.Diagnostics.Process();
+ p.StartInfo.FileName = AxClient;
+ p.StartInfo.Arguments = AxArgs;
+ p.StartInfo.RedirectStandardOutput = true;
+ p.StartInfo.UseShellExecute = false;
+ p.StartInfo.CreateNoWindow = true;
+ p.Start();
+ }
+ else
+ {
+ MessageBox.Show("Microsoft Dynamics Ax 2012 non è installato.", "Informazioni PAL Ax Utility", MessageBoxButton.OK, MessageBoxImage.Error);
+ }
+ }
+
+ public static void AucCleaner()
+ {
+ string sourceDir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
+ string aucFile = ".auc";
+
+ DirectoryInfo directory = new DirectoryInfo(sourceDir);
+ FileInfo[] files = directory.GetFiles();
+
+ bool fileFound = false;
+ foreach (FileInfo file in files)
+ {
+ if (String.Compare(file.Extension, aucFile) == 0)
+ {
+ fileFound = true;
+ }
+ }
+
+ if (!fileFound)
+ {
+ MessageBox.Show("Non sono presenti file .AUC",
+ "Informazioni PAL Ax Utility", MessageBoxButton.OK, MessageBoxImage.Information);
+ }
+ else
+ {
+ string[] aucList = Directory.GetFiles(sourceDir, "*.auc");
+
+ foreach (string f in aucList)
+ {
+ File.Delete(f);
+ }
+ }
+ }
+ }
+}
diff --git a/wpf_ax_utility/axlogo.png b/wpf_ax_utility/axlogo.png
new file mode 100644
index 0000000..6e0ca20
Binary files /dev/null and b/wpf_ax_utility/axlogo.png differ
diff --git a/wpf_ax_utility/pallogo.png b/wpf_ax_utility/pallogo.png
new file mode 100644
index 0000000..e4fd3e9
Binary files /dev/null and b/wpf_ax_utility/pallogo.png differ
diff --git a/wpf_ax_utility/wpf_ax_utility.csproj b/wpf_ax_utility/wpf_ax_utility.csproj
new file mode 100644
index 0000000..4844db5
--- /dev/null
+++ b/wpf_ax_utility/wpf_ax_utility.csproj
@@ -0,0 +1,19 @@
+
+
+
+ WinExe
+ net6.0-windows
+ enable
+ true
+
+
+
+
+
+
+
+
+
+
+
+