Missing DLL issue

I have my own C ++ application, which was created under VS2005 (sp1), on machine A. (debug mode) Now I need to run this application on a "clean" computer, Clean means that it does not have VS. When I copy the runtime folder from machine A to a clean machine and try to activate the application, it requires reinstalling the application. Obviously, missing dll files cause this problem on the machine. The app works great. Is there any "clean" solution for this kind of problem besides gessing, which dll files are missing? perhaps a smart tool or installer that indicates which dlls are missing at runtime?

Thanks Liran

+3
source share
5 answers

To do this, I downloaded and installed the Microsoft Visual C ++ 2005 Redistributable package on a clean machine.

Then I would then create an application release build and copy this version to a clean machine.

+5
source

You can use Dependeny Walker http://www.dependencywalker.com/ to find the standard DLLs that it refers to, but I'm not sure if there is an easy way to find out which COM-DLL applications reference the application.

Alternatively (I'm not sure) you can run your application on machine A (on which it was created) and use process viewerfrom http://www.sysinternals.com . It tells you which DLL files are loaded.

+2
source

:

  • " " "" .
  • " CRT/MFC "
+1

When he tells you that some DLLs are missing, he should tell you which ones. As a rule, you are dynamically connected with CRT, which means that you can just refer to it statically and solve this problem.

0
source

You can use a tool such as ProcessExplorer to check which DLLs your program uses on the machine where it works (alternatively, the "Modules" window in VS or the "lm" command in WinDbg displays the same information). Then check if you can find one of them on the way on a “clean” car.

0
source

Source: https://habr.com/ru/post/1783095/


All Articles