Beispiel #1
0
        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);
 }