Home All Groups Group Topic Archive Search About

How to include an executable in the c# console project

Author
28 Nov 2007 5:19 PM
Mo
Hi,

Is there a way to include an executable  (xxx.exe) file inside a c#
console project so that the resulting project binary have only one
final executable file? My c# console application is calling another
Executable (exe) which I am trying to include in my project so I can
only have one file for the executable. Any ideas?

Mo

Author
28 Nov 2007 5:34 PM
Willy Denoyette [MVP]
"Mo" <le_mo***@yahoo.com> wrote in message
news:aaac2e06-265d-4cd9-aea5-227e0ef8d23b@d61g2000hsa.googlegroups.com...
> Hi,
>
> Is there a way to include an executable  (xxx.exe) file inside a c#
> console project so that the resulting project binary have only one
> final executable file? My c# console application is calling another
> Executable (exe) which I am trying to include in my project so I can
> only have one file for the executable. Any ideas?
>
> Mo


One .exe cannot *call* another exe, one .exe can only *start* another .exe,
and this requires both  .exe to be separate PE files.

Willy.
Author
28 Nov 2007 5:37 PM
Nicholas Paldino [.NET/C# MVP]
Mo,

    Not that I know of.  You would have to include the other executable
separately.

    If the executable is self-contained, and has no dependencies that you
need to ship, then you could include the executable as a resource in your
main executable, then extract and save it to disk and execute it when
needed.  It would still require some cross-process communication to get the
results, but you would have one executable you have to ship.


--
          - Nicholas Paldino [.NET/C# MVP]
          - mvp@spam.guard.caspershouse.com

Show quote
"Mo" <le_mo***@yahoo.com> wrote in message
news:aaac2e06-265d-4cd9-aea5-227e0ef8d23b@d61g2000hsa.googlegroups.com...
> Hi,
>
> Is there a way to include an executable  (xxx.exe) file inside a c#
> console project so that the resulting project binary have only one
> final executable file? My c# console application is calling another
> Executable (exe) which I am trying to include in my project so I can
> only have one file for the executable. Any ideas?
>
> Mo
Author
28 Nov 2007 6:10 PM
Arnshea
On Nov 28, 12:19 pm, Mo <le_mo***@yahoo.com> wrote:
> Hi,
>
> Is there a way to include an executable  (xxx.exe) file inside a c#
> console project so that the resulting project binary have only one
> final executable file? My c# console application is calling another
> Executable (exe) which I am trying to include in my project so I can
> only have one file for the executable. Any ideas?
>
> Mo

If I'm reading you correctly you may be able to include the 2nd
executable in the 1st project as an embedded resource.  The 1st
executable could read the embedded resource, write it out to a file,
then execute it.  Something along the lines of:

        static void Main(string[] args)
        {
            string outFile = args[0];

            Assembly asm = Assembly.GetExecutingAssembly();
            Stream stream =
asm.GetManifestResourceStream("EmbeddedEXETest.EmbeddedEXETest.exe");

            byte[] buf = new byte[4096];
            FileStream fOut = new FileStream(outFile, FileMode.Create);

            int bytesRead = 0;
            while ( (bytesRead=stream.Read(buf, 0, buf.Length)) > 0 )
                fOut.Write(buf, 0, bytesRead);

            stream.Close();
            fOut.Close();

            Console.WriteLine("Output written to {0}", outFile);
        }

AddThis Social Bookmark Button