static void Main(string[] args) { bError = false; int iCnt = 0; short iSheetCnt = 0; Console.WriteLine("Installer Begins."); string sCmdLine = ""; string currentAssemblyDirectoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); try { string sQuote = "\""; sHost = args[0]; sUnid = args[1]; sUnid = sUnid.Trim(); sEmail = args[2]; sTarget = args[3]; sTarget = sTarget.Replace(sQuote, ""); sTarget = sTarget.Replace("$", ""); if (sTarget.Trim().EndsWith(@"\")) { } else { sTarget += @"\"; } } catch (Exception ex) { sHost = @"http://ccisupportsite.com"; // sTarget = @"c:\As400da\"; // sUnid = "4621E8E7157912B185257829006ECFC0"; // sEmail = "*****@*****.**"; Console.WriteLine("Error - Parameter Signature Invalid " + ex.Message); // throw ex; // fix the install directory if (!Directory.Exists(sTarget)) { iCnt = 0; bool bValid = false; while (iCnt <= 2 && !bValid) { Console.WriteLine("Problem with Target Location"); Console.WriteLine("The target {0} cannot be Validated Please Reenter:", sTarget); sTarget = Console.ReadLine(); Console.WriteLine(""); sTarget = sTarget.Trim(); iCnt += 1; if (Directory.Exists(sTarget)) { bValid = true; } } if (iCnt > 2 && !bValid) { bError = true; } } // fix the email address Console.WriteLine("Problem with Email Address"); Console.WriteLine("The email address {0} cannot be Validated Please Reenter:", sEmail); sEmail = Console.ReadLine(); Console.WriteLine(""); sEmail = sEmail.Trim(); } setParms: iBatchCl = -999; // Lets Id the box PcId pc = new PcId(sUnid, sTarget, sEmail); pc.sEmail = sEmail; if (bError) { goto Done; } // 21 Jan 2011 - Added support for godaddy webservice and Id on box try { if (sEmail.Contains(@"cookconsulting.net")) { goto Next; } //if (pc.ChkInstall(sUnid) == "stop" ) //{ // Console.WriteLine("This install is terminated - This license code has been previously installed"); // bError = true; // goto Done; //} Next: pc.LogEvent(); iBatchCl = pc.IBatchNo; bWebLog = true; if (iBatchCl == -1) { // logging is not available bWebLog = false; pc.CreateLogFile(sTarget); } } catch (Exception ex) { bWebLog = false; pc.CreateLogFile(sTarget); } //sUnid = sUnid.Trim(); while (iCnt <= 2 && sUnid.Length != 32) { Console.Write("Problem with the Customer License Code Check your Cut and Past"); Console.Write("The unid {0} cannot be Validated Please Reenter:", sUnid); sUnid = Console.ReadLine(); Console.WriteLine(""); sUnid = sUnid.Trim(); iCnt += 1; } if (sUnid.Length != 32) { Console.WriteLine("The unid {0} cannot be Validated.", sUnid); bError = true; goto Done; } Console.WriteLine("Installer is running Batch ID -> {0} for UNID -> {1}.", iBatchCl, sUnid); ArrayList nProd = new ArrayList(); //if (args.GetUpperBound(0) > 0) // sUnid = args[0]; // make sure our work directory exists FileInfo fi; try { if (!Directory.Exists(sTarget)) { Directory.CreateDirectory(sTarget); } } catch (Exception ex) { } try { fi = new FileInfo(sTarget + @"Products.xml"); fi.IsReadOnly = false; File.Delete(sTarget + @"Products.xml"); } catch { } try { fi = new FileInfo(sTarget + @"Cust.xml"); fi.IsReadOnly = false; File.Delete(sTarget + @"Cust.xml"); } catch { } try { string sFileName = ""; sFileName = sHost + @"/Xml/Products.xml"; DownLoadASheet(sFileName, sTarget + @"Products.Xml"); if (bWebLog) { pc.LogEvent(sUnid, "File Download Complete on " + sTarget + @"Products.Xml", 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "File Download Complete on " + sTarget + @"Products.Xml", 0, pc.IBatchNo); } Partial.WSCustomer.GetCustomersPartialService gcp = new Partial.WSCustomer.GetCustomersPartialService(); NetworkCredential cc = new NetworkCredential(@"mmoen", @"bobbob1", ""); gcp.Credentials = cc; string sXmlOut = gcp.GETCUSTOMERSPARTIAL("changeor.nsf", "XMLOUTPUT", sUnid); try { fi = new FileInfo(sTarget + @"Cust.xml"); fi.IsReadOnly = false; File.Delete(sTarget + @"Cust.xml"); } catch { } StreamWriter swcust = new StreamWriter(sTarget + @"Cust.Xml", false); string sProcxml = pc.PackXml(sXmlOut, sUnid); swcust.Write(sProcxml); swcust.Close(); swcust.Dispose(); if (bWebLog) { pc.LogEvent(sUnid, "File Download Complete on " + sTarget + @"Cust.Xml", 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "File Download Complete on " + sTarget + @"Cust.Xml", 0, pc.IBatchNo); } } catch (Exception ex) { bError = bError || true; if (bWebLog) { pc.LogEvent(sUnid, ex.Message + " - Program Abort", -1, pc.IBatchNo); } else { pc.FileLog(sUnid, ex.Message + " - Program Abort", -1, pc.IBatchNo); } if (bWebLog) { pc.LogEvent(sUnid, ex.Message + "Program Abort", 11000, pc.IBatchNo); } else { pc.FileLog(sUnid, ex.Message + "Program Abort", 11000, pc.IBatchNo); } // test try { pc.Close(); } catch { } Console.WriteLine("Program Stopping - " + ex.Message); goto Done; } fi = new FileInfo(sTarget + @"\Products.Xml"); if (File.Exists(sTarget + @"\Products.Xml") && fi.Length == 0) { if (bWebLog) { pc.LogEvent(sUnid, "Products File did not Download", -1, pc.IBatchNo); } else { pc.FileLog(sUnid, "Products File did not Download", -1, pc.IBatchNo); } bError = bError || true; goto Done; } fi = new FileInfo(sTarget + @"\Cust.Xml"); if (File.Exists(sTarget + @"\Cust.Xml") && fi.Length == 0) { if (bWebLog) { pc.LogEvent(sUnid, "Customer File did not Download", -1, pc.IBatchNo); } else { pc.FileLog(sUnid, "Customer File did not Download", -1, pc.IBatchNo); } bError = bError || true; goto Done; } if (bWebLog) { pc.LogEvent(sUnid, "File Download Complete ", 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "File Download Complete ", 0, pc.IBatchNo); } // Process the xmlDoc XmlDocument xmldoc = new XmlDocument(); XmlDocument xmldocProducts = new XmlDocument(); xmldocProducts.Load(sTarget + @"\Products.Xml"); System.Text.UTF8Encoding str = new System.Text.UTF8Encoding(); string sContents; StreamReader sr = new StreamReader(sTarget + @"\Cust.Xml"); sContents = sr.ReadToEnd(); sr.Close(); sr.Dispose(); xmldoc.Load(sTarget + @"\Cust.Xml"); NameValueCollection nMethods = new NameValueCollection(); // LoadMethods(ref nMethods, xmldocMethods); // Call the Config Clas DocDetails dt = new DocDetails(xmldocProducts); dt.SetProducts(nProd); NameValueCollection nParms = new NameValueCollection(); XmlNode root; root = xmldoc.DocumentElement; XmlNodeList nodes; // nodes = root.SelectNodes("Customer/Parms[@Sheet='Y']"); nodes = root.SelectNodes("Customer/Parms"); // Build all the nodes, mark which are sheets, which are parms. // Match it by queryand and sheet to determine the parms. string sQryP = "", sQry = ""; foreach (XmlNode n in nodes) { if (n.Name == "Parms") { } foreach (XmlAttribute att in n.Attributes) { Debug.Print("att value={0} Attribute Name{1}", att.Value, att.Name); if (att.Name == "Product" && att.Value == "Y") { iSheetCnt += 1; try { if (sQry == "") { sQry = n.Attributes["queryend"].Value; } } catch (Exception ex) { } Debug.Print("Got a Product{0}", n.Attributes["Value"].Value); // string sRemoteName = "http://localhost/sheets/" + n.Attributes["Value"].Value + ".xls"; // string sLocalName = @"C:\cci\" + n.Attributes["Value"].Value + ".xls"; try { char[] delimiterChars = { ',' }; string[] sqrysplit; //try //{ // sQry = nParms.Get("queryend").ToString(); // sqrysplit = sQry.Split(delimiterChars); // sQry = sqrysplit[0]; // // try the queryend // try // { // sQry = n.Attributes["queryend"].Value; // } // catch (Exception ex) // { } //} //catch (Exception ex) //{ // sQry = @"070110"; //} string sQueryEnd; // logic is there is a node queryend attribute use it // else use the file queryend if (sQry == "") { sQueryEnd = sQryP; } else { sQueryEnd = sQry; } NameValueCollection tParms = FindParmSet(n.Attributes["Value"].Value, sQueryEnd, dt.cSheetColl, nParms); string sFile = FindLiveFile(n.Attributes["Value"].Value, sQueryEnd, dt.cSheetColl); string sRemoteName = sHost + @"/sheets/version/" + sQry + @"/" + HttpUtility.UrlPathEncode(sFile); string sLocalName = sTarget + sFile; if (bWebLog) { pc.LogEvent(sUnid, "Downloading Sheet " + sRemoteName, 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "Downloading Sheet " + sRemoteName, 0, pc.IBatchNo); } sCurrentFile = sRemoteName; iDotCount = 0; if (File.Exists(sLocalName)) { FileInfo fi2 = new FileInfo(sLocalName); fi2.IsReadOnly = false; fi2.Delete(); } DownLoadASheet(sRemoteName, sLocalName); if (bWebLog) { pc.LogEvent(sUnid, "Download Complete Sheet " + sRemoteName, 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "Download Complete Sheet " + sRemoteName, 0, pc.IBatchNo); } // Call Configure on it! // ConfigureASheet(sLocalName, ref dt.cSheetColl, n.Value, sQry, nParms, dt); bool bProcess = false; fi = new FileInfo(sLocalName); if (File.Exists(sLocalName) && fi.Length > 0) { try { // inc the logger iLogCount += 1; if (!pc.bCust) { pc.LogEvent(sUnid, "", 10000, pc.IBatchNo); pc.bCust = true; } if (bWebLog) { pc.LogEvent(sUnid, "Trying to configure " + sLocalName, 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "Trying to configure " + sLocalName, 0, pc.IBatchNo); } ConfigureASheet(sLocalName, ref dt.cSheetColl, n.Attributes["Value"].Value, sQueryEnd, tParms, dt, ref pc); if (bWebLog) { pc.LogEvent(sUnid, "Configuring " + sLocalName, 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "Configuring " + sLocalName, 0, pc.IBatchNo); } sQry = ""; } catch (Exception ex) { bError = bError || true; pc.LogEvent(sUnid, ex.Message + " - Configuring Sheet Fails", -1, pc.IBatchNo); } } else { fi.Delete(); } break; } catch (Exception ex) { bError = bError || true; if (bWebLog) { pc.LogEvent(sUnid, ex.Message + " - Downloading Sheet", -1, pc.IBatchNo); } else { pc.FileLog(sUnid, ex.Message + " - Downloading Sheet", -1, pc.IBatchNo); } Console.WriteLine("Error - " + ex.Message); } } else { // it is not a sheet try { if (nParms.Get(n.Attributes["LkeyName"].Value) != null) {//skip it string sKeyName = n.Attributes["LkeyName"].Value; if (sKeyName == "queryend") { sQryP = n.Attributes["Value"].Value; } string sKeyValue = n.Attributes["Value"].Value; string sCurrentVal = nParms.Get(n.Attributes["LkeyName"].Value); Debug.Print("Atrib {0} ", n.Attributes["Value"].Value); // if (sKeyValue == sCurrentVal) goto Lp1; switch (sKeyName) { //salariedcodes //salariedwithsupp //certifiedcodes //princodes //suppcodes case "suppcodes": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "princodes": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "certifiedcodes": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "salariedwithsupp": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "salariedcodes": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "otherdepts": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "budgetind": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "specialind": nParms.Remove(n.Attributes["LkeyName"].Value); nParms.Add(n.Attributes["LkeyName"].Value , sCurrentVal + "," + sKeyValue); break; case "username": pc.setUser(n.Attributes["Value"].Value); break; case "customername": pc.setCust(n.Attributes["Value"].Value); break; default: break; } goto Lp1; } else { nParms.Add(n.Attributes["LkeyName"].Value, n.Attributes["Value"].Value); } } catch (ArgumentOutOfRangeException ex) { // is missing } catch { } } Lp1 :; } ; } // Calling Configuration Class // dt = new DocDetails(xmldocProducts ); // dt.SetProducts(nProd); // dt.CallBudgetMethod(new sTheProducts()); if (bWebLog) { pc.LogEvent(sUnid, "Processing Completed", 0, pc.IBatchNo); } else { pc.FileLog(sUnid, "Processing Completed", 0, pc.IBatchNo); } pc.Close(); FileInfo fi1 = new FileInfo(sTarget + "Cust.xml"); fi1.Delete(); fi1 = new FileInfo(sTarget + "Products.xml"); fi1.Delete(); Done: if (iSheetCnt == 0) { bError = true; Console.WriteLine("No Sheets were retrieved from WebService - Check Domino Sheet Selections"); } if (bError) { Console.WriteLine("An Install Error has Occurred! Please Contact Support desk @ 800 425 0720 or email [email protected]"); Console.WriteLine("Please note the following information Batch ID -> {0} and UNID -> {1}.", iBatchCl, sUnid); Console.WriteLine("Press Enter key to continue."); Console.ReadLine(); } if (!bError) { try { Partial.WSPartials.RemovePartialFlagsService rp = new Partial.WSPartials.RemovePartialFlagsService(); NetworkCredential cc = new NetworkCredential(@"mmoen", @"bobbob1", ""); rp.Credentials = cc; if (!sEmail.Contains(@"*****@*****.**")) { rp.REMOVEPARTIALFLAGS("Changeor.nsf", "XMLOUTPUT", sUnid); } } catch { } } Console.WriteLine("Installer Processing Completed!"); if (bWebLog) { pc.LogEvent(sUnid, " Installer Closing", 11000, pc.IBatchNo); } else { pc.FileLog(sUnid, " Installer Closing", 11000, pc.IBatchNo); } return; }
private static void ConfigureASheet( string sLocalName , ref ArrayList allProducts , string sProductName , string sQueryEnd , NameValueCollection nParms , DocDetails dt , ref PcId pc ) { /* * Sub to Call config on the Sheet with the Method * * */ try { foreach (object o in allProducts) { Products pd = (Products)o; if ( //pd.sProduct == sProductName && pd.sQueryEnd == sQueryEnd pd.sProduct.Trim() == sProductName.Trim() && pd.sQueryEnd.Trim() == sQueryEnd.Trim() ) { // Got It // Marshall the Parms try { pc.LogEvent(sUnid , "At dt.CallXlConfigure for " + sLocalName , 0 , pc.IBatchNo); dt.sTarget = sTarget; dt.CallXlConfigure(pd, sLocalName, nParms, sQueryEnd); } catch (Exception ex) { if (bWebLog) { pc.LogEvent(sUnid , ex.Message + "Results from Configure on " + sLocalName , -1 , pc.IBatchNo); } else { pc.FileLog(sUnid , ex.Message + "Results from Configure on " + sLocalName , -1 , pc.IBatchNo); } } finally { FileInfo fi = new FileInfo(sLocalName); fi.IsReadOnly = false; fi.Delete(); // 26 July 2011 // added for repeated installs // MM if (File.Exists(sLocalName)) { throw new IOException(); } if (bWebLog) { pc.LogEvent(sUnid , "Success Results w/Delete from Configure on " + sLocalName , 0 , pc.IBatchNo); } else { pc.FileLog(sUnid , "Success Results w/Delete from Configure on " + sLocalName , 0 , pc.IBatchNo); } } break; } } } catch (Exception ex) { throw ex; } }
private static void Main(string[] args) { DownloadInstall.bError = false; int num1 = 0; short num2 = 0; Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); Console.WriteLine("Installer Begins. {0}", (object)Assembly.GetExecutingAssembly().GetName().Version); string fullName = Assembly.GetExecutingAssembly().FullName; try { string oldValue = "\""; DownloadInstall.sHost = args[0]; DownloadInstall.sUnid = args[1]; DownloadInstall.sUnid = DownloadInstall.sUnid.Trim(); DownloadInstall.sEmail = args[2]; DownloadInstall.sTarget = args[3]; DownloadInstall.sTarget = DownloadInstall.sTarget.Replace(oldValue, ""); DownloadInstall.sTarget = DownloadInstall.sTarget.Replace("$", ""); if (!DownloadInstall.sTarget.Trim().EndsWith("\\")) { DownloadInstall.sTarget += "\\"; } } catch (Exception ex) { DownloadInstall.sHost = "http://ccisupportsite.com"; Console.WriteLine("Error - Parameter Signature Invalid " + ex.Message); if (!Directory.Exists(DownloadInstall.sTarget)) { num1 = 0; bool flag = false; while (num1 <= 2 && !flag) { Console.WriteLine("Problem with Target Location"); Console.WriteLine("The target {0} cannot be Validated Please Reenter:", (object)DownloadInstall.sTarget); DownloadInstall.sTarget = Console.ReadLine(); Console.WriteLine(""); DownloadInstall.sTarget = DownloadInstall.sTarget.Trim(); ++num1; if (Directory.Exists(DownloadInstall.sTarget)) { flag = true; } } if (num1 > 2 && !flag) { DownloadInstall.bError = true; } } Console.WriteLine("Problem with Email Address"); Console.WriteLine("The email address {0} cannot be Validated Please Reenter:", (object)DownloadInstall.sEmail); DownloadInstall.sEmail = Console.ReadLine(); Console.WriteLine(""); DownloadInstall.sEmail = DownloadInstall.sEmail.Trim(); } DownloadInstall.iBatchCl = -999; PcId pc = new PcId(DownloadInstall.sUnid, DownloadInstall.sTarget, DownloadInstall.sEmail); pc.sEmail = DownloadInstall.sEmail; if (!DownloadInstall.bError) { try { DownloadInstall.sEmail.Contains("cookconsulting.net"); pc.LogEvent(); DownloadInstall.iBatchCl = pc.IBatchNo; DownloadInstall.bWebLog = true; if (DownloadInstall.iBatchCl == -1) { DownloadInstall.bWebLog = false; pc.CreateLogFile(DownloadInstall.sTarget); } } catch (Exception ex) { DownloadInstall.bWebLog = false; pc.CreateLogFile(DownloadInstall.sTarget); } pc.LogEvent(DownloadInstall.sUnid, "Installer is running Batch ID -> " + pc.IBatchNo.ToString() + " for UNID -> " + DownloadInstall.sUnid, 0, pc.IBatchNo); pc.LogEvent(DownloadInstall.sUnid, "Assembly Name is " + fullName, 0, pc.IBatchNo); for (; num1 <= 2 && DownloadInstall.sUnid.Length != 32; ++num1) { Console.Write("Problem with the Customer License Code Check your Cut and Past"); Console.Write("The unid {0} cannot be Validated Please Reenter:", (object)DownloadInstall.sUnid); DownloadInstall.sUnid = Console.ReadLine(); Console.WriteLine(""); DownloadInstall.sUnid = DownloadInstall.sUnid.Trim(); } if (DownloadInstall.sUnid.Length != 32) { Console.WriteLine("The unid {0} cannot be Validated.", (object)DownloadInstall.sUnid); DownloadInstall.bError = true; } else { Console.WriteLine("Installer is running Batch ID -> {0} for UNID -> {1}.", (object)DownloadInstall.iBatchCl, (object)DownloadInstall.sUnid); ArrayList inProds = new ArrayList(); try { if (!Directory.Exists(DownloadInstall.sTarget)) { Directory.CreateDirectory(DownloadInstall.sTarget); } } catch (Exception ex) { } try { new FileInfo(DownloadInstall.sTarget + "Products.xml").IsReadOnly = false; System.IO.File.Delete(DownloadInstall.sTarget + "Products.xml"); } catch { } try { new FileInfo(DownloadInstall.sTarget + "Cust.xml").IsReadOnly = false; System.IO.File.Delete(DownloadInstall.sTarget + "Cust.xml"); } catch { } try { DownloadInstall.DownLoadASheet(DownloadInstall.sHost + "/Xml/Products.xml", DownloadInstall.sTarget + "Products.Xml"); if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "File Download Complete on " + DownloadInstall.sTarget + "Products.Xml", 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "File Download Complete on " + DownloadInstall.sTarget + "Products.Xml", 0, pc.IBatchNo); } GetCustomersPartialService customersPartialService = new GetCustomersPartialService(); NetworkCredential networkCredential = new NetworkCredential("mmoen", "bobbob1", ""); customersPartialService.Credentials = (ICredentials)networkCredential; string sXml = customersPartialService.GETCUSTOMERSPARTIAL("changeor.nsf", "XMLOUTPUT", DownloadInstall.sUnid); try { new FileInfo(DownloadInstall.sTarget + "Cust.xml").IsReadOnly = false; System.IO.File.Delete(DownloadInstall.sTarget + "Cust.xml"); } catch { } StreamWriter streamWriter = new StreamWriter(DownloadInstall.sTarget + "Cust.Xml", false); string str = pc.PackXml(sXml, DownloadInstall.sUnid); streamWriter.Write(str); streamWriter.Close(); streamWriter.Dispose(); if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "File Download Complete on " + DownloadInstall.sTarget + "Cust.Xml", 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "File Download Complete on " + DownloadInstall.sTarget + "Cust.Xml", 0, pc.IBatchNo); } } catch (Exception ex) { int num3 = DownloadInstall.bError ? 1 : 0; DownloadInstall.bError = true; if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, ex.Message + " - Program Abort", -1, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, ex.Message + " - Program Abort", -1, pc.IBatchNo); } if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, ex.Message + "Program Abort", 11000, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, ex.Message + "Program Abort", 11000, pc.IBatchNo); } try { pc.Close(); } catch { } Console.WriteLine("Program Stopping - " + ex.Message); goto label_133; } FileInfo fileInfo1 = new FileInfo(DownloadInstall.sTarget + "\\Products.Xml"); if (System.IO.File.Exists(DownloadInstall.sTarget + "\\Products.Xml") && fileInfo1.Length == 0L) { if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Products File did not Download", -1, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Products File did not Download", -1, pc.IBatchNo); } int num3 = DownloadInstall.bError ? 1 : 0; DownloadInstall.bError = true; } else { FileInfo fileInfo2 = new FileInfo(DownloadInstall.sTarget + "\\Cust.Xml"); if (System.IO.File.Exists(DownloadInstall.sTarget + "\\Cust.Xml") && fileInfo2.Length == 0L) { if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Customer File did not Download", -1, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Customer File did not Download", -1, pc.IBatchNo); } int num3 = DownloadInstall.bError ? 1 : 0; DownloadInstall.bError = true; } else { if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "File Download Complete ", 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "File Download Complete ", 0, pc.IBatchNo); } XmlDocument xmlDocument = new XmlDocument(); XmlDocument xmlprod = new XmlDocument(); xmlprod.Load(DownloadInstall.sTarget + "\\Products.Xml"); UTF8Encoding utF8Encoding = new UTF8Encoding(); StreamReader streamReader = new StreamReader(DownloadInstall.sTarget + "\\Cust.Xml"); streamReader.ReadToEnd(); streamReader.Close(); streamReader.Dispose(); xmlDocument.Load(DownloadInstall.sTarget + "\\Cust.Xml"); NameValueCollection nameValueCollection = new NameValueCollection(); DocDetails dt = new DocDetails(xmlprod); dt.SetProducts(inProds); NameValueCollection nVals = new NameValueCollection(); XmlNodeList xmlNodeList = xmlDocument.DocumentElement.SelectNodes("Customer/Parms"); string str1 = ""; foreach (XmlNode xmlNode in xmlNodeList) { if (xmlNode.Name == "Parms") { try { if (str1 == "") { str1 = xmlNode.Attributes["queryend"].Value; } } catch (Exception ex) { } } foreach (XmlAttribute attribute in (XmlNamedNodeMap)xmlNode.Attributes) { if (attribute.Name == "Product") { if (attribute.Value == "Y") { ++num2; try { if (str1 == "") { str1 = xmlNode.Attributes["queryend"].Value; } } catch (Exception ex) { } try { string sQueryEnd = str1; NameValueCollection parmSet = DownloadInstall.FindParmSet(xmlNode.Attributes["Value"].Value, sQueryEnd, dt.cSheetColl, nVals); string liveFile = DownloadInstall.FindLiveFile(xmlNode.Attributes["Value"].Value, sQueryEnd, dt.cSheetColl); string sAddr = DownloadInstall.sHost + "/sheets/version/" + str1 + "/" + HttpUtility.UrlPathEncode(liveFile); string str2 = DownloadInstall.sTarget + liveFile; if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Downloading Sheet " + sAddr, 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Downloading Sheet " + sAddr, 0, pc.IBatchNo); } DownloadInstall.sCurrentFile = sAddr; DownloadInstall.iDotCount = 0; if (System.IO.File.Exists(str2)) { new FileInfo(str2) { IsReadOnly = false } } .Delete(); DownloadInstall.DownLoadASheet(sAddr, str2); if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Download Complete Sheet " + sAddr, 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Download Complete Sheet " + sAddr, 0, pc.IBatchNo); } FileInfo fileInfo3 = new FileInfo(str2); if (System.IO.File.Exists(str2)) { if (fileInfo3.Length > 0L) { try { ++DownloadInstall.iLogCount; if (!pc.bCust) { pc.LogEvent(DownloadInstall.sUnid, "", 10000, pc.IBatchNo); pc.bCust = true; } if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Trying to configure " + str2, 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Trying to configure " + str2, 0, pc.IBatchNo); } DownloadInstall.ConfigureASheet(str2, ref dt.cSheetColl, xmlNode.Attributes["Value"].Value, sQueryEnd, parmSet, dt, ref pc); if (DownloadInstall.bWebLog) { pc.LogEvent(DownloadInstall.sUnid, "Configuring " + str2, 0, pc.IBatchNo); } else { pc.FileLog(DownloadInstall.sUnid, "Configuring " + str2, 0, pc.IBatchNo); } str1 = ""; break; } catch (Exception ex) { int num3 = DownloadInstall.bError ? 1 : 0; DownloadInstall.bError = true; pc.LogEvent(DownloadInstall.sUnid, ex.Message + " - Configuring Sheet Fails", -1, pc.IBatchNo); break; } } } int num4 = DownloadInstall.bError ? 1 : 0; DownloadInstall.bError = true; pc.LogEvent(DownloadInstall.sUnid, str2 + " Fails to Download", -1, pc.IBatchNo); Console.WriteLine("Error - " + str2 + " Fails to Download"); fileInfo3.Delete(); break; }