Beispiel #1
0
        public static List <HTTPDataAnalyzer.Registration.OfficeApplication> GetOfficeApplication()
        {
            List <HTTPDataAnalyzer.Registration.OfficeApplication> oldApp = new List <Registration.OfficeApplication>();

            try
            {
                using (SQLiteConnection connection = new SQLiteConnection(DBManager.ConnectionString))
                {
                    connection.Open();
                    using (SQLiteCommand selectCommand = new SQLiteCommand("select * from officeapplication", connection))
                    {
                        using (SQLiteDataReader dataReader = selectCommand.ExecuteReader())
                        {
                            while (dataReader.Read())
                            {
                                HTTPDataAnalyzer.Registration.OfficeApplication app = new Registration.OfficeApplication();
                                app.Name    = dataReader["name"].ToString();
                                app.Version = dataReader["version"].ToString();

                                oldApp.Add(app);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                //Registration.ClientRegistrar.Logger.Error(ex);
            }
            return(oldApp);
        }
        public static List <OfficeApplication> GetOfficeApps()
        {
            List <OfficeApplication> listOfficeApps = new List <OfficeApplication>();

            try
            {
                foreach (var item in Enum.GetValues(typeof(OfficeComponent)))
                {
                    OfficeApplication officeApp = new OfficeApplication();
                    switch ((OfficeComponent)item)
                    {
                    case OfficeComponent.Word:
                        officeApp.Name = "winword.exe";
                        break;

                    case OfficeComponent.Excel:
                        officeApp.Name = "excel.exe";
                        break;

                    case OfficeComponent.PowerPoint:
                        officeApp.Name = "powerpnt.exe";
                        break;

                    case OfficeComponent.Outlook:
                        officeApp.Name = "outlook.exe";
                        break;
                    }

                    RegistryKey officeKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\" + officeApp.Name);
                    if (officeKey != null)
                    {
                        string path         = officeKey.GetValue(null).ToString();
                        string majorVersion = GetProductMajorVersion(path);
                        switch (majorVersion)
                        {
                        case "11.0":
                        case "11":
                            officeApp.Version = "MS Office 2003";
                            break;

                        case "12.0":
                        case "12":
                            officeApp.Version = "MS Office 2007";
                            break;

                        case "14.0":
                        case "14":
                            officeApp.Version = "MS Office 2010";
                            break;

                        case "15.0":
                        case "15":
                            officeApp.Version = "MS Office 2013";
                            break;

                        case "16.0":
                        case "16":
                            officeApp.Version = "MS Office 2016";
                            break;

                        default:
                            officeApp.Version = GetProductName(path);
                            break;
                        }
                        officeKey.Close();
                    }
                    if (!string.IsNullOrEmpty(officeApp.Version))
                    {
                        listOfficeApps.Add(officeApp);
                    }
                }
            }
            catch (Exception ex)
            {
                //Registration.ClientRegistrar.Logger.Error(ex);
            }
            return(listOfficeApps);
        }