Installer CreateInstaller() { var installers = new Installer[] { ConfigureServiceInstaller(), ConfigureServiceProcessInstaller() }; string arguments = " "; if (_description.InstanceName.IsNotEmpty()) { arguments += " -instance:{0}".FormatWith(_description.InstanceName); } if (_description.DisplayName.IsNotEmpty()) { arguments += " -displayname \"{0}\"".FormatWith(_description.DisplayName); } if (_description.Name.IsNotEmpty()) { arguments += " -servicename:{0}".FormatWith(_description.Name); } var installer = new HostInstaller(_description, arguments, installers); return(installer); }
public void ExecuteInternal(HostArguments args) { var serviceInstaller = new ServiceInstaller { ServiceName = args.ServiceName, Description = args.Description, DisplayName = args.DisplayName, }; SetStartMode(serviceInstaller, args.StartMode); var serviceProcessInstaller = new ServiceProcessInstaller { Username = args.Username, Password = args.Password, Account = args.ServiceAccount, }; var installers = new Installer[] { serviceInstaller, serviceProcessInstaller }; var arguments = string.Empty; if (!string.IsNullOrEmpty(args.Url)) { arguments += string.Format(" --url=\"{0}\"", args.Url); } using (var hostInstaller = new HostInstaller(args, arguments, installers)) using (var transactedInstaller = new TransactedInstaller()) { transactedInstaller.Installers.Add(hostInstaller); var assembly = Assembly.GetEntryAssembly(); var path = string.Format("/assemblypath={0}", assembly.Location); string[] commandLine = { path }; var context = new InstallContext(null, commandLine); transactedInstaller.Context = context; Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); action(transactedInstaller); } }
public void ExecuteInternal(HostArguments args) { var serviceInstaller = new ServiceInstaller { ServiceName = args.ServiceName, Description = args.Description, DisplayName = args.DisplayName, }; SetStartMode(serviceInstaller, args.StartMode); var serviceProcessInstaller = new ServiceProcessInstaller { Username = args.Username, Password = args.Password, Account = args.ServiceAccount, }; var installers = new Installer[] { serviceInstaller, serviceProcessInstaller }; var arguments = String.Empty; if (!String.IsNullOrEmpty(args.Url)) { arguments += string.Format(" --url=\"{0}\"", args.Url); } using (var hostInstaller = new HostInstaller(args, arguments, installers)) using (var transactedInstaller = new TransactedInstaller()) { transactedInstaller.Installers.Add(hostInstaller); var assembly = Assembly.GetEntryAssembly(); var path = String.Format("/assemblypath={0}", assembly.Location); string[] commandLine = {path}; var context = new InstallContext(null, commandLine); transactedInstaller.Context = context; Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); action(transactedInstaller); } }
Installer CreateInstaller() { var installers = new Installer[] { ConfigureServiceInstaller(), ConfigureServiceProcessInstaller() }; string arguments = " "; if (_description.InstanceName.IsNotEmpty()) arguments += " -instance:{0}".FormatWith(_description.InstanceName); if (_description.DisplayName.IsNotEmpty()) arguments += " -displayname \"{0}\"".FormatWith(_description.DisplayName); if (_description.Name.IsNotEmpty()) arguments += " -servicename:{0}".FormatWith(_description.Name); var installer = new HostInstaller(_description, arguments, installers); return installer; }