private static void UninstallVAE(MFilesServerApplication server, VaultOnServer vaultOnServer, RetryingVaultConnection vaultConnection, string applicationGuid)
 {
     if (!vaultConnection.DoWithReconnect(vault => TryUninstallCustomApplication(vault, applicationGuid)))
     {
         return;
     }
     Console.WriteLine("[INFO] Completed uninstallation...");
 }
 private static void ReinstallApplication(FileInfo appFile, MFilesServerApplication server, VaultOnServer vaultOnServer, RetryingVaultConnection vaultConnection, string applicationGuid)
 {
     Console.WriteLine("[INFO] Checking for previous installation of the application...");
     if (vaultConnection.DoWithReconnect(vault => IsApplicationInstalled(vault, applicationGuid)))
     {
         Console.WriteLine("[INFO] Found previous installation of the application...");
         Console.WriteLine("[INFO] Uninstalling the previous installation of the application...");
         UninstallVAE(server, vaultOnServer, vaultConnection, applicationGuid);
     }
     Console.WriteLine("[INFO] Installing the application...");
     vaultConnection.DoWithReconnect(vault => vault.CustomApplicationManagementOperations.InstallCustomApplication(appFile.FullName));
     Console.WriteLine("[INFO] Completed installation of the application...");
     Console.WriteLine($"[INFO] Restarting the vault <{vaultOnServer.Name}>...");
     server.VaultManagementOperations.TakeVaultOffline(vaultOnServer.GUID, true);
     server.VaultManagementOperations.BringVaultOnline(vaultOnServer.GUID);
     Console.WriteLine($"[INFO] Completed restarting the vault <{vaultOnServer.Name}>...");
 }