それがあなたのニーズを満たしているかどうかはわかりません。filename
これは、という名前の実行可能ファイルに基づいて名前が付けられたファイルにデータを追加する方法BaseExecutable
です。データは .zip またはその他のものである可能性があります。これは、追加されたデータをそれ自体BaseExecutable
から読み取るある種のインストーラー (私の場合は Win32 実行可能ファイル)です。データの開始位置は、結果の実行可能ファイルの位置 44、45、46、47 にあります。私は.NET exeでそれを試しませんでした
public void Create(string Filename, string BaseExecutable)
{
FileStream Source = new FileStream(BaseExecutable, FileMode.Open, FileAccess.Read, FileShare.Read);
file = new FileStream(Filename, FileMode.Create, FileAccess.Write, FileShare.None);
byte[] buffer = new byte[65536];
Source.Read(buffer, 0, 48);
file.Write(buffer, 0, 44);
writer = new BinaryWriter(file, Encoding.ASCII);
writer.Write((uint)Source.Length);
int count;
while ( (count=Source.Read(buffer, 0, buffer.Length))>0)
file.Write(buffer, 0, count);
// append custom data here ...
}