public Mod(SerializationInfo info, StreamingContext ctxt)
{
Name = (string)info.GetValue("Name", typeof(string));
Installed = (bool)info.GetValue("Installed", typeof(bool));
Exists = (bool)info.GetValue("Exists", typeof(bool));
Size = (ulong)info.GetValue("Size", typeof(ulong));
SubFilenames = (List<string>)info.GetValue("SubFilenames", typeof(List<string>));
InstallTime = (DateTime)info.GetValue("InstallTime", typeof(DateTime));
Properties = (SerializableDictionary<string, object>)info.GetValue("Properties", typeof(SerializableDictionary<string, object>));
}