需求:实现在一个exe文件运行是自动生成一个单独的exe文件具体描述:
比如现在有两个程序test.exe和windbg.exe,我现在想实现的就是把windbg.exe打包到test.exe中,当test.exe开始运行时,windbg.exe自动解压出来,不实际解压出来可以直接调用也行。谢谢。

解决方案 »

  1.   

    这个好办啊。用InstallShield 12打包把原来的windbg.exe打包到新的安装文件中(新文件test.exe)这样就行了
    还可以在test.exe中调用windbg.exe 这样都行吧。
      

  2.   

    一些病毒的功能吧.不会...
    WINRAR打包成EXE,压缩包中包含程序和,BAT脚本.哈哈,很简单吧
      

  3.   

    把需要包含的exe放入到进资源文件中,和原来的程序一起编译成一个exe文件
    Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("test.exe");
                byte[] bs = new byte[stream.Length];
                stream.Read(bs, 0, (int)stream.Length);
                Assembly asm = Assembly.Load(bs);
      

  4.   

    To 6#:我现在是直接把windbg.exe加到为加为资源文件了,Build Action 改为Embedded Resource,下面我想引用他怎么办?
    比如我想process.start("windbg.exe");  //这个地方的windbg.exe我该怎么表示Assembly.GetExecutingAssembly().GetManifestResourceNames();可以获取到资源名为namaspace.windbg.exe,怎么能引用这个名字让他可以被实现?谢谢
      

  5.   

    1.放到资源里,需要时读取写入文件.
    2.直接winrar自解压吧= =
      

  6.   

    搞定,多谢!Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("TestPrepare.windbg.exe");
    byte[] bs = new byte[stream.Length];
    stream.Read(bs, 0, (int)stream.Length);FileStream fs = new FileStream("windbg.exe", FileMode.Create);
    fs.Write(bs, 0, (int)stream.Length);
    fs.Flush();
    fs.Close();