protected override async Task ExecuteOverrideAsync(ILogger logger)
        {
            using (logger.BeginScope("ExecuteInstall"))
            {
                try
                {
                    var installerFactory = new PackageInstallerFactory();
                    var appManager       = new ApplicationManager();

                    var package = new InstallationPackage(PackagePath);

                    var installer = installerFactory.GetInstaller(package.Manifest.Deploy.Platform);

                    var result = await installer.InstallPackage(package, logger);

                    appManager.WriteAppPackageInstalled(
                        package.Manifest.AppId,
                        result,
                        writeDotykTechFields: true);
                }
                catch (Exception ex)
                {
                    logger.LogError(new EventId(), ex, "Failed to isntall package");
                    throw;
                }
            }
        }
Esempio n. 2
0
        //private static async Task PushPackage(PushOption options, ILogger logger, Stream packageStream)
        //{
        //    packageStream.Seek(0, SeekOrigin.Begin);

        //    var client = new StoreClient(
        //                    new StoreClientOptions
        //                    {
        //                        ServerUrl = new Uri(options.ServerUrl)
        //                    });

        //    using (logger.BeginScope("Publishing"))
        //    {
        //        try
        //        {
        //            try
        //            {
        //                await client.Login(new LoginViewModel
        //                {
        //                    Email = options.Login,
        //                    Password = options.Password
        //                });
        //            }
        //            catch
        //            {
        //                if (!options.Register) throw;

        //                logger.LogInformation("Registering new user");

        //                await client.Register(new RegisterViewModel
        //                {
        //                    Email = options.Login,
        //                    Password = options.Password
        //                });

        //                await client.Login(new LoginViewModel
        //                {
        //                    Email = options.Login,
        //                    Password = options.Password
        //                });
        //            }

        //            await client.SubmitPackage(packageStream);

        //            logger.LogInformation("Package published");
        //        }
        //        catch (Exception ex)
        //        {
        //            logger.LogError(new EventId(), ex, "Failed to publish package");
        //            throw;
        //        }
        //    }
        //}

        private static async Task ExecuteVerb(InstallOption io)
        {
            var logger = new ConsoleLogger("Installer", null, true);

            using (logger.BeginScope("ExecuteInstall"))
            {
                try
                {
                    var installerFactory = new PackageInstallerFactory();
                    var appManager       = new ApplicationManager();

                    var package = new InstallationPackage(io.PackagePath);

                    var installer = installerFactory.GetInstaller(package.Manifest.Deploy.Platform);

                    var result = await installer.InstallPackage(package, logger);

                    appManager.WriteAppPackageInstalled(package.Manifest.AppId, result);
                }
                catch (Exception ex)
                {
                    logger.LogError(new EventId(), ex, "Failed to isntall package");
                    throw;
                }
            }
        }
Esempio n. 3
0
        public UpdateService(RepositoryFactory repositoryFactory, PackageInstallerFactory packageInstallerFactory,
                             DependencyResolver dependencyResolver, IWriter writer)
        {
            Guard.NotNull(repositoryFactory, nameof(repositoryFactory));
            Guard.NotNull(packageInstallerFactory, nameof(packageInstallerFactory));
            Guard.NotNull(dependencyResolver, nameof(dependencyResolver));
            Guard.NotNull(writer, nameof(writer));

            _packageInstallerFactory = packageInstallerFactory;
            _dependencyResolver      = dependencyResolver;
            _repositoryFactory       = repositoryFactory;
            _writer = writer;
        }
Esempio n. 4
0
        public ResolveService(IPackageSerializer packageSerializer, ManifestResolver manifestResolver, RepositoryFactory repositoryFactory, DependencyResolver dependencyResolver,
                              PackageInstallerFactory packageInstallerFactory, IWriter writer)
        {
            Guard.NotNull(packageSerializer, nameof(packageSerializer));
            Guard.NotNull(manifestResolver, nameof(manifestResolver));
            Guard.NotNull(repositoryFactory, nameof(repositoryFactory));
            Guard.NotNull(dependencyResolver, nameof(dependencyResolver));
            Guard.NotNull(packageInstallerFactory, nameof(packageInstallerFactory));
            Guard.NotNull(writer, nameof(writer));

            _packageSerializer       = packageSerializer;
            _manifestResolver        = manifestResolver;
            _repositoryFactory       = repositoryFactory;
            _dependencyResolver      = dependencyResolver;
            _packageInstallerFactory = packageInstallerFactory;
            _writer = writer;
        }