private void WriteHeader()
{
Write(FileImage.DOSHeader);
// Console.WriteLine("Writing PEHeader at offset " + Seek(0,SeekOrigin.Current));
WritePEHeader();
// Console.WriteLine("Writing text section header at offset " + Hex.Long(Seek(0,SeekOrigin.Current)));
text.WriteHeader(this,relocRVA);
if (sdata != null) sdata.WriteHeader(this,relocRVA);
if (rsrc != null) rsrc.WriteHeader(this,relocRVA);
// Console.WriteLine("Writing reloc section header at offset " + Seek(0,SeekOrigin.Current));
WriteRelocSectionHeader();
// Console.WriteLine("Writing padding at offset " + Seek(0,SeekOrigin.Current));
WriteZeros(headerPadding);
}