diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2020-01-12 15:56:50 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2020-01-12 15:56:50 +0200 |
| commit | 9949e351e152a929da696ef2f0a1f8b1668e83fa (patch) | |
| tree | 40212bc488ea64cbaf137455c6a2280333c997dc /Software/Visual_Studio/Tango.AdvancedInstaller | |
| parent | 9016d57f876a70952dda4419d68b568b586ef0ec (diff) | |
| download | Tango-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.cs | 27 |
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"); |
