brechtsanders / pedeps

Cross-platform C library to read data from PE/PE+ files (the format of Windows .exe and .dll files)
MIT License
38 stars 8 forks source link

copypedeps question / issue #1

Closed theChaosCoder closed 5 years ago

theChaosCoder commented 5 years ago

First, thx for this awesome dependency tool :-)

I tried to copy all dependencies for a dll but it fails sometimes. .\copypedeps.exe -r .\AutoLevels_x86.dll test doesn't copy MSVCP90.dll and MSVCR90d.dll to test folder. Is this a bug or a feature? While another dll with VCRUNTIME140.dll as dep is copied. Tested on Win64 10 Pro 1903

.\listpedeps.exe .\AutoLevels_x86.dll

pedeps library version: 0.1.5 [.\AutoLevels_x86.dll] architecture: x86 machine name: Intel 386 (x86) subsystem: Windows GUI minimum Windows version: 5.0 IMPORTS MSVCP90.dll: ??0?$basic_string@DU?$char_traits@D@std@@V? ... MSVCR90.dll: memset ... KERNEL32.dll: Sleep .. KERNEL32.dll: InterlockedExchange EXPORTS AutoLevels_x86.dll: _AvisynthPluginInit3@8 @ 1

Download link http://www.mediafire.com/file/fh4x1l7g9ufsarj/AutoLevels_25%2626_x86_x64_dll_v0.07_20190531.zip

brechtsanders commented 5 years ago

Hi, The tool was designed to not copy dependancies that are under the C:\Windows folder, as it would not copy these files with your projects. If your application has dependancies there you should install these as dependancies in Windows, not just pack the used DLLs. Is the file you refer to somewhere under C:\Windows? Regards Brecht

theChaosCoder commented 5 years ago

Ah ok makes sense now. VCRUNTIME140.dll is located next to my application while MSVC*90.dll are in c:\Windows\WinSxS.