Example #1
0
        void InitializeFromInternal(ModuleWriterOptionsBase options)
        {
            // Writing to it triggers a write to Subsystem so write it first
            ModuleKind.SelectedItem = options.ModuleKind;

            PEHeadersOptions.InitializeFrom(options.PEHeadersOptions);
            Cor20HeaderOptions.InitializeFrom(options.Cor20HeaderOptions);
            MetaDataOptions.InitializeFrom(options.MetaDataOptions);

            WritePdb          = options.WritePdb;
            ShareMethodBodies = options.ShareMethodBodies;
            AddCheckSum       = options.AddCheckSum;
            Win32Resources    = options.Win32Resources;

            // Writing to Machine and ModuleKind triggers code that updates Characteristics
            PEHeadersOptions.Characteristics = options.PEHeadersOptions.Characteristics;
        }