protected sealed override string GenerateResponseFileCommands() { var commandLineBuilder = new WixCommandLineBuilder(); this.BuildCommandLine(commandLineBuilder); return(commandLineBuilder.ToString()); }
public override bool Execute() { var serviceProvider = WixToolsetServiceProviderFactory.CreateServiceProvider(); var listener = new MsbuildMessageListener(this.Log, this.TaskShortName, this.BuildEngine.ProjectFileOfTaskNode); try { var commandLineBuilder = new WixCommandLineBuilder(); this.BuildCommandLine(commandLineBuilder); var commandLineString = commandLineBuilder.ToString(); this.ExecuteCore(serviceProvider, listener, commandLineString); } catch (WixException e) { listener.Write(e.Error); } catch (Exception e) { this.Log.LogErrorFromException(e, showStackTrace: true, showDetail: true, null); if (e is NullReferenceException || e is SEHException) { throw; } } return(!this.Log.HasLoggedErrors); }
private string BuildCommandLine() { var commandLineBuilder = new WixCommandLineBuilder(); commandLineBuilder.AppendTextUnquoted("build"); commandLineBuilder.AppendSwitchIfNotNull("-platform ", this.InstallerPlatform); commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); commandLineBuilder.AppendSwitchIfNotNull("-outputType ", this.OutputType); commandLineBuilder.AppendIfTrue("-nologo", this.NoLogo); commandLineBuilder.AppendArrayIfNotNull("-culture ", this.Cultures); commandLineBuilder.AppendArrayIfNotNull("-d ", this.DefineConstants); commandLineBuilder.AppendArrayIfNotNull("-I ", this.IncludeSearchPaths); commandLineBuilder.AppendExtensions(this.Extensions, this.ExtensionDirectory, this.ReferencePaths); commandLineBuilder.AppendIfTrue("-sval", this.SuppressValidation); commandLineBuilder.AppendArrayIfNotNull("-sice ", this.SuppressIces); commandLineBuilder.AppendArrayIfNotNull("-sw ", this.SuppressSpecificWarnings); commandLineBuilder.AppendSwitchIfNotNull("-usf ", this.UnreferencedSymbolsFile); commandLineBuilder.AppendSwitchIfNotNull("-cc ", this.CabinetCachePath); commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); commandLineBuilder.AppendSwitchIfNotNull("-contentsfile ", this.BindContentsFile); commandLineBuilder.AppendSwitchIfNotNull("-outputsfile ", this.BindOutputsFile); commandLineBuilder.AppendSwitchIfNotNull("-builtoutputsfile ", this.BindBuiltOutputsFile); commandLineBuilder.AppendIfTrue("-bindFiles", this.BindFiles); commandLineBuilder.AppendArrayIfNotNull("-bindPath ", this.CalculateBindPathStrings()); commandLineBuilder.AppendArrayIfNotNull("-loc ", this.LocalizationFiles); commandLineBuilder.AppendArrayIfNotNull("-lib ", this.LibraryFiles); commandLineBuilder.AppendTextIfNotWhitespace(this.AdditionalOptions); commandLineBuilder.AppendFileNamesIfNotNull(this.SourceFiles, " "); return(commandLineBuilder.ToString()); }
private void ExecuteCore() { var commandLineBuilder = new WixCommandLineBuilder(); commandLineBuilder.AppendTextUnquoted("build"); commandLineBuilder.AppendSwitchIfNotNull("-out ", this.OutputFile); commandLineBuilder.AppendSwitchIfNotNull("-outputType ", this.OutputType); commandLineBuilder.AppendIfTrue("-nologo", this.NoLogo); commandLineBuilder.AppendSwitchIfNotNull("-cultures ", this.Cultures); commandLineBuilder.AppendArrayIfNotNull("-d ", this.DefineConstants); commandLineBuilder.AppendArrayIfNotNull("-I ", this.IncludeSearchPaths); commandLineBuilder.AppendExtensions(this.Extensions, this.ExtensionDirectory, this.ReferencePaths); commandLineBuilder.AppendIfTrue("-sval", this.SuppressValidation); commandLineBuilder.AppendArrayIfNotNull("-sice ", this.SuppressIces); commandLineBuilder.AppendSwitchIfNotNull("-usf ", this.UnreferencedSymbolsFile); commandLineBuilder.AppendSwitchIfNotNull("-cc ", this.CabinetCachePath); commandLineBuilder.AppendSwitchIfNotNull("-intermediatefolder ", this.IntermediateDirectory); commandLineBuilder.AppendSwitchIfNotNull("-contentsfile ", this.BindContentsFile); commandLineBuilder.AppendSwitchIfNotNull("-outputsfile ", this.BindOutputsFile); commandLineBuilder.AppendSwitchIfNotNull("-builtoutputsfile ", this.BindBuiltOutputsFile); commandLineBuilder.AppendIfTrue("-bindFiles", this.BindFiles); commandLineBuilder.AppendArrayIfNotNull("-bindPath ", this.CalculateBindPathStrings()); commandLineBuilder.AppendArrayIfNotNull("-loc ", this.LocalizationFiles); commandLineBuilder.AppendArrayIfNotNull("-lib ", this.LibraryFiles); commandLineBuilder.AppendTextIfNotWhitespace(this.AdditionalOptions); commandLineBuilder.AppendFileNamesIfNotNull(this.SourceFiles, " "); var commandLineString = commandLineBuilder.ToString(); this.Log.LogMessage(MessageImportance.Normal, "wix.exe " + commandLineString); var serviceProvider = new WixToolsetServiceProvider(); var context = serviceProvider.GetService <ICommandLineContext>(); var messaging = serviceProvider.GetService <IMessaging>(); messaging.SetListener(this.Listener); context.Messaging = messaging; context.ExtensionManager = this.CreateExtensionManagerWithStandardBackends(serviceProvider); context.Arguments = commandLineString; var commandLine = serviceProvider.GetService <ICommandLine>(); var command = commandLine.ParseStandardCommandLine(context); command?.Execute(); }
/// <summary> /// Generate the command line arguments to write to the response file from the properties. /// </summary> /// <returns>Command line string.</returns> protected override string GenerateResponseFileCommands() { WixCommandLineBuilder commandLineBuilder = new WixCommandLineBuilder(); commandLineBuilder.AppendSwitch(this.OperationName); commandLineBuilder.AppendFileNameIfNotNull(this.File); commandLineBuilder.AppendSwitchIfNotNull("-cg ", this.ComponentGroupName); commandLineBuilder.AppendSwitchIfNotNull("-dr ", this.DirectoryRefId); commandLineBuilder.AppendIfTrue("-scom", this.SuppressCom); commandLineBuilder.AppendIfTrue("-srd", this.SuppressRootDirectory); commandLineBuilder.AppendIfTrue("-sreg", this.SuppressRegistry); commandLineBuilder.AppendSwitchIfNotNull("-template ", this.Template); commandLineBuilder.AppendSwitchIfNotNull("-var ", this.PreprocessorVariable); base.BuildCommandLine(commandLineBuilder); return(commandLineBuilder.ToString()); }
/// <summary> /// Generate the command line arguments to write to the response file from the properties. /// </summary> /// <returns>Command line string.</returns> protected override string GenerateResponseFileCommands() { WixCommandLineBuilder commandLineBuilder = new WixCommandLineBuilder(); commandLineBuilder.AppendSwitch(this.OperationName); commandLineBuilder.AppendFileNameIfNotNull(this.Project); commandLineBuilder.AppendSwitchIfNotNull("-configuration ", this.Configuration); commandLineBuilder.AppendSwitchIfNotNull("-directoryid ", this.DirectoryIds); commandLineBuilder.AppendSwitchIfNotNull("-generate ", this.GenerateType); commandLineBuilder.AppendSwitchIfNotNull("-platform ", this.Platform); commandLineBuilder.AppendArrayIfNotNull("-pog ", this.ProjectOutputGroups); commandLineBuilder.AppendSwitchIfNotNull("-projectname ", this.ProjectName); commandLineBuilder.AppendIfTrue("-wixvar", this.GenerateWixVariables); base.BuildCommandLine(commandLineBuilder); return(commandLineBuilder.ToString()); }