But it turns out that (as if I didn't know..) we really cannot ship an archive without some installation for various reasons:
- Even though it once worked to just ship the right DLL for the DirectX SDK used by Ogre (d3dx9_42.dll), this didn't work (strange crashes) on at least one computer (almost new Windows 7 installation).
- Microsoft doesn't allow shipping of the DirectX as DLLs because the user must agree to their EULA (silent installation is also not allowed)
- OpenAL doesn't load properly if it wasn't installed (shipping OpenAL32.dll is not enough)
- Shipping the VS 2010 runtime (msvcp100.dll and msvcrt100.dll) will not make them subject to possible security updates (like the one from last Wednesday for ATL)
- When deploying Orxonox binaries as an archive (possibly self extracting), we need the user to install the DirectX SDK runtime, OpenAL and the VS 2010 runtime manually.
- Developers need to install the DirectX SDK runtime (unless they have at least the DirectX SDK August 2009 installed) and OpenAL.
I've only had a look at VS 2010 so far. For MinGW, it will not be necessary to install any runtime (we can just ship the DLLs), but DirectX and OpenAL will still be necessary.
An idea to improve on this would be to create an installer with CPack that takes care of the three runtimes and then installs Orxonox in an arbitrary location that has write access or normally (with files being written to AppData). Do you think we need that latter distinction? Because currently we have to tell CMake whether the installation is copyable (everything in one folder inlcuding config) or actually installed.
So much about this topic. I guess I'm currently the only one worried about this kind of stuff, but I would nevertheless like to share what I've found out.