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; }