How to copy file From Resources?

mediolanum picture mediolanum · Aug 31, 2011 · Viewed 17k times · Source

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

Answer

Jon Skeet picture Jon Skeet · Aug 31, 2011

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);
        }
    }
}