How to Embed/Link binary data into a Windows module

CrimsonX picture CrimsonX · Apr 29, 2010 · Viewed 12.9k times · Source

So I have a Visual Studio 2008 project which has a large amount of binary data that it is currently referencing. I would like to package the binary data much like you can do with C# by adding it as a "resource" and compiling it as a DLL.

Lets say all my data has an extension of ".data" and is currently being read from the visual studio project.

Is there a way that you can compile or link the data into the .dll which it is calling?

I've looked at some of the google link for this and so far I haven't come up with anything - the only possible solution I've come up with is to use something like ResGen to create a .resources file and then link it using AssemblyLinker with /Embed or /Link flags. I dont think it'd work properly though because I dont have text files to create the .resources files, but rather binary files themselves.

Any advice?

Answer

Robert picture Robert · Apr 29, 2010
  1. Right click the resource script (.rc file)
  2. Choose Import

http://msdn.microsoft.com/en-us/library/saced6x2.aspx

You can embed any "custom" file you want, as well as things like .bmps and stuff VisualStudio "knows" how to edit. Then you can access them with your framework's resource functions like FindResource LoadResource etc...

If you don't have a resource script.

  1. Click Project
  2. Add New Item
  3. Resource Script

http://msdn.microsoft.com/en-us/library/sxdy04be(v=VS.71).aspx