/// <summary>
        /// Ensures the first draft of the SWID Tag exists on disk when being included
        /// in MSI packages.
        /// </summary>
        /// <param name="context">Resolve context.</param>
        public void PreResolve(IResolveContext context)
        {
            var section = context.IntermediateRepresentation.Sections.FirstOrDefault();

            // Only process MSI packages.
            if (SectionType.Product != section?.Type)
            {
                return;
            }

            this.backendHelper = context.ServiceProvider.GetService <IBackendHelper>();

            this.workingFolder = CalculateWorkingFolder(context.IntermediateFolder);

            // Ensure any tag files are generated to be imported by the MSI.
            var tagSymbols = this.CreateProductTagFiles(section);

            var tagSymbol = tagSymbols.FirstOrDefault();

            if (tagSymbol != null)
            {
                // If we created any tag files, add a WixVariable to map to the regid.
                section.AddSymbol(new WixVariableSymbol(tagSymbol.SourceLineNumbers, new Identifier(AccessModifier.Private, "WixTagRegid"))
                {
                    Value       = tagSymbol.Regid,
                    Overridable = false
                });
            }
        }
 public CreatePatchTransformsCommand(IMessaging messaging, IBackendHelper backendHelper, Intermediate intermediate, string intermediateFolder)
 {
     this.Messaging          = messaging;
     this.BackendHelper      = backendHelper;
     this.Intermediate       = intermediate;
     this.IntermediateFolder = intermediateFolder;
 }
Exemplo n.º 3
0
 internal CalculateComponentGuids(IMessaging messaging, IBackendHelper helper, IPathResolver pathResolver, IntermediateSection section)
 {
     this.Messaging     = messaging;
     this.BackendHelper = helper;
     this.PathResolver  = pathResolver;
     this.Section       = section;
 }
 internal FinalizeComponentGuids(IMessaging messaging, IBackendHelper helper, IPathResolver pathResolver, IntermediateSection section, Platform platform)
 {
     this.Messaging     = messaging;
     this.BackendHelper = helper;
     this.PathResolver  = pathResolver;
     this.Section       = section;
     this.Platform      = platform;
 }
Exemplo n.º 5
0
 public ProcessPayloadsCommand(IBackendHelper backendHelper, IPayloadHarvester payloadHarvester, IEnumerable <WixBundlePayloadSymbol> payloads, PackagingType defaultPackaging, string layoutDirectory)
 {
     this.BackendHelper    = backendHelper;
     this.PayloadHarvester = payloadHarvester;
     this.Payloads         = payloads;
     this.DefaultPackaging = defaultPackaging;
     this.LayoutDirectory  = layoutDirectory;
 }
 public OptimizeFileFacadesOrderCommand(IBackendHelper helper, IPathResolver pathResolver, IntermediateSection section, Platform platform, List <FileFacade> fileFacades)
 {
     this.BackendHelper = helper;
     this.PathResolver  = pathResolver;
     this.Section       = section;
     this.Platform      = platform;
     this.FileFacades   = fileFacades;
 }
        /// <summary>
        /// Called at the beginning of bind.
        /// </summary>
        public virtual void PreBind(IBindContext context)
        {
            this.Context = context;

            this.Messaging = context.ServiceProvider.GetService <IMessaging>();

            this.BackendHelper = context.ServiceProvider.GetService <IBackendHelper>();
        }
        /// <summary>
        /// Called before database binding occurs.
        /// </summary>
        public override void PreBackendBind(IBindContext context)
        {
            base.PreBackendBind(context);

            this.backendHelper = base.BackendHelper;

            this.workingFolder = CalculateWorkingFolder(context.IntermediateFolder);
        }
Exemplo n.º 9
0
        public ProcessPayloadsCommand(IWixToolsetServiceProvider serviceProvider, IBackendHelper backendHelper, IEnumerable <WixBundlePayloadSymbol> payloads, PackagingType defaultPackaging, string layoutDirectory)
        {
            this.Messaging = serviceProvider.GetService <IMessaging>();

            this.BackendHelper    = backendHelper;
            this.Payloads         = payloads;
            this.DefaultPackaging = defaultPackaging;
            this.LayoutDirectory  = layoutDirectory;
        }
Exemplo n.º 10
0
        public ModularizeCommand(IBackendHelper backendHelper, WindowsInstallerData output, string modularizationSuffix, IEnumerable <WixSuppressModularizationSymbol> suppressSymbols)
        {
            this.BackendHelper        = backendHelper;
            this.Output               = output;
            this.ModularizationSuffix = modularizationSuffix;

            // Gather all the unique suppress modularization identifiers.
            this.SuppressModularizationIdentifiers = new HashSet <string>(suppressSymbols.Select(s => s.SuppressIdentifier));
        }
Exemplo n.º 11
0
 public CreateBundleExeCommand(IMessaging messaging, IBackendHelper backendHelper, string intermediateFolder, string outputPath, WixBundleSymbol bundleSymbol, WixBundleContainerSymbol uxContainer, IEnumerable <WixBundleContainerSymbol> containers)
 {
     this.Messaging          = messaging;
     this.BackendHelper      = backendHelper;
     this.IntermediateFolder = intermediateFolder;
     this.OutputPath         = outputPath;
     this.BundleSymbol       = bundleSymbol;
     this.UXContainer        = uxContainer;
     this.Containers         = containers;
 }
        public UnbindTransformCommand(IMessaging messaging, IBackendHelper backendHelper, string transformFile, string exportBasePath, string intermediateFolder)
        {
            this.Messaging          = messaging;
            this.BackendHelper      = backendHelper;
            this.TransformFile      = transformFile;
            this.ExportBasePath     = exportBasePath;
            this.IntermediateFolder = intermediateFolder;

            this.TableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
        }
 public BindTransformCommand(IMessaging messaging, IBackendHelper backendHelper, FileSystemManager fileSystemManager, string intermediateFolder, WindowsInstallerData transform, string outputPath, TableDefinitionCollection tableDefinitions)
 {
     this.Messaging          = messaging;
     this.BackendHelper      = backendHelper;
     this.FileSystemManager  = fileSystemManager;
     this.IntermediateFolder = intermediateFolder;
     this.Transform          = transform;
     this.OutputPath         = outputPath;
     this.TableDefinitions   = tableDefinitions;
 }
Exemplo n.º 14
0
 public CreateNonUXContainers(IBackendHelper backendHelper, IntermediateSection section, WixBootstrapperApplicationDllSymbol bootstrapperApplicationDllSymbol, Dictionary <string, WixBundlePayloadSymbol> payloadSymbols, string intermediateFolder, string layoutFolder, CompressionLevel?defaultCompressionLevel)
 {
     this.BackendHelper = backendHelper;
     this.Section       = section;
     this.BootstrapperApplicationDllSymbol = bootstrapperApplicationDllSymbol;
     this.PayloadSymbols          = payloadSymbols;
     this.IntermediateFolder      = intermediateFolder;
     this.LayoutFolder            = layoutFolder;
     this.DefaultCompressionLevel = defaultCompressionLevel;
 }
        private Dictionary <string, string> lastCabinetAddedToMediaTable; // Key is First Cabinet Name, Value is Last Cabinet Added in the Split Sequence

        public CreateCabinetsCommand(IBackendHelper backendHelper)
        {
            this.fileTransfers = new List <IFileTransfer>();

            this.trackedFiles = new List <ITrackedFile>();

            this.newCabNamesCallBack = this.NewCabNamesCallBack;

            this.BackendHelper = backendHelper;
        }
Exemplo n.º 16
0
 public CreateNonUXContainers(IBackendHelper backendHelper, IMessaging messaging, WixBootstrapperApplicationDllSymbol bootstrapperApplicationDllSymbol, IEnumerable <WixBundleContainerSymbol> containerSymbols, Dictionary <string, WixBundlePayloadSymbol> payloadSymbols, string intermediateFolder, string layoutFolder, CompressionLevel?defaultCompressionLevel)
 {
     this.BackendHelper = backendHelper;
     this.Messaging     = messaging;
     this.BootstrapperApplicationDllSymbol = bootstrapperApplicationDllSymbol;
     this.Containers              = containerSymbols;
     this.PayloadSymbols          = payloadSymbols;
     this.IntermediateFolder      = intermediateFolder;
     this.LayoutFolder            = layoutFolder;
     this.DefaultCompressionLevel = defaultCompressionLevel;
 }
        public ValidateDatabaseCommand(IMessaging messaging, IBackendHelper backendHelper, string intermediateFolder, WindowsInstallerData data, string outputPath, IEnumerable <string> cubeFiles, IEnumerable <string> ices, IEnumerable <string> suppressedIces)
        {
            this.Messaging      = messaging;
            this.BackendHelper  = backendHelper;
            this.Data           = data;
            this.OutputPath     = outputPath;
            this.CubeFiles      = cubeFiles;
            this.Ices           = ices;
            this.SuppressedIces = suppressedIces == null ? WellKnownSuppressedIces : suppressedIces.Union(WellKnownSuppressedIces);

            this.IntermediateFolder     = intermediateFolder;
            this.OutputSourceLineNumber = new SourceLineNumber(outputPath);
        }
 public GenerateDatabaseCommand(IMessaging messaging, IBackendHelper backendHelper, FileSystemManager fileSystemManager, WindowsInstallerData data, string outputPath, TableDefinitionCollection tableDefinitions, string intermediateFolder, bool keepAddedColumns, bool suppressAddingValidationRows, bool useSubdirectory)
 {
     this.Messaging         = messaging;
     this.BackendHelper     = backendHelper;
     this.FileSystemManager = fileSystemManager;
     this.Data                         = data;
     this.OutputPath                   = outputPath;
     this.TableDefinitions             = tableDefinitions;
     this.IntermediateFolder           = intermediateFolder;
     this.KeepAddedColumns             = keepAddedColumns;
     this.SuppressAddingValidationRows = suppressAddingValidationRows;
     this.UseSubDirectory              = useSubdirectory;
 }
Exemplo n.º 19
0
        private Dictionary <string, string> lastCabinetAddedToMediaTable; // Key is First Cabinet Name, Value is Last Cabinet Added in the Split Sequence

        public CreateCabinetsCommand(IWixToolsetServiceProvider serviceProvider, IBackendHelper backendHelper, WixMediaTemplateSymbol mediaTemplate)
        {
            this.fileTransfers = new List <IFileTransfer>();

            this.trackedFiles = new List <ITrackedFile>();

            this.newCabNamesCallBack = this.NewCabNamesCallBack;

            this.ServiceProvider = serviceProvider;

            this.BackendHelper = backendHelper;

            this.MediaTemplate = mediaTemplate;
        }
Exemplo n.º 20
0
        public UnbindDatabaseCommand(IMessaging messaging, IBackendHelper backendHelper, Database database, string databasePath, OutputType outputType, string exportBasePath, string intermediateFolder, bool isAdminImage, bool suppressDemodularization, bool skipSummaryInfo)
        {
            this.Messaging                = messaging;
            this.BackendHelper            = backendHelper;
            this.Database                 = database;
            this.DatabasePath             = databasePath;
            this.OutputType               = outputType;
            this.ExportBasePath           = exportBasePath;
            this.IntermediateFolder       = intermediateFolder;
            this.IsAdminImage             = isAdminImage;
            this.SuppressDemodularization = suppressDemodularization;
            this.SkipSummaryInfo          = skipSummaryInfo;

            this.TableDefinitions = new TableDefinitionCollection(WindowsInstallerTableDefinitions.All);
        }
Exemplo n.º 21
0
 public BurnBackendHelper(IWixToolsetServiceProvider serviceProvider)
 {
     this.backendHelper = serviceProvider.GetService <IBackendHelper>();
 }
Exemplo n.º 22
0
 public ExtractEmbeddedFilesCommand(IBackendHelper backendHelper, IEnumerable <IExpectedExtractFile> embeddedFiles)
 {
     this.BackendHelper          = backendHelper;
     this.FilesWithEmbeddedFiles = embeddedFiles;
 }
 public ProcessPropertiesCommand(IntermediateSection section, WixPackageSymbol packageSymbol, int fallbackLcid, bool populateDelayedVariables, IBackendHelper backendHelper)
 {
     this.Section                  = section;
     this.PackageSymbol            = packageSymbol;
     this.FallbackLcid             = fallbackLcid;
     this.PopulateDelayedVariables = populateDelayedVariables;
     this.BackendHelper            = backendHelper;
 }
Exemplo n.º 24
0
 public BindSummaryInfoCommand(IntermediateSection section, int?summaryInformationCodepage, string productLanguage, IBackendHelper backendHelper, IWixBranding branding)
 {
     this.Section = section;
     this.SummaryInformationCodepage = summaryInformationCodepage;
     this.ProductLanguage            = productLanguage;
     this.BackendHelper = backendHelper;
     this.Branding      = branding;
 }
 public WindowsInstallerBackendHelper(IServiceProvider serviceProvider)
 {
     this.backendHelper = serviceProvider.GetService <IBackendHelper>();
 }
Exemplo n.º 26
0
 public ProcessUncompressedFilesCommand(IntermediateSection section, IBackendHelper backendHelper, IPathResolver pathResolver)
 {
     this.Section       = section;
     this.BackendHelper = backendHelper;
     this.PathResolver  = pathResolver;
 }
 public ProcessDependencyReferencesCommand(IBackendHelper backendHelper, IntermediateSection section, IEnumerable <WixDependencyRefSymbol> dependencyRefSymbols)
 {
     this.BackendHelper        = backendHelper;
     this.Section              = section;
     this.DependencyRefSymbols = dependencyRefSymbols;
 }
Exemplo n.º 28
0
 public CreateInstanceTransformsCommand(IntermediateSection section, WindowsInstallerData output, TableDefinitionCollection tableDefinitions, IBackendHelper backendHelper)
 {
     this.Section          = section;
     this.Output           = output;
     this.TableDefinitions = tableDefinitions;
     this.BackendHelper    = backendHelper;
 }