Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to copy file From Resources?

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

like image 482
mediolanum Avatar asked Aug 31 '11 08:08

mediolanum


1 Answers

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);
        }
    }
}
like image 100
Jon Skeet Avatar answered Oct 02 '22 23:10

Jon Skeet