Often my exe’s have dll dependencies that I package with an installer like nsis or inno.
This makes sense for large programs but is overkill for small scripts.
Is there an alternative way to bundle dependencies, so that the user can just execute a single exe and not require a directory of dll’s in the PATH?
EDIT
I am hoping for a solution that won’t depend on the type of dll’s, and will work for other kinds of dependencies too.
Here are some potential options:
- http://www.adontec.com/index.htm?GO=/runtimepacker_e.htm
- http://boxedapp.com/
- http://www.filetransit.com/view.php?id=16640
Does anyone have experience with a tool like this?
Ok, you didn’t like either of my other two ideas… so here goes…
You ship and give your customers a “stub EXE”. The stub EXE doesn’t depend on anything else and just contains a ZIP file (or setup package or similar) as a resource in your stub EXE. The zip file embedded in the stub EXE just contains the actual program EXE and all its dependent DLLs. When the stub EXE runs, it just unpacks the ZIP file to a TEMP sub-directory and launches the application EXE.
You could optimize it such that if the app has already been installed in %TEMP%, then you skip the unpacking step and just launch the application EXE already present.
Personally, I wouldn’t go this route. Just give the user an installer if the EXE has dependencies. But you know your users and customers better than I do.