13

I have an embedded resources file eg: file.exe how to copy in directory eg: c:\? at click button thanks

Neil Knight
  • 45,890
  • 23
  • 126
  • 186
mediolanum
  • 139
  • 1
  • 2
  • 5

1 Answers1

24

You can use Assembly.GetManifestResourceStream to get a stream to read your resource from. Then just copy it to a FileStream. If you're using .NET 4, you could use Stream.CopyTo to make that easy:

private void CopyResource(string resourceName, string file)
{
    using (Stream resource = GetType().Assembly
                                      .GetManifestResourceStream(resourceName))
    {
        if (resource == null)
        {
            throw new ArgumentException("No such resource", "resourceName");
        }
        using (Stream output = File.OpenWrite(file))
        {
            resource.CopyTo(output);
        }
    }
}
Pieter Müller
  • 4,433
  • 5
  • 35
  • 53
Jon Skeet
  • 1,335,956
  • 823
  • 8,931
  • 9,049