Exemplo n.º 1
0
        public static bool Install(TInstaller manager, IInstallable <TInstaller> install, bool initial)
        {
            try
            {
                IHasDefaultOption defaultOption = install as IHasDefaultOption;
                if (defaultOption != null)
                {
                    defaultOption.InitDefaultValue();
                }

                return(install.Install(manager, initial));
            }
            catch (Exception e)
            {
                string name = null;

                try
                {
                    name = install.Name;
                }
                catch
                {
                    name = install.GetType().ToString();
                }

                Common.Exception(name, e);
                return(false);
            }
        }
Exemplo n.º 2
0
        private RequestedAction InstallOrUpgradeModule(IInstallable module, ModuleInfo moduleInfo)
        {
            RequestedAction? requestedAction = null;
            var version = module.GetType().GetTypeInfo().Assembly.GetName().Version;
            if (moduleInfo.Config.Version == null)
            {
                var context = new DefaultInstallContext(this);
                module.Install(context);
                requestedAction = context.RequestedAction;
            }
            else if (moduleInfo.Config.Version < version)
            {
                var context = new DefaultUpgradeContext(this, moduleInfo.Config.Version);
                module.Upgrade(context);
                requestedAction = context.RequestedAction;
            }

            if (requestedAction.HasValue)
            {
                moduleInfo.Config.Version = version;
                this.ConfigManager.Save<AppConfig>();
            }

            return requestedAction ?? RequestedAction.None;
        }