public void SetCertificates() { try { Certificates.Clear(); var localStore = new X509Store(StoreLocation.CurrentUser); var machineStore = new X509Store(StoreLocation.LocalMachine); localStore.Open(OpenFlags.ReadOnly); if (localStore.Certificates.Count > 0) { foreach (var certificate in localStore.Certificates) { var cert = new Certificate(); if (IsSigningCert(certificate)) { if (string.IsNullOrEmpty(certificate.FriendlyName)) { cert.FriendlyName = certificate.SubjectName.Name; } else { cert.FriendlyName = certificate.FriendlyName; } cert.IssuerName = certificate.IssuerName.Name; cert.ThumbPrint = certificate.Thumbprint; Certificates.Add(cert); } } } machineStore.Open(OpenFlags.ReadOnly); if (machineStore.Certificates.Count > 0) { foreach (var certificate in machineStore.Certificates) { var cert = new Certificate(); if (IsSigningCert(certificate)) { if (String.IsNullOrEmpty(certificate.FriendlyName)) { cert.FriendlyName = certificate.SubjectName.Name; } else { cert.FriendlyName = certificate.FriendlyName; } cert.IssuerName = certificate.IssuerName.Name; cert.ThumbPrint = certificate.Thumbprint; Certificates.Add(cert); } } } localStore.Close(); machineStore.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public MainWindowViewModel(IDialogCoordinator dialogCoordinator) { _dialogCoordinator = dialogCoordinator; ApplicationMode = ApplicationMode.InstallGenerator; if (DefaultLanguage == null) { DefaultLanguage = new Language() { Id = "en-us", Name = "English", Order = 1 }; } UseSameLanguagesForAllProducts = true; if (_selectedLanguages == null) { _selectedLanguages = new List<Language>() { DefaultLanguage, }; } _removedLanguages = new List<Language>(); Builds = new List<Build>() { new Build() { Version = "16.0.4949.1003" } }; Channels = new List<Channel>() { new Channel() { } }; Branches = new List<OfficeBranch>() { new OfficeBranch() { Branch = Branch.Current, Name = "Current", NewName = "Current", Id = "Current", CurrentVersion = "16.0.7070.2028", Versions = new List<Build>() { new Build() { Version = "16.0.7070.2028"}, new Build() { Version = "16.0.7070.2026"}, new Build() { Version = "16.0.7070.2022"}, new Build() { Version = "16.0.6965.2063"}, new Build() { Version = "16.0.6965.2058"}, new Build() { Version = "16.0.6965.2053"}, new Build() { Version = "16.0.6868.2067"}, new Build() { Version = "16.0.6868.2062"}, new Build() { Version = "16.0.6868.2060"}, new Build() { Version = "16.0.6769.2040"}, new Build() { Version = "16.0.6769.2017"}, new Build() { Version = "16.0.6769.2015"}, new Build() { Version = "16.0.6741.2021"}, new Build() { Version = "16.0.6741.2017"}, new Build() { Version = "16.0.6568.2036"}, new Build() { Version = "16.0.6568.2034"}, new Build() { Version = "16.0.6568.2025"}, new Build() { Version = "16.0.6366.2068"}, new Build() { Version = "16.0.6366.2062"}, new Build() { Version = "16.0.6366.2056"}, new Build() { Version = "16.0.6366.2036"}, new Build() { Version = "16.0.6001.1043"}, new Build() { Version = "16.0.6001.1038"}, new Build() { Version = "16.0.6001.1034"}, new Build() { Version = "16.0.4229.1029"}, new Build() { Version = "16.0.4229.1024"}, } }, new OfficeBranch() { Branch = Branch.Business, Name = "Deferred", NewName = "Deferred", Id = "Business", CurrentVersion = "16.0.6741.2056", Versions = new List<Build>() { new Build() { Version = "16.0.6741.2056"}, new Build() { Version = "16.0.6001.1085"}, new Build() { Version = "16.0.6741.2048"}, new Build() { Version = "16.0.6001.1082"}, new Build() { Version = "16.0.6001.1078"}, new Build() { Version = "16.0.6001.1073"}, new Build() { Version = "16.0.6001.1068"}, new Build() { Version = "16.0.6001.1061"} } }, new OfficeBranch() { Branch = Branch.FirstReleaseCurrent, Name = "First Release Current", NewName = "FirstReleaseCurrent", Id = "FirstReleaseCurrent", CurrentVersion = "16.0.7070.2030", Versions = new List<Build>() { new Build() { Version = "16.0.7070.2030"}, new Build() { Version = "16.0.7070.2026"}, new Build() { Version = "16.0.7070.2022"}, new Build() { Version = "16.0.7070.2028"}, new Build() { Version = "16.0.7070.2020"}, new Build() { Version = "16.0.7070.2019"}, new Build() { Version = "16.0.6769.2015"}, new Build() { Version = "16.0.6769.2011"}, new Build() { Version = "16.0.6741.2017"}, new Build() { Version = "16.0.6741.2015"}, new Build() { Version = "16.0.6741.2014"}, new Build() { Version = "16.0.6568.2036"}, new Build() { Version = "16.0.6568.2025"}, new Build() { Version = "16.0.6568.2016"}, new Build() { Version = "16.0.6366.2062"}, new Build() { Version = "16.0.6366.2056"}, new Build() { Version = "16.0.6366.2047"}, new Build() { Version = "16.0.6366.2036"}, new Build() { Version = "16.0.6366.2025"}, new Build() { Version = "16.0.6228.1010"}, new Build() { Version = "16.0.6228.1007"}, new Build() { Version = "16.0.6228.1004"} } }, new OfficeBranch() { Branch = Branch.FirstReleaseBusiness, Name = "First Release Deferred", NewName = "FirstReleaseDeferred", Id = "FirstReleaseBusiness", CurrentVersion = "16.0.6965.2069", Versions = new List<Build>() { new Build() { Version = "16.0.6965.2069"}, new Build() { Version = "16.0.6965.2066"}, new Build() { Version = "16.0.6965.2063"}, new Build() { Version = "16.0.6965.2058"}, new Build() { Version = "16.0.6741.2047"}, new Build() { Version = "16.0.6741.2042"}, new Build() { Version = "16.0.6741.2037"}, new Build() { Version = "16.0.6741.2033"}, new Build() { Version = "16.0.6741.2026"}, new Build() { Version = "16.0.6741.2025"}, new Build() { Version = "16.0.6741.2021"}, new Build() { Version = "16.0.6741.2017"}, new Build() { Version = "16.0.6741.2015"}, new Build() { Version = "16.0.6741.2014"}, new Build() { Version = "16.0.6001.1061"}, new Build() { Version = "16.0.6001.1054"}, new Build() { Version = "16.0.6001.1043"}, new Build() { Version = "16.0.6001.1038"}, new Build() { Version = "16.0.6001.1034"}, new Build() { Version = "16.0.4229.1029"}, new Build() { Version = "16.0.4229.1024"} } } }; MainProducts = new List<Product>() { new Product() { DisplayName = "Office 365 ProPlus", Id = "O365ProPlusRetail", ShortName = "Office 365 ProPlus" }, new Product() { DisplayName = "Office 365 for Business", Id = "O365BusinessRetail", ShortName = "Office 365 for Business" } }; LanguagePackProducts = new List<Product>() { new Product() { Id = "LanguagePack", DisplayName = "Language Pack", ShortName = "Language Pack" } }; VisioProducts = new List<Product>() { new Product() { DisplayName = "Visio for Office 365", Id = "VisioProRetail", ShortName = "Visio for Office 365" }, new Product() { DisplayName = "Visio for Office 365 Professional (Volume License)", Id = "VisioProXVolume", ShortName = "Visio for Office 365" }, new Product() { DisplayName = "Visio for Office 365 Standard (Volume License)", Id = "VisioStdXVolume", ShortName = "Visio for Office 365" }, }; ProjectProducts = new List<Product>() { new Product() { DisplayName = "Project for Office 365", Id = "ProjectProRetail", ShortName = "Project for Office 365" }, new Product() { DisplayName = "Project for Office 365 Professional(Volume License)", Id = "ProjectProXVolume", ShortName = "Project for Office 365" }, new Product() { DisplayName = "Project for Office 365 Standard (Volume License)", Id = "ProjectStdXVolume", ShortName = "Project for Office 365" } }; SkypeProducts = new List<Product>() { new Product() { DisplayName = "Skype For Business 2016", Id = "SkypeforBusinessRetail", ShortName = "Skype For Business 2016" }, new Product() { DisplayName = "Skype For Business Basic 2016", Id = "SkypeforBusinessEntryRetail", ShortName = "Skype For Business Basic 2016" } }; ExcludeProducts = new List<ExcludeProduct>() { new ExcludeProduct() { DisplayName = "Access" }, new ExcludeProduct() { DisplayName = "Excel" }, new ExcludeProduct() { DisplayName = "Groove" }, new ExcludeProduct() { DisplayName = "Lync" }, new ExcludeProduct() { DisplayName = "OneNote" }, new ExcludeProduct() { DisplayName = "Outlook" }, new ExcludeProduct() { DisplayName = "PowerPoint" }, new ExcludeProduct() { DisplayName = "Project" }, new ExcludeProduct() { DisplayName = "Publisher" }, new ExcludeProduct() { DisplayName = "Visio" }, new ExcludeProduct() { DisplayName = "Word" }, new ExcludeProduct() { DisplayName = "OneDrive" } }; Languages = new List<Language>() { new Language { Id="en-us", Name="English" }, new Language { Id="ar-sa", Name="Arabic" }, new Language { Id="bg-bg", Name="Bulgarian" }, new Language { Id="zh-cn", Name="Chinese - Simplified" }, new Language { Id="zh-tw", Name="Chinese" }, new Language { Id="hr-hr", Name="Croatian" }, new Language { Id="cs-cz", Name="Czech" }, new Language { Id="da-dk", Name="Danish" }, new Language { Id="nl-nl", Name="Dutch" }, new Language { Id="et-ee", Name="Estonian" }, new Language { Id="fi-fi", Name="Finnish" }, new Language { Id="fr-fr", Name="French" }, new Language { Id="de-de", Name="German" }, new Language { Id="el-gr", Name="Greek" }, new Language { Id="he-il", Name="Hebrew" }, new Language { Id="hi-in", Name="Hindi" }, new Language { Id="hu-hu", Name="Hungarian" }, new Language { Id="id-id", Name="Indonesian" }, new Language { Id="it-it", Name="Italian" }, new Language { Id="ja-jp", Name="Japanese" }, new Language { Id="kk-kz", Name="Kazakh" }, new Language { Id="ko-kr", Name="Korean" }, new Language { Id="lv-lv", Name="Latvian" }, new Language { Id="lt-lt", Name="Lithuanian" }, new Language { Id="ms-my", Name="Malay" }, new Language { Id="nb-no", Name="Norwegian - Bokml" }, new Language { Id="pl-pl", Name="Polish" }, new Language { Id="pt-br", Name="Portuguese - Brazil" }, new Language { Id="pt-pt", Name="Portuguese - Portugal" }, new Language { Id="ro-ro", Name="Romanian" }, new Language { Id="ru-ru", Name="Russian" }, new Language { Id="sr-latn-rs", Name="Serbian - Latin" }, new Language { Id="sk-sk", Name="Slovak" }, new Language { Id="sl-si", Name="Slovenian" }, new Language { Id="es-es", Name="Spanish" }, new Language { Id="sv-se", Name="Swedish" }, new Language { Id="th-th", Name="Thai" }, new Language { Id="tr-tr", Name="Turkish" }, new Language { Id="uk-ua", Name="Ukrainian" }, new Language { Id="vi-vn", Name="Vietnamese" } }; Certificates = new List<Certificate>(); SelectedCertificate = new Certificate(); }