DLL Files And .NET ClickOnce Deployment

I want to deploy one of my .NET apps as a ClickOnce application. The issue is that I am connecting to Oracle (see previous posts here and here). Connecting to Oracle requires at least, 4 DLL files that generally have to be in the same directory as the EXE file. The issue is that when the program is published, the DLLs are not referenced in any way, so the program won’t work.

Then I read about adding the files to the project, so that ClickOnce and the Publish processor will figure out that the DLLs are required and add them to the manifest.

Here is the process in Visual Studio 2005:

  1. Put the 4 DLL files in their own directory in your solution directory (for ease of use mostly).
  2. Add all four files to your project by going to “Project->Add Existing Item…”
  3. Click on each DLL file in the solution explorer and then change their property: “Copy To Output Directory” to “Copy Always”.

That’s it! Now when I publish or even run the application I don’t have to worry about if the DLL files are where they should be.