views:

139

answers:

3

I have moved my Microsoft Visual Studio 6.0/C++/MFC application to Visual Studio 2008 SP1 using the new MFC Feature Pack classes. I explicitly use nothing from the .NET Framework. However, we have trouble installing on a system which does not have .NET Framework 3.5 SP1 installed on it already. Installshield fails to load an application dll that it needs to call routines in. Is there an implicit dependency to the .NET Framework built in to every such (C++/MFC) application built using VS2008? And if not, how do I find out what in the application is causing a .NET dependency? I would like to eliminate this dependency if at all possible.

Thanks, Barry

+6  A: 

Are you sure the dependency on the framework itself, and not the VC++ 9.0 runtime? Also, are you sure that the build settings don't include the /clr switch?

Here are the VC++ redistributables: http://www.microsoft.com/DOWNLOADS/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

codekaizen
we already include this in our kit and install it.
Barry
+4  A: 

The dependency is most probably on the CRT90 (VC runtime). You should compile your custom actions dll statically linking to the runtime instead of the default dynamic linking. You don't have to build the whole application statically linked, InstallShield can install the CRT for you; it's just the custom actions dll that fails, as it executes before IS could run the CRT merge module.

Franci Penov
interesting. i think you might be onto something here. i will try this out and let you know if it works.
Barry
+1  A: 

Installshield fails to load an application dll that it needs to call routines in.

This sounds like you're having an issue in your installer.

Is this DLL your DLL? If so, you must have included something in it that is either using the /clr compile switch (which adds a .NET depdendency), or are referencing a library (yours or third party) that adds the .NET depedency.

There is nothing in VC++ 2008 that will require .NET. You can build an MFC application that requires nothing but the VC runtimes.

Reed Copsey