diff --git a/src/Squirrel/IUpdateManager.cs b/src/Squirrel/IUpdateManager.cs
index 9f580cee..6b38ed49 100644
--- a/src/Squirrel/IUpdateManager.cs
+++ b/src/Squirrel/IUpdateManager.cs
@@ -47,8 +47,9 @@ namespace Squirrel
///
/// Completely Installs a targeted app
///
+ /// If true, don't run the app once install completes.
/// Completion
- Task FullInstall();
+ Task FullInstall(bool silentInstall);
///
/// Completely uninstalls the targeted app
diff --git a/src/Squirrel/UpdateManager.ApplyReleases.cs b/src/Squirrel/UpdateManager.ApplyReleases.cs
index fc4e8f61..a813bb8c 100644
--- a/src/Squirrel/UpdateManager.ApplyReleases.cs
+++ b/src/Squirrel/UpdateManager.ApplyReleases.cs
@@ -26,7 +26,7 @@ namespace Squirrel
this.rootAppDirectory = rootAppDirectory;
}
- public async Task ApplyReleases(UpdateInfo updateInfo, Action progress = null)
+ public async Task ApplyReleases(UpdateInfo updateInfo, bool silentInstall, Action progress = null)
{
progress = progress ?? (_ => { });
@@ -40,7 +40,7 @@ namespace Squirrel
progress(50);
var newVersion = currentReleases.MaxBy(x => x.Version).First().Version;
- await invokePostInstall(newVersion, currentReleases.Count == 1);
+ await invokePostInstall(newVersion, currentReleases.Count == 1 && !silentInstall);
progress(75);
await cleanDeadVersions(newVersion);
diff --git a/src/Squirrel/UpdateManager.cs b/src/Squirrel/UpdateManager.cs
index a83e3aa2..ceb85b18 100644
--- a/src/Squirrel/UpdateManager.cs
+++ b/src/Squirrel/UpdateManager.cs
@@ -62,14 +62,18 @@ namespace Squirrel
var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
await acquireUpdateLock();
- await applyReleases.ApplyReleases(updateInfo, progress);
+ await applyReleases.ApplyReleases(updateInfo, false, progress);
}
- public async Task FullInstall()
+ public async Task FullInstall(bool silentInstall = false)
{
var updateInfo = await CheckForUpdate();
await DownloadReleases(updateInfo.ReleasesToApply);
- await ApplyReleases(updateInfo);
+
+ var applyReleases = new ApplyReleasesImpl(rootAppDirectory);
+ await acquireUpdateLock();
+
+ await applyReleases.ApplyReleases(updateInfo, silentInstall);
}
public async Task FullUninstall()