• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 612
  • Last Modified:

How do I make sure I have all the right files to distribute my application?

I have written a win32  VC++ application (in Visual Studio 2008)  that uses winsock32, the windows SDK (I remember having to install this), and several open source libraries and DLLs.  It runs fine on my machine (Win XP SP3), and if I copy all the files from my project Release folder into another folder on my machine it also runs fine.  But when I copy those same files over to another PC (also running Win XP SP3, but without dev environment) and try to run it I get a message that says:

"The system cannot execute the specified program."

There is no other output.

I've looked around, but most comments around EE and the web seem to involve either users distributing debug builds (mine is release) or .NET apps without the .NET distributable (this is not .NET).

I've run dependency walker on it and see several missing DLLs, but they seem to be far down the dependency tree of winsock32.dll and I'm not sure if I should be searching around for those files to copy them over.  (To be honest, I'm not sure if I understand what dependency walker is telling me anyway).

Could someone help me figure out how to figure out what is missing?

Edit: I added an image of the red dll modules from Dependency Walker.
They are:
ADVAPI32.DLL
USER32.DLL
MPR.DLL
SHLWAPI.DLL
LIBSASL.DLL (This is a dependency in libcurl)
0
wdoutre
Asked:
wdoutre
1 Solution
 
mrjoltcolaCommented:
Build a deployment project, which will allow you to distribute a .msi file. The deployment project will take care of the dependencies for you.

In your solution, right click on the Solution, Add -> New Project
Choose Other Project Types -> Setup and Deployment

You'll need to specify primary output of your code project, but once you are done, its pretty easy.

Here is a tutorial:

http://msdn.microsoft.com/en-us/library/ms235317(VS.80).aspx
0
 
wdoutreAuthor Commented:
Using the Setup Project got me to a point where I was getting useful error messages, that told me which DLLs could not be found.

I then used Dependency Walker on the functioning executable to find the missing DLLs on my development machine.  I added those files to the Setup project, rebuilt and everything works now.

Thanks!
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now