private static InstalledAppInformation LoadInstalledAppInformation(Assembly mainAssembly, string appTitle, InstalledVersionProviderDelegate installedVersionProvider) { var info = new InstalledAppInformation(); var companyAttribute = (AssemblyCompanyAttribute)GetAttribute(mainAssembly, typeof(AssemblyCompanyAttribute)); var appCompany = companyAttribute != null ? companyAttribute.Company : ""; info.AppTitle = appTitle; if (string.IsNullOrEmpty(appTitle)) { var titleAttribute = (AssemblyTitleAttribute)GetAttribute(mainAssembly, typeof(AssemblyTitleAttribute)); info.AppTitle = titleAttribute != null ? titleAttribute.Title : mainAssembly.GetName().Name; } info.RegistryAppInfoLocation = !string.IsNullOrEmpty(appCompany) ? $@"Software\{appCompany}\{info.AppTitle}\AutoUpdater" : $@"Software\{info.AppTitle}\AutoUpdater"; info.InstalledVersion = installedVersionProvider?.Invoke() ?? mainAssembly.GetName().Version; return(info); }
///<summary> /// AutoUpdater.NET will use this delegate to get the installed version, if it is not null. /// </summary> public InitSettings SetInstalledVersionProvider(InstalledVersionProviderDelegate del) { InstalledVersionProvider = del; return(this); }