void LoadClientData(Stream ms, string updatePathVar, string customUrlArgs)
{
ms.Position = 0;
// Read back the file identification data, if any
if (!ReadFiles.IsHeaderValid(ms, "IUCDFV2"))
{
//free up the file so it can be deleted
ms.Close();
throw new Exception("The client file does not have the correct identifier - this is usually caused by file corruption.");
}
#if !CLIENT_READER
LanguageCulture lastLanguage = null;
#endif
string serverSite;
byte bType = (byte)ms.ReadByte();
while (!ReadFiles.ReachedEndByte(ms, bType, 0xFF))
{
switch (bType)
{
case 0x01: //Read Company Name
CompanyName = ReadFiles.ReadDeprecatedString(ms);
break;
case 0x02: //Product Name
ProductName = ReadFiles.ReadDeprecatedString(ms);
break;
case 0x0A: // GUID
m_GUID = ReadFiles.ReadString(ms);
break;
case 0x03: //Read Installed Version
InstalledVersion = ReadFiles.ReadDeprecatedString(ms);
break;
case 0x04: //Add server file site
serverSite = ReadFiles.ReadDeprecatedString(ms);
if (updatePathVar != null)
{
serverSite = serverSite.Replace("%updatepath%", updatePathVar);
}
if (customUrlArgs != null)
{
serverSite = serverSite.Replace("%urlargs%", customUrlArgs);
}
AddUniqueString(serverSite, ServerFileSites);
break;
case 0x09: //Add client server file site
serverSite = ReadFiles.ReadDeprecatedString(ms);
if (updatePathVar != null)
{
serverSite = serverSite.Replace("%updatepath%", updatePathVar);
}
if (customUrlArgs != null)
{
serverSite = serverSite.Replace("%urlargs%", customUrlArgs);
}
AddUniqueString(serverSite, ClientServerSites);
break;
case 0x11: //Header image alignment
try
{
HeaderImageAlign = (ImageAlign)Enum.Parse(typeof(ImageAlign), ReadFiles.ReadDeprecatedString(ms));
}
catch { }
break;
case 0x12: //Header text indent
HeaderTextIndent = ReadFiles.ReadInt(ms);
break;
case 0x13: //Header text color
HeaderTextColorName = ReadFiles.ReadDeprecatedString(ms);
break;
case 0x14: //header image filename
TopImageFilename = ReadFiles.ReadDeprecatedString(ms);
break;
case 0x15: //side image filename
SideImageFilename = ReadFiles.ReadDeprecatedString(ms);
break;
#if CLIENT_READER
case 0x18: // language culture
Languages.Add(ReadFiles.ReadDeprecatedString(ms));
break;
#else
case 0x18: // language culture
lastLanguage = new LanguageCulture(ReadFiles.ReadDeprecatedString(ms));
Languages.Add(lastLanguage.Culture, lastLanguage);
break;
case 0x16: //language filename
if (lastLanguage != null)
{
lastLanguage.Filename = ReadFiles.ReadDeprecatedString(ms);
}
else
{
Languages.Add(string.Empty, new LanguageCulture(null)
{
Filename = ReadFiles.ReadDeprecatedString(ms)
});
}
break;
#endif
case 0x17: //hide the header divider
HideHeaderDivider = ReadFiles.ReadBool(ms);
break;
case 0x19:
CloseOnSuccess = ReadFiles.ReadBool(ms);
break;
case 0x1A:
CustomWyUpdateTitle = ReadFiles.ReadString(ms);
break;
case 0x1B:
PublicSignKey = ReadFiles.ReadString(ms);
break;
case 0x1C:
UpdatePassword = ReadFiles.ReadString(ms);
break;
default:
ReadFiles.SkipField(ms, bType);
break;
}
bType = (byte)ms.ReadByte();
}
ms.Close();
}