views:

281

answers:

1

I have a C++ console application that I want to deploy using a vs2008 setup project. When I create the setup project and add the output from my console app, the setup project detects that it needs MSVCP90.dll and MSVCR90.dll. When I build the project, those two dlls are included in the .msi file as expected.

When I download and launch the installer, everything goes as expected and the console app and the dlls are unpacked into the proper directory on the local machine.

When I try and run the app, I get the following error:

Error 1721. There is a problem with
this Windows Installer package. A
program required for this install to
complete could not be run. Contact
your support personnel or package
vendor.

I've tried compiling the app with /MT and /MD neither one works.

When I run a dependency walker against the app, it reports that it needs MSVCP90.dll and MSVCR90.dll as expected.

Finally, if I set the installer to require the Visual C++ runtime libraries, it downloads them and everything works fine.

Obviously, I would like to avoid downloading the CRT libraries.

Thanks for any help, Jon

+1  A: 

Check out this example on how to add the appropriate merge modules and deploy them to your target machine along with your setup.

JP Alioto
Thanks for the help, but merge modules trigger a dependency on .net which I am trying to avoid
Jon