public EncodingDecorator Build() { EncodingDecorator encoding = null; for (var i = SetupActions.Count - 1; i >= 0; i--) { encoding = SetupActions[i](encoding); } return(encoding); }
/// <summary> /// Add common setup action (will be always called during Setup phase) /// </summary> /// <param name="action">Action delegate</param> public void Configure(Action action) { if (action == null) { throw new ArgumentNullException(nameof(action)); } SetupActions.Add(new AppSetupAction(action, AppEnv.All)); }
/// <summary> /// Add an action for specific <para>environments</para> (will be called only /// for given envronements during setup phase) /// </summary> /// <param name="action">Action delegate</param> /// <param name="appEnv">AppEnv instance</param> public void ConfigureFor(AppEnv appEnv, Action action) { if (action == null) { throw new ArgumentNullException(nameof(action)); } if (appEnv == null) { throw new ArgumentNullException(nameof(appEnv)); } SetupActions.Add(new AppSetupAction(action, appEnv)); }
public void LoadActions() { if (Type == SlideType.Action) { try { List <string> parts = new List <string>(); using (StreamReader sr = new StreamReader(Source)) { string text = sr.ReadToEnd(); var commands = text.Split(";", StringSplitOptions.RemoveEmptyEntries).Select(s => (s + ";").Trim()); parts = commands.ToList(); } Title = "AUTO SEQ"; foreach (var part in parts) { // parse into commands if (part == ";") { } else if (part.StartsWith("!")) { if (part == ("!fullauto;")) { AutoOnly = true; } } else if (part.StartsWith("@")) { var a = AutomationAction.Parse(part.Remove(0, 1)); SetupActions.Add(a); } else if (part.StartsWith("#")) { var title = Regex.Match(part, @"#(?<title>.*);").Groups["title"].Value; Title = title; } else { var a = AutomationAction.Parse(part); Actions.Add(a); } } } catch (Exception) { } } }
public static void Setup(TestContext context) { _session = SetupActions.LaunchApp(); }
public static void Setup(TestContext context) { _session = SetupActions.LaunchApp(); //_fiddler = LaunchFiddlerAcions.LaunchFiddler();// неудачная попытка вкрячить фиддлер }
public static IWiXSetup Create(IDictionary<string, string> Ctx, SetupActions Action) { var SetupVars = new SetupVariables(); FillFromSession(Ctx, SetupVars); SetupVars.SetupAction = Action; SetupVars.IISVersion = Global.IISVersion; AppConfig.LoadConfiguration(new ExeConfigurationFileMap { ExeConfigFilename = GetFullConfigPath(SetupVars) }); return new PortalSetup(SetupVars, GetModeExtension(Ctx)); }
/// <summary> /// Parses the command line. /// </summary> /// <param name="commandLine">The command line.</param> /// <returns>true if no errors</returns> private static bool ParseCommandLine() { // Get command line arguments and decide if setup is to be Unattended String[] arguments = Environment.GetCommandLineArgs(); CommandlineParameters commandlineParameters = new CommandlineParameters(); // Parse command line arguments commandlineParameters.ParseCommandline(arguments); if ((bool)commandlineParameters.GetParameterValue(CommandlineParameterId.Help) == true) { MessageBox.Show(WPFResourceDictionary.CommandlineUsage, WPFResourceDictionary.SetupMessageBoxTitle, MessageBoxButton.OK); return(false); } SetupLogger.LogInfo("Main : Current directory = {0}", Environment.CurrentDirectory); if (commandlineParameters.IsParameterSpecified(CommandlineParameterId.Action) == false) { commandlineParameters.SetParameterValue(CommandlineParameterId.Action, SetupActions.UserInterface); } if ((SetupActions)commandlineParameters.GetParameterValue(CommandlineParameterId.Action) == SetupActions.UnattendedInstall && (bool)commandlineParameters.GetParameterValue(CommandlineParameterId.AcceptLicense) == false && (bool)commandlineParameters.GetParameterValue(CommandlineParameterId.OemSetup) == false) { SetupLogger.LogInfo("Have NOT acknowledge acceptance of the license terms in unattended install."); return(false); } String iniFile = (String)commandlineParameters.GetParameterValue(CommandlineParameterId.IniFile); try { if (iniFile == null) { SetupInputs.Instance.LoadParameterList(parameterList); } else { SetupInputs.Instance.LoadFrom(iniFile, parameterList); } } catch (Exception ex) { SetupLogger.LogInfo("ParseCommandLine() ", ex); return(false); } // Need to save the installation location in property bag for prerequisite check String installationLocation = SetupInputs.Instance.FindItem(SetupInputTags.BinaryInstallLocationTag); PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.InstallationLocation, installationLocation); String installSource = (String)commandlineParameters.GetParameterValue(CommandlineParameterId.SetupLocation); if (!String.IsNullOrEmpty(installSource)) { installSource = Path.Combine(installSource, SetupConstants.SetupFolder); PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.LocationOfSetupFiles, installSource); } else { installSource = PropertyBagDictionary.Instance.GetProperty <string>(PropertyBagDictionary.SetupExePath); } String certificateThumbprint = SetupInputs.Instance.FindItem(SetupInputTags.CmpCertificateThumbprintTag); if (!String.IsNullOrEmpty(certificateThumbprint)) { certificateThumbprint = "LocalMachine,My," + certificateThumbprint; PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.CMPCertificateThumbprint, certificateThumbprint); } SetupLogger.LogInfo("OriginalInstallSource: {0}", installSource); SetupActions setupAction = (SetupActions)commandlineParameters.GetParameterValue(CommandlineParameterId.Action); if (setupAction == SetupActions.UnattendedUninstall) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.Uninstall, "1"); } if (setupAction != SetupActions.UserInterface) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagDictionary.Silent, true); SetupFeatures setupFeaturesFlags = (SetupFeatures)commandlineParameters.GetParameterValue(CommandlineParameterId.Feature); if ((setupFeaturesFlags & SetupFeatures.TenantExtension) == SetupFeatures.TenantExtension) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.TenantExtension, "1"); PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.ExtensionCommon, "1"); } if ((setupFeaturesFlags & SetupFeatures.AdminExtension) == SetupFeatures.AdminExtension) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.AdminExtension, "1"); PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.ExtensionCommon, "1"); } if ((setupFeaturesFlags & SetupFeatures.Server) == SetupFeatures.Server) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.Server, "1"); } } bool isLocalSystemAccount = SetupInputs.Instance.FindItem(SetupInputTags.CmpServiceLocalAccountTag); if (!isLocalSystemAccount) { SetupInputs.Instance.EditItem(SetupInputTags.CmpServiceDomainTag, commandlineParameters.GetParameterValue(CommandlineParameterId.CmpServiceDomain)); SetupInputs.Instance.EditItem(SetupInputTags.CmpServiceUserNameTag, commandlineParameters.GetParameterValue(CommandlineParameterId.CmpServiceUserName)); SetupInputs.Instance.EditItem(SetupInputTags.CmpServiceUserPasswordTag, commandlineParameters.GetParameterValue(CommandlineParameterId.CmpServiceUserPassword)); } bool isDatabaseImpersonation = SetupInputs.Instance.FindItem(SetupInputTags.RemoteDatabaseImpersonationTag); if (isDatabaseImpersonation) { try { SetupInputs.Instance.EditItem(SetupInputTags.SqlDBAdminDomainTag, commandlineParameters.GetParameterValue(CommandlineParameterId.SqlDBAdminDomain)); SetupInputs.Instance.EditItem(SetupInputTags.SqlDBAdminNameTag, commandlineParameters.GetParameterValue(CommandlineParameterId.SqlDBAdminName)); SetupInputs.Instance.EditItem(SetupInputTags.SqlDBAdminPasswordTag, commandlineParameters.GetParameterValue(CommandlineParameterId.SqlDBAdminPassword)); } catch (Exception ex) { SetupLogger.LogInfo("ParseCommandLine(), SqlDBAdminDomain or SqlDBAdminName or SqlDBAdminPassword is null or invalid", ex); return(false); } } if ((bool)commandlineParameters.GetParameterValue(CommandlineParameterId.OemSetup)) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.VhdVersionPreparation, true); } if ((bool)commandlineParameters.GetParameterValue(CommandlineParameterId.Configure)) { PropertyBagDictionary.Instance.SafeAdd(PropertyBagConstants.VhdVersionConfiguration, true); } return(true); }
/// <summary> /// Reigsters a new pre-deployment action for instances of the current service. /// </summary> /// <param name="action">An action to perform before deploying this service.</param> /// <returns>The current service manager.</returns> public IServiceManager RegisterSetupAction(IServiceAction action) { SetupActions.Add(action.Run); return(this); }