1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| namespace VerifDllsVersion
{
class Program
{
static void Main(string[] args)
{
Hashtable htDllsInfos = GetDllsInformationFromBase();
IDictionaryEnumerator iEnum = htDllsInfos.GetEnumerator();
File.Delete("C:\\Users\\maxursin\\Documents\\VersionsIdentical.log");
File.Delete("C:\\Users\\maxursin\\Documents\\NotVersionsIdentical.log");
string VersionFileHashtable = htDllsInfos.Values.ToString();
string path = "C:\\Users\\maxursin\\Documents\\CppDll\\";
string[] monTab = Directory.GetFiles(path, "CPS?????.dll");
int TotalDlls = Directory.GetFiles(path, "CPS?????.dll").Length;
int CompteurCPS = 0;
string VersionDataBase = string.Empty;
string VersionDirectory = string.Empty;
DateTime StartDate = DateTime.Now;
int compteurNotIdemCps = 0;
bool V;
while (iEnum.MoveNext() || CompteurCPS < TotalDlls)
{
string[] tokins = monTab[CompteurCPS].Split('\\');
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo("C:\\Users\\maxursin\\Documents\\CppDll\\" + tokins[5]);
V = File.Exists("C:\\Users\\maxursin\\Documents\\CppDll\\" + tokins[5]);
string[] tokens = iEnum.Value.ToString().Split('.');
VersionDirectory = myFileVersionInfo.FileVersion;
string[] tokons = VersionDirectory.Split('.');
string ConvertD = tokons[0];
string ConvertD1 = tokons[1];
string ConvertD2 = tokons[2];
string ConvertD3 = tokons[3];
int ConvertedD = int.Parse(ConvertD);
int ConvertedD1 = int.Parse(ConvertD1);
int ConvertedD2 = int.Parse(ConvertD2);
int ConvertedD3 = int.Parse(ConvertD3);
VersionDirectory = ConvertedD + "." + ConvertedD1 + "." + ConvertedD2 + "." + ConvertedD3;
string Convert = tokens[0];
string Convert1 = tokens[1];
string Convert2 = tokens[2];
string Convert3 = tokens[3];
int Converted = int.Parse(Convert);
int Converted1 = int.Parse(Convert1);
int Converted2 = int.Parse(Convert2);
int Converted3 = int.Parse(Convert3);
VersionDataBase = Converted + "." + Converted1 + "." + Converted2 + "." + Converted3;
CompteurCPS++;
File.AppendAllText("C:\\Users\\maxursin\\Documents\\VersionsIdentical.log", tokins[5] + " | " + VersionDataBase + " | " + VersionDirectory);
if (VersionDataBase == VersionDirectory)
{
File.AppendAllText("C:\\Users\\maxursin\\Documents\\VersionsIdentical.log", " | 1" + "\r\n");
}
else
{
File.AppendAllText("C:\\Users\\maxursin\\Documents\\VersionsIdentical.log", "| 0" + "\r\n");
compteurNotIdemCps++;
}
}
Console.WriteLine("\r\n" + "There is " + compteurNotIdemCps + " Versions not identical");
DateTime EndDate = DateTime.Now;
Console.WriteLine("");
Console.WriteLine(EndDate.Subtract(StartDate).TotalMilliseconds + " Milliseconds");
Console.ReadKey();
}
public static Hashtable GetDllsInformationFromBase()
{
Hashtable htDllsInfos = new Hashtable();
SqlConnection sCon = new SqlConnection("Data Source=FRPAVCLU1302\\FRPAVCLU1302;Initial Catalog=OCS_RELEASE37;Integrated Security=SSPI;");
sCon.Open();
if (sCon.State == System.Data.ConnectionState.Open)
{
SqlCommand sCommand = new SqlCommand("select DllName, Version from OcsCPSDlls where DllName like 'cps%'", sCon);
SqlDataReader dataReader = sCommand.ExecuteReader();
while (dataReader.Read())
{
htDllsInfos.Add(dataReader[0], dataReader[1]);
}
}
sCon.Close();
return htDllsInfos;
}
}
} |
Partager