Commit 40d10aec authored by Butler's avatar Butler

Initial release

parents
Ordinarily the contents of this directory will get put in a zip file I called "dumpbin.zip". In addition, to the
contents of this repository, you will need the following from the Microsoft Visual Studio deployment
(eg. C:\Program Files (x86)\Microsoft Visual Studio\...) in the same folder as this README.txt:
api-ms-win-crt-convert-l1-1-0.dll*
api-ms-win-crt-environment-l1-1-0.dll*
api-ms-win-crt-filesystem-l1-1-0.dll*
api-ms-win-crt-heap-l1-1-0.dll*
api-ms-win-crt-locale-l1-1-0.dll*
api-ms-win-crt-math-l1-1-0.dll*
api-ms-win-crt-multibyte-l1-1-0.dll*
api-ms-win-crt-runtime-l1-1-0.dll*
api-ms-win-crt-stdio-l1-1-0.dll*
api-ms-win-crt-string-l1-1-0.dll*
api-ms-win-crt-time-l1-1-0.dll*
api-ms-win-crt-utility-l1-1-0.dll*
dumpbin.exe*
link.exe*
vcruntime140.dll*
This is the sum total of what is necessary to run "dumpbin.exe" with the /dependents flag.
Unpack this zip file into the folder where you unpacked your application. This should create a
"dumpbin" folder next to the bin folder for the application.
Open the folder and double-click the "run_me.bat" file.
Note that this may simply be "run_me" on your machine if you have file extensions hidden by default.
I anticipate this will report:
gather dll list into dump_all_dlls.bat
running dumpbin on all libs to make deps_all.txt
sorting into deps_sorted_with_junk.txt
extracting unique into deps_unique.txt
bulid search batch file find_missing_libs.bat
batch_files\header.bat
deps_unique.txt
batch_files\trailer.bat
1 file(s) copied.
find what is missing
Cleanup? (enter n to skip)
at this point you can just press enter and it will report:
deleting dump_all_dlls.bat
deleting deps_all.txt
deleting deps_sorted_with_junk.txt
deleting deps_unique.txt
deleting find_missing_libs.bat
If everything has been found, then there will be no "missing" reports.
Lee
@echo off
for %%f in (dump_all_dlls.bat deps_all.txt deps_sorted_with_junk.txt deps_unique.txt find_missing_libs.bat) do (
if EXIST %%f (
echo deleting %%f
del %%f
)
)
@echo off
for %%f in (
) do (
if not exist ..\bin\%%f (
if not exist C:\Windows\System32\%%f (
if "%%f" == "api-ms-win-core-winrt-l1-1-0.dll" (
echo no %%f but that is ok since this is not winrt
) else if "%%f" == "api-ms-win-core-winrt-string-l1-1-0.dll" (
echo no %%f but that is ok since this is not winrt
) else if "%%f" == "freetype.dll" (
echo no %%f but that is ok since it is not used
) else if "%%f" == "libmysql.dll" (
echo no %%f but that is ok since it is not used
) else if "%%f" == "LIBPQ.dll" (
echo no %%f but that is ok since it is not used
) else (
echo no %%f !!!!!
)
)
)
)
@echo off
call batch_files\cleanup.bat
echo gather dll list from ../bin folder into dump_all_dlls.bat
for /r ..\bin %%i in (*dll) do (
echo dumpbin /nologo /dependents %%i >> dump_all_dlls.bat
)
echo running dumpbin on all libs to make deps_all.txt
call dump_all_dlls.bat > deps_all.txt
if %ERRORLEVEL% GEQ 1 echo OOPS
echo sorting into deps_sorted_with_junk.txt
sort /unique < deps_all.txt > deps_sorted_with_junk.txt
echo extracting unique into deps_unique.txt
findstr /I /R "^[^DF].*DLL" deps_sorted_with_junk.txt > deps_unique.txt
echo bulid search batch file find_missing_libs.bat
copy batch_files\header.bat + deps_unique.txt + batch_files\trailer.bat find_missing_libs.bat
echo find what is missing
call find_missing_libs.bat
set /p docleanup="Cleanup? (enter n to skip)"
if not "%docleanup%" == "n" ( call batch_files\cleanup.bat )
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment