using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Squirrel; namespace BodyshopPartner.Utils { public static class SquirrelAwareHelper { private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); public static void InitializeSquirrelAware() { using (var mgr = new UpdateManager(Utils.UpdateHandler.UpdatePath)) { // Note, in most of these scenarios, the app exits after this method // completes! SquirrelAwareApp.HandleEvents( onInitialInstall: v => { logger.Debug("Installing via Squirrel Aware Helper. ", v); logger.Debug("Attempting to add HTTP Exclusion for web-server"); System.Diagnostics.Process process = new System.Diagnostics.Process(); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; startInfo.FileName = "cmd.exe"; startInfo.Arguments = "add netsh http add urlacl url=http://+:1337/ user=\"Everyone\""; startInfo.Verb = "runas"; process.StartInfo = startInfo; process.Start(); mgr.CreateShortcutForThisExe(); }, onAppUpdate: v => mgr.CreateShortcutForThisExe(), onAppUninstall: v => mgr.RemoveShortcutForThisExe(), onFirstRun: () => { logger.Info("We've run for the first time."); }); } } } }