aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.AdvancedInstaller
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2020-01-12 15:56:50 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2020-01-12 15:56:50 +0200
commit9949e351e152a929da696ef2f0a1f8b1668e83fa (patch)
tree40212bc488ea64cbaf137455c6a2280333c997dc /Software/Visual_Studio/Tango.AdvancedInstaller
parent9016d57f876a70952dda4419d68b568b586ef0ec (diff)
downloadTango-9949e351e152a929da696ef2f0a1f8b1668e83fa.tar.gz
Tango-9949e351e152a929da696ef2f0a1f8b1668e83fa.zip
Merged Beta+ fixes to master.
Diffstat (limited to 'Software/Visual_Studio/Tango.AdvancedInstaller')
-rw-r--r--Software/Visual_Studio/Tango.AdvancedInstaller/InstallerBuilder.cs27
1 files changed, 24 insertions, 3 deletions
diff --git a/Software/Visual_Studio/Tango.AdvancedInstaller/InstallerBuilder.cs b/Software/Visual_Studio/Tango.AdvancedInstaller/InstallerBuilder.cs
index ed52aeb05..2beb849ea 100644
--- a/Software/Visual_Studio/Tango.AdvancedInstaller/InstallerBuilder.cs
+++ b/Software/Visual_Studio/Tango.AdvancedInstaller/InstallerBuilder.cs
@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Tango.Core.Components;
@@ -9,13 +11,32 @@ namespace Tango.AdvancedInstaller
{
public class InstallerBuilder
{
+ private const string ADVANCED_INSTALLER_BASE_FOLDER = @"C:\Program Files (x86)\Caphyon";
+
public String AdvancedInstallerPath { get; set; }
public String ProjectFile { get; private set; }
private InstallerBuilder()
{
- AdvancedInstallerPath = @"C:\Program Files (x86)\Caphyon\Advanced Installer 15.6\bin\x86\AdvancedInstaller.com";
+ double latestVersion = 0.0;
+
+ //Extract the latest advanced installer version...
+ foreach (var folder in Directory.GetDirectories(ADVANCED_INSTALLER_BASE_FOLDER))
+ {
+ try
+ {
+ var versionString = Regex.Match(Path.GetFileName(folder), @"\d+\.*\d+").Value;
+ double version = double.Parse(versionString);
+ if (version > latestVersion)
+ {
+ latestVersion = version;
+ }
+ }
+ catch { }
+ }
+
+ AdvancedInstallerPath = $@"{ADVANCED_INSTALLER_BASE_FOLDER}\Advanced Installer {latestVersion}\bin\x86\AdvancedInstaller.com";
}
public InstallerBuilder(String projectFile) : this()
@@ -72,7 +93,7 @@ namespace Tango.AdvancedInstaller
public Task Uninstall()
{
- return Task.Factory.StartNew(() =>
+ return Task.Factory.StartNew(() =>
{
String productName = GetProperty(ProjectProperty.ProductName).Result;
CmdCommand command = new CmdCommand("wmic", $"product where name=\"{productName}\" call uninstall /nointeractive");
@@ -83,7 +104,7 @@ namespace Tango.AdvancedInstaller
public Task<bool> IsInstalled()
{
- return Task.Factory.StartNew<bool>(() =>
+ return Task.Factory.StartNew<bool>(() =>
{
String productName = GetProperty(ProjectProperty.ProductName).Result;
CmdCommand command = new CmdCommand("wmic", $"product get name");