@@ -6,202 +6,186 @@
using System.Text;
using System.Xml.Serialization;

namespace AA2Install
[XmlRoot("dictionary")]
[DebuggerDisplay("Count = {Count}")]
public class ModDictionary
: IDictionary<string, Mod>, IXmlSerializable
{
[XmlRoot("dictionary")]
[DebuggerDisplay("Count = {Count}")]
public class ModDictionary
: IDictionary<string, Mod>, IXmlSerializable
{
public Dictionary<string, Mod> baseDict = new Dictionary<string, Mod>();
public ICollection<string> Keys => baseDict.Keys;
public Dictionary<string, Mod> baseDict = new Dictionary<string, Mod>();
public ICollection<string> Keys => baseDict.Keys;

public ICollection<Mod> Values => baseDict.Values;
public ICollection<Mod> Values => baseDict.Values;

public int Count => baseDict.Count;
public int Count => baseDict.Count;

public bool IsReadOnly => false;
public bool IsReadOnly => false;

private static string getKey(string key) => key.ToLower().Remove(0, key.ToLower().LastIndexOf('\\') + 1);
private string getKey(string key) => key.ToLower().Remove(0, key.ToLower().LastIndexOf('\\') + 1);

public Mod this[string key]
public Mod this[string key]
{
get
{
get
{
return baseDict[getKey(key)];
}

set
{
baseDict[getKey(key)] = value;
}
return baseDict[getKey(key)];
}
#region IXmlSerializable Members
public System.Xml.Schema.XmlSchema GetSchema() => null;

public void ReadXml(System.Xml.XmlReader reader)
set
{
if (reader == null)
return;
baseDict[getKey(key)] = value;
}
}
#region IXmlSerializable Members
public System.Xml.Schema.XmlSchema GetSchema() => null;

XmlSerializer keySerializer = new XmlSerializer(typeof(string));
XmlSerializer valueSerializer = new XmlSerializer(typeof(Mod));
public void ReadXml(System.Xml.XmlReader reader)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(string));
XmlSerializer valueSerializer = new XmlSerializer(typeof(Mod));

bool wasEmpty = reader.IsEmptyElement;
reader.Read();
bool wasEmpty = reader.IsEmptyElement;
reader.Read();

if (wasEmpty)
return;
if (wasEmpty)
return;

while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("item");
while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("item");

reader.ReadStartElement("key");
string key = (string)keySerializer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadStartElement("key");
string key = (string)keySerializer.Deserialize(reader);
reader.ReadEndElement();

reader.ReadStartElement("value");
Mod value = (Mod)valueSerializer.Deserialize(reader);
reader.ReadEndElement();
reader.ReadStartElement("value");
Mod value = (Mod)valueSerializer.Deserialize(reader);
reader.ReadEndElement();

this.Add(key, value);
this.Add(key, value);

reader.ReadEndElement();
reader.MoveToContent();
}
reader.ReadEndElement();
reader.MoveToContent();
}
reader.ReadEndElement();
}

public void WriteXml(System.Xml.XmlWriter writer)
{
if (writer == null)
return;

XmlSerializer keySerializer = new XmlSerializer(typeof(string));
XmlSerializer valueSerializer = new XmlSerializer(typeof(Mod));

foreach (string key in this.Keys)
{
writer.WriteStartElement("item");

writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();

writer.WriteStartElement("value");
Mod value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();
public void WriteXml(System.Xml.XmlWriter writer)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(string));
XmlSerializer valueSerializer = new XmlSerializer(typeof(Mod));

writer.WriteEndElement();
}
}
#endregion
public void Add(string key, Mod value)
foreach (string key in this.Keys)
{
baseDict.Add(getKey(key), value);
}

public bool ContainsKey(string key) => baseDict.ContainsKey(getKey(key));
writer.WriteStartElement("item");

public bool Remove(string key) => baseDict.Remove(getKey(key));
writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();

public bool TryGetValue(string key, out Mod value) => baseDict.TryGetValue(getKey(key), out value);
writer.WriteStartElement("value");
Mod value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();

public void Add(KeyValuePair<string, Mod> item)
{
baseDict.Add(getKey(item.Key), item.Value);
writer.WriteEndElement();
}
}
#endregion
public void Add(string key, Mod value)
{
baseDict.Add(getKey(key), value);
}

public void Clear()
{
baseDict.Clear();
}
public bool ContainsKey(string key) => baseDict.ContainsKey(getKey(key));

public bool Contains(KeyValuePair<string, Mod> item) => (baseDict.ContainsKey(item.Key) && baseDict.ContainsValue(item.Value));
public bool Remove(string key) => baseDict.Remove(getKey(key));

public void CopyTo(KeyValuePair<string, Mod>[] array, int arrayIndex)
{
throw new NotImplementedException();
}
public bool TryGetValue(string key, out Mod value) => baseDict.TryGetValue(getKey(key), out value);

public bool Remove(KeyValuePair<string, Mod> item)
{
throw new NotImplementedException();
}
public void Add(KeyValuePair<string, Mod> item)
{
baseDict.Add(getKey(item.Key), item.Value);
}

public IEnumerator<KeyValuePair<string, Mod>> GetEnumerator() => baseDict.GetEnumerator();
public void Clear()
{
baseDict.Clear();
}

public bool Contains(KeyValuePair<string, Mod> item) => (baseDict.ContainsKey(item.Key) && baseDict.ContainsValue(item.Value));

IEnumerator IEnumerable.GetEnumerator() => baseDict.GetEnumerator();
public void CopyTo(KeyValuePair<string, Mod>[] array, int arrayIndex)
{
throw new NotImplementedException();
}

[XmlRoot("dictionary")]
[Serializable()]
public class SerializableDictionary<TKey, TValue>
: Dictionary<TKey, TValue>, IXmlSerializable
public bool Remove(KeyValuePair<string, Mod> item)
{
#region IXmlSerializable Members
public System.Xml.Schema.XmlSchema GetSchema() => null;
throw new NotImplementedException();
}

public void ReadXml(System.Xml.XmlReader reader)
{
if (reader == null)
return;
public IEnumerator<KeyValuePair<string, Mod>> GetEnumerator() => baseDict.GetEnumerator();

XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
IEnumerator IEnumerable.GetEnumerator() => baseDict.GetEnumerator();
}

bool wasEmpty = reader.IsEmptyElement;
reader.Read();
[XmlRoot("dictionary")]
public class SerializableDictionary<TKey, TValue>
: Dictionary<TKey, TValue>, IXmlSerializable
{
#region IXmlSerializable Members
public System.Xml.Schema.XmlSchema GetSchema() => null;

if (wasEmpty)
return;
public void ReadXml(System.Xml.XmlReader reader)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));

while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("item");
bool wasEmpty = reader.IsEmptyElement;
reader.Read();

reader.ReadStartElement("key");
TKey key = (TKey)keySerializer.Deserialize(reader);
reader.ReadEndElement();
if (wasEmpty)
return;

reader.ReadStartElement("value");
TValue value = (TValue)valueSerializer.Deserialize(reader);
reader.ReadEndElement();
while (reader.NodeType != System.Xml.XmlNodeType.EndElement)
{
reader.ReadStartElement("item");

this.Add(key, value);
reader.ReadStartElement("key");
TKey key = (TKey)keySerializer.Deserialize(reader);
reader.ReadEndElement();

reader.ReadEndElement();
reader.MoveToContent();
}
reader.ReadStartElement("value");
TValue value = (TValue)valueSerializer.Deserialize(reader);
reader.ReadEndElement();
}

public void WriteXml(System.Xml.XmlWriter writer)
{
if (writer == null)
return;
this.Add(key, value);

XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));
reader.ReadEndElement();
reader.MoveToContent();
}
reader.ReadEndElement();
}

foreach (TKey key in this.Keys)
{
writer.WriteStartElement("item");
public void WriteXml(System.Xml.XmlWriter writer)
{
XmlSerializer keySerializer = new XmlSerializer(typeof(TKey));
XmlSerializer valueSerializer = new XmlSerializer(typeof(TValue));

foreach (TKey key in this.Keys)
{
writer.WriteStartElement("item");

writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();
writer.WriteStartElement("key");
keySerializer.Serialize(writer, key);
writer.WriteEndElement();

writer.WriteStartElement("value");
TValue value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();
writer.WriteStartElement("value");
TValue value = this[key];
valueSerializer.Serialize(writer, value);
writer.WriteEndElement();

writer.WriteEndElement();
}
writer.WriteEndElement();
}
#endregion
}
#endregion
}
@@ -18,17 +18,15 @@ public static class GZip
public static byte[] CompressString(string str)
{
var bytes = Encoding.UTF8.GetBytes(str);
byte[] o;

using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(mso, CompressionMode.Compress))
msi.CopyTo(gs);

o = mso.ToArray();
return mso.ToArray();
}
return o;
}

/// <summary>
@@ -28,13 +28,13 @@ static void Application_ThreadException(object sender, ThreadExceptionEventArgs
{
if (saveLog(e.Exception))
{
using (var crash = new formCrash(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace, "AA2Install crash " + DateTime.Now.ToString("d-M-yyyy hh-mm-ss") + ".dmp"))
crash.ShowDialog();
var crash = new formCrash(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace, "AA2Install crash " + DateTime.Now.ToString("d-M-yyyy hh-mm-ss") + ".dmp");
crash.ShowDialog();
}
else
{
using (var crash = new formCrash(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace))
crash.ShowDialog();
var crash = new formCrash(e.Exception.Message + Environment.NewLine + e.Exception.StackTrace);
crash.ShowDialog();
}
Application.Exit();
}
@@ -47,13 +47,13 @@ static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEv
}*/
if (saveLog(e.ExceptionObject as Exception))
{
using (var crash = new formCrash((e.ExceptionObject as Exception).Message + Environment.NewLine + (e.ExceptionObject as Exception).StackTrace, "AA2Install crash " + DateTime.Now.ToString("d-M-yyyy hh-mm-ss") + ".dmp"))
crash.ShowDialog();
var crash = new formCrash((e.ExceptionObject as Exception).Message + Environment.NewLine + (e.ExceptionObject as Exception).StackTrace, "AA2Install crash " + DateTime.Now.ToString("d-M-yyyy hh-mm-ss") + ".dmp");
crash.ShowDialog();
}
else
{
using (var crash = new formCrash((e.ExceptionObject as Exception).Message + Environment.NewLine + (e.ExceptionObject as Exception).StackTrace))
crash.ShowDialog();
var crash = new formCrash((e.ExceptionObject as Exception).Message + Environment.NewLine + (e.ExceptionObject as Exception).StackTrace);
crash.ShowDialog();
}
Application.Exit();
}
@@ -1,66 +1,62 @@
using System;
using System.Runtime.InteropServices;

namespace AA2Install
public static class TaskbarProgress
{
public static class TaskbarProgress
public enum TaskbarStates
{
[Flags()]
public enum TaskbarStates
{
None = 0,
Indeterminate = 0x1,
Normal = 0x2,
Error = 0x4,
Paused = 0x8
}

[ComImportAttribute()]
[GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
private interface ITaskbarList3
{
// ITaskbarList
[PreserveSig]
void HrInit();
[PreserveSig]
void AddTab(IntPtr hwnd);
[PreserveSig]
void DeleteTab(IntPtr hwnd);
[PreserveSig]
void ActivateTab(IntPtr hwnd);
[PreserveSig]
void SetActiveAlt(IntPtr hwnd);

// ITaskbarList2
[PreserveSig]
void MarkFullscreenWindow(IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen);
NoProgress = 0,
Indeterminate = 0x1,
Normal = 0x2,
Error = 0x4,
Paused = 0x8
}

// ITaskbarList3
[PreserveSig]
void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);
[PreserveSig]
void SetProgressState(IntPtr hwnd, TaskbarStates state);
}
[ComImportAttribute()]
[GuidAttribute("ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf")]
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)]
private interface ITaskbarList3
{
// ITaskbarList
[PreserveSig]
void HrInit();
[PreserveSig]
void AddTab(IntPtr hwnd);
[PreserveSig]
void DeleteTab(IntPtr hwnd);
[PreserveSig]
void ActivateTab(IntPtr hwnd);
[PreserveSig]
void SetActiveAlt(IntPtr hwnd);

// ITaskbarList2
[PreserveSig]
void MarkFullscreenWindow(IntPtr hwnd, [MarshalAs(UnmanagedType.Bool)] bool fFullscreen);

// ITaskbarList3
[PreserveSig]
void SetProgressValue(IntPtr hwnd, UInt64 ullCompleted, UInt64 ullTotal);
[PreserveSig]
void SetProgressState(IntPtr hwnd, TaskbarStates state);
}

[GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComImportAttribute()]
private class TaskbarInstance
{
}
[GuidAttribute("56FDF344-FD6D-11d0-958A-006097C9A090")]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComImportAttribute()]
private class TaskbarInstance
{
}

private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1);
private static ITaskbarList3 taskbarInstance = (ITaskbarList3)new TaskbarInstance();
private static bool taskbarSupported = Environment.OSVersion.Version >= new Version(6, 1);

public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
{
if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);
}
public static void SetState(IntPtr windowHandle, TaskbarStates taskbarState)
{
if (taskbarSupported) taskbarInstance.SetProgressState(windowHandle, taskbarState);
}

public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
{
if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
}
public static void SetValue(IntPtr windowHandle, double progressValue, double progressMax)
{
if (taskbarSupported) taskbarInstance.SetProgressValue(windowHandle, (ulong)progressValue, (ulong)progressMax);
}
}
@@ -27,15 +27,15 @@ public formAbout()

#region Assembly Attribute Accessors

public static string AssemblyTitle
public string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (!string.IsNullOrEmpty(titleAttribute.Title))
if (titleAttribute.Title != "")
{
return titleAttribute.Title;
}
@@ -53,7 +53,7 @@ public static string AssemblyVersion
}
}

public static string AssemblyDescription
public string AssemblyDescription
{
get
{
@@ -66,7 +66,7 @@ public static string AssemblyDescription
}
}

public static string AssemblyProduct
public string AssemblyProduct
{
get
{
@@ -79,7 +79,20 @@ public static string AssemblyProduct
}
}

public static string AssemblyCompany
public string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}

public string AssemblyCompany
{
get
{
@@ -16,13 +16,13 @@ public formCrash(string details, string dumpfile = "")
{
InitializeComponent();
txtDetails.Text = details;
if (!string.IsNullOrEmpty(dumpfile))
if (dumpfile != "")
{
lsbFiles.Items.Add(dumpfile);
}
}

public static void launchLink(string link)
public void launchLink(string link)
{
System.Diagnostics.Process.Start(link);
}

Large diffs are not rendered by default.

@@ -151,20 +151,20 @@
<value>
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
</value>
</data>
<data name="btnCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -192,7 +192,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAU
CwAAAk1TRnQBSQFMAgEBBgEAASgBAgEoAQIBEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA
CwAAAk1TRnQBSQFMAgEBBgEAASABAgEgAQIBEAEAARABAAT/AREBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEQBgABEDQAAf8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/AX8B/wF/Af8BfwH/
AX8B/wF/Af8BfwH/AX9KAAHeAXsBVwFfAWoBKgHlARkB5QEZAUoBKgFXAV8B3gF7CgAB/wF/Af8BfwHe
AXsBnAFzAdYBYgEQAVYBjAFJAYwBSQEQAVYB1gFiAZwBcwHeAXsB/wF/Af8Bf0gAAbsBbwFIASIBiAEq
@@ -54,24 +54,6 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AA2InstallTests.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AA2InstallTests.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>AA2InstallTests.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
@@ -37,24 +37,6 @@
<CodeAnalysisIgnoreGeneratedCode>true</CodeAnalysisIgnoreGeneratedCode>
<CodeAnalysisRuleSet>SB3UtilityPP.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>SB3UtilityPP.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<PlatformTarget>x64</PlatformTarget>
<UseVSHostingProcess>false</UseVSHostingProcess>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>SB3UtilityPP.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86" />
<Reference Include="System" />