public override Response Execute()
        {
            // Initialize
            if (this.preInstallService != null)
            {
                return(this.ExecutePDB());
            }

            var logger              = new TextLogger();
            var connectionFactory   = new HelperConnectionFactory(this.Helper);
            var agentRepository     = new AgentRepository(connectionFactory);
            var agentManagerProxy   = this.Helper.GetServicesManager().CreateProxy <IAgentManager>(ExecutionIdentity.System);
            var agentManagerService = new AgentManagerService(agentManagerProxy, agentRepository, logger);

            this.preInstallService = new PreInstallService(agentManagerService);


            var response = this.ExecutePDB();

            agentManagerProxy?.Dispose();
            return(response);
        }
 public InstallRequirementsPreInstallEvent(IPreInstallService preInstallService)
 {
     this.preInstallService = preInstallService;
 }