不确定是否满足您的需求。这就是我如何将一些数据附加到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 ...
}