Winify
/trunk/Winify/App.config |
@@ -3,10 +3,10 @@ |
<configuration> |
<configSections> |
<sectionGroup name="userSettings" |
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<section name="Winify.Properties.Settings" |
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" |
allowExeDefinition="MachineToLocalUser" requirePermission="false" /> |
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" |
allowExeDefinition="MachineToLocalUser" requirePermission="false" /> |
</sectionGroup> |
</configSections> |
<startup> |
@@ -14,10 +14,13 @@ |
</startup> |
<userSettings> |
<Winify.Properties.Settings> |
<setting name="LaunchOnBoot" serializeAs="String"> |
<value>False</value> |
</setting> |
</Winify.Properties.Settings> |
<setting name="LaunchOnBoot" serializeAs="String"> |
<value>False</value> |
</setting> |
<setting name="UpdateRequired" serializeAs="String"> |
<value>True</value> |
</setting> |
</Winify.Properties.Settings> |
</userSettings> |
<runtime> |
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
/trunk/Winify/Form1.cs |
@@ -2,8 +2,10 @@ |
using System.Collections.Specialized; |
using System.ComponentModel; |
using System.Configuration; |
using System.Diagnostics; |
using System.IO; |
using System.Text; |
using System.Threading; |
using System.Threading.Tasks; |
using System.Windows.Forms; |
using AutoUpdaterDotNET; |
@@ -38,7 +40,7 @@ |
|
#region Constructors, Destructors and Finalizers |
|
public Form1() |
public Form1(Mutex mutex) |
{ |
InitializeComponent(); |
|
@@ -48,12 +50,23 @@ |
rollingInterval: RollingInterval.Day) |
.CreateLogger(); |
|
AutoUpdater.Start("http://winify.grimore.org/update/winify.xml"); |
|
// Upgrade settings if required. |
if (!ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).HasFile) |
{ |
Settings.Default.Upgrade(); |
if (Settings.Default.UpdateRequired) |
{ |
Settings.Default.Upgrade(); |
Settings.Default.Reload(); |
|
Settings.Default.UpdateRequired = false; |
Settings.Default.Save(); |
|
mutex.ReleaseMutex(); |
Process.Start(Application.ExecutablePath); |
|
Close(); |
Environment.Exit(0); |
} |
} |
|
// Bind to settings changed event. |
@@ -92,6 +105,9 @@ |
_notifications.Announcement.Add(announcement); |
} |
}); |
|
// Start application update. |
AutoUpdater.Start("http://winify.grimore.org/update/winify.xml"); |
} |
|
/// <summary> |
/trunk/Winify/Program.cs |
@@ -37,7 +37,7 @@ |
{ |
Application.EnableVisualStyles(); |
Application.SetCompatibleTextRenderingDefault(false); |
_form = new Form1(); |
_form = new Form1(Mutex); |
Application.Run(); |
Mutex.ReleaseMutex(); |
return; |
/trunk/Winify/Properties/Settings.Designer.cs |
@@ -34,5 +34,17 @@ |
this["LaunchOnBoot"] = value; |
} |
} |
|
[global::System.Configuration.UserScopedSettingAttribute()] |
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
[global::System.Configuration.DefaultSettingValueAttribute("True")] |
public bool UpdateRequired { |
get { |
return ((bool)(this["UpdateRequired"])); |
} |
set { |
this["UpdateRequired"] = value; |
} |
} |
} |
} |
/trunk/Winify/Properties/Settings.settings |
@@ -5,5 +5,8 @@ |
<Setting Name="LaunchOnBoot" Type="System.Boolean" Scope="User"> |
<Value Profile="(Default)">False</Value> |
</Setting> |
<Setting Name="UpdateRequired" Type="System.Boolean" Scope="User"> |
<Value Profile="(Default)">True</Value> |
</Setting> |
</Settings> |
</SettingsFile> |