Pergunta

I have an MFC application which asks for missing dll in subject line when I run it on another computer which doesn't have VS2010 installed. I have come across solutions which says I have to install VS2010 redistributable package but really? Do we have to install that on every customer computer? That doesn't seem very good.

The interesting thing is that I have another MFC application which does the same thing as the new dll but it doesn't need the mfc100u.dll so I am confused.

Foi útil?

Solução

Which dll your app depends on is something you can figure out with the dependency walker tool that used to come in every VS installation (now freeware)

Redistributables are packages which should be installed when deploying applications on clients pcs. Installers usually do this automatically (and often silently) to ensure that your application will have all its dependencies met.

So yes, you need to

A) figure out all the dependencies of your app B) figure out which packages you need and then deploy them alongside your app when installing it

That's why installers are so common in the win world

Outras dicas

There is a build setting where you choose whether to use the MFC DLL or to link MFC into your exe file. If your app consists of only the single exe file then using static linking would eliminate the need for the MFC DLL. Look for the "Use of MFC" setting in the project properties.

P.S. This setting is actually two settings: One for the debug configuration, one for the release configuration.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top