Sorry all, but there was some other problem. The code is now working correct. Thanks all.
I have the following code for creating a file if it does not exist and overwriting it if it already exists:
FileStream fsExe = File.Create(DestExePath, 4096);
BinaryWriter bw = new BinaryWriter(fsExe);
What ever I write to the BinaryWriter, it is getting appended to the "DestExePath" instead of overwriting the original file.
Anybody have any idea, why it is happening ?