/// <summary> /// <p>Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan. First introduced in 1997, Inno Setup today rivals and even surpasses many commercial installers in feature set and stability.</p> /// <p>For more details, visit the <a href="http://www.jrsoftware.org/isinfo.php">official website</a>.</p> /// </summary> /// <remarks> /// <p>This is a <a href="http://www.nuke.build/docs/authoring-builds/cli-tools.html#fluent-apis">CLI wrapper with fluent API</a> that allows to modify the following arguments:</p> /// <ul> /// <li><c><scriptFile></c> via <see cref="InnoSetupSettings.ScriptFile"/></li> /// <li><c>/D</c> via <see cref="InnoSetupSettings.KeyValueDefinitions"/></li> /// <li><c>/D</c> via <see cref="InnoSetupSettings.KeyDefinitions"/></li> /// <li><c>/F</c> via <see cref="InnoSetupSettings.OutputBaseFilename"/></li> /// <li><c>/O</c> via <see cref="InnoSetupSettings.Output"/></li> /// <li><c>/O</c> via <see cref="InnoSetupSettings.OutputDir"/></li> /// <li><c>/Q</c> via <see cref="InnoSetupSettings.Quiet"/></li> /// <li><c>/Qp</c> via <see cref="InnoSetupSettings.QuietWithProgress"/></li> /// <li><c>/S</c> via <see cref="InnoSetupSettings.SignTools"/></li> /// <li><c>/V</c> via <see cref="InnoSetupSettings.Verbosity"/></li> /// </ul> /// </remarks> public static IReadOnlyCollection <Output> InnoSetup(InnoSetupSettings toolSettings = null) { toolSettings = toolSettings ?? new InnoSetupSettings(); using var process = ProcessTasks.StartProcess(toolSettings); process.AssertZeroExitCode(); return(process.Output); }
public static InnoSetupSettings RemoveKeyDefinitions(this InnoSetupSettings toolSettings, IEnumerable <string> keyDefinitions) { toolSettings = toolSettings.NewInstance(); var hashSet = new HashSet <string>(keyDefinitions); toolSettings.KeyDefinitionsInternal.RemoveAll(x => hashSet.Contains(x)); return(toolSettings); }
public static InnoSetupSettings ToggleOutput(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.Output = !toolSettings.Output; return(toolSettings); }
public static InnoSetupSettings ResetVerbosity(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.Verbosity = null; return(toolSettings); }
public static InnoSetupSettings AddKeyDefinitions(this InnoSetupSettings toolSettings, IEnumerable <string> keyDefinitions) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyDefinitionsInternal.AddRange(keyDefinitions); return(toolSettings); }
public static InnoSetupSettings SetKeyDefinitions(this InnoSetupSettings toolSettings, IEnumerable <string> keyDefinitions) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyDefinitionsInternal = keyDefinitions.ToList(); return(toolSettings); }
public static InnoSetupSettings SetKeyValueDefinition(this InnoSetupSettings toolSettings, string keyValueDefinitionKey, string keyValueDefinitionValue) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyValueDefinitionsInternal[keyValueDefinitionKey] = keyValueDefinitionValue; return(toolSettings); }
public static InnoSetupSettings SetKeyValueDefinitions(this InnoSetupSettings toolSettings, IDictionary <string, string> keyValueDefinitions) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyValueDefinitionsInternal = keyValueDefinitions.ToDictionary(x => x.Key, x => x.Value, StringComparer.OrdinalIgnoreCase); return(toolSettings); }
public static InnoSetupSettings AddSignTool(this InnoSetupSettings toolSettings, string signToolKey, string signToolValue) { toolSettings = toolSettings.NewInstance(); toolSettings.SignToolsInternal.Add(signToolKey, signToolValue); return(toolSettings); }
public static InnoSetupSettings ClearSignTools(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.SignToolsInternal.Clear(); return(toolSettings); }
public static InnoSetupSettings SetSignTools(this InnoSetupSettings toolSettings, IDictionary <string, string> signTools) { toolSettings = toolSettings.NewInstance(); toolSettings.SignToolsInternal = signTools.ToDictionary(x => x.Key, x => x.Value, StringComparer.OrdinalIgnoreCase); return(toolSettings); }
public static InnoSetupSettings ResetOutputBaseFilename(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.OutputBaseFilename = null; return(toolSettings); }
public static InnoSetupSettings SetOutputBaseFilename(this InnoSetupSettings toolSettings, string outputBaseFilename) { toolSettings = toolSettings.NewInstance(); toolSettings.OutputBaseFilename = outputBaseFilename; return(toolSettings); }
public static InnoSetupSettings ResetOutputDir(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.OutputDir = null; return(toolSettings); }
public static InnoSetupSettings SetOutputDir(this InnoSetupSettings toolSettings, string outputDir) { toolSettings = toolSettings.NewInstance(); toolSettings.OutputDir = outputDir; return(toolSettings); }
public static InnoSetupSettings DisableQuietWithProgress(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.QuietWithProgress = false; return(toolSettings); }
public static InnoSetupSettings ToggleQuietWithProgress(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.QuietWithProgress = !toolSettings.QuietWithProgress; return(toolSettings); }
public static InnoSetupSettings RemoveSignTool(this InnoSetupSettings toolSettings, string signToolKey) { toolSettings = toolSettings.NewInstance(); toolSettings.SignToolsInternal.Remove(signToolKey); return(toolSettings); }
public static InnoSetupSettings RemoveKeyValueDefinition(this InnoSetupSettings toolSettings, string keyValueDefinitionKey) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyValueDefinitionsInternal.Remove(keyValueDefinitionKey); return(toolSettings); }
public static InnoSetupSettings SetSignTool(this InnoSetupSettings toolSettings, string signToolKey, string signToolValue) { toolSettings = toolSettings.NewInstance(); toolSettings.SignToolsInternal[signToolKey] = signToolValue; return(toolSettings); }
public static InnoSetupSettings SetKeyDefinitions(this InnoSetupSettings toolSettings, params string[] keyDefinitions) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyDefinitionsInternal = keyDefinitions.ToList(); return(toolSettings); }
public static InnoSetupSettings SetQuiet(this InnoSetupSettings toolSettings, bool?quiet) { toolSettings = toolSettings.NewInstance(); toolSettings.Quiet = quiet; return(toolSettings); }
public static InnoSetupSettings AddKeyDefinitions(this InnoSetupSettings toolSettings, params string[] keyDefinitions) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyDefinitionsInternal.AddRange(keyDefinitions); return(toolSettings); }
public static InnoSetupSettings EnableQuiet(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.Quiet = true; return(toolSettings); }
public static InnoSetupSettings ClearKeyDefinitions(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.KeyDefinitionsInternal.Clear(); return(toolSettings); }
public static InnoSetupSettings ToggleQuiet(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.Quiet = !toolSettings.Quiet; return(toolSettings); }
public static InnoSetupSettings SetVerbosity(this InnoSetupSettings toolSettings, int?verbosity) { toolSettings = toolSettings.NewInstance(); toolSettings.Verbosity = verbosity; return(toolSettings); }
public static InnoSetupSettings SetQuietWithProgress(this InnoSetupSettings toolSettings, bool?quietWithProgress) { toolSettings = toolSettings.NewInstance(); toolSettings.QuietWithProgress = quietWithProgress; return(toolSettings); }
public static InnoSetupSettings ResetQuietWithProgress(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.QuietWithProgress = null; return(toolSettings); }
public static InnoSetupSettings DisableOutput(this InnoSetupSettings toolSettings) { toolSettings = toolSettings.NewInstance(); toolSettings.Output = false; return(toolSettings); }