All VC Libs DLLs require manifests to load them. Manifest should be generated and embedded in the binary when the project is built in the IDE.
For OpenMP the manifest is generated when omp.h is included. There are cases where a dependency on vcomp.dll can be pulled in without using the header. In these cases the manifest may not be generated.
To generate the manifest, include omp.h and built your project. IDE built projects will automatically embed the manifest in the binary (unless the project settings were changed to disable it)
If you are building from the command line then you can use the following to embed the manifest in the binary.
For EXEs
mt.exe -outputresource:<binary name>;1 -manifest <bianry name>.manifest
For DLLs
mt.exe -outputresource:<binary name>;2 -manifest <bianry name>.manifest
cl /MD b.cpp /LD
Once you have the manifest for your app you can deploy vcomp.dll
1. Shared location (%SYSTEMROOT%\WinSXS)
a. Using vcredist.exe - Installs all the VC DLLs
b. By merging the OMP MSM into your setup
2. Applocal install
Copy the OpenMP directory under VC\redist\<platform> as a subdirectory of the app directory.
http://msdn2.microsoft.com/zebw5zk9(en-US,VS.80).aspx has the deployment details.
Sridhar Madhugiri
Software Engineer
Visual C++