程序:批量筛选DLL是否可以通过regsvr32注册的工具
优质
小牛编辑
117浏览
2023-12-01
有时做大规模软件时不知道哪个dll需要注册,哪个不需要。如果手动试的话非常麻烦,看资料准确性又不够高,下面提供这问题的一个解决方法:一个批量筛选DLL是否可以通过regsvr32注册的工具。
程序运行之后会将程序文件夹下面所有dll都注册一次,如果注册成功就将dll文件名写入Success.txt,失败就写入Failed.txt。注意子文件夹下面文件太多可能会导致程序崩溃,是由于NSIS局限性决定的,不可避免。
引用脚本的内容:
!include "FileFunc.nsh" !insertmacro Locate OutFile "筛选dll.EXE" Name "筛选dll" Var Success Var Failed Section FileOpen $Success "$EXEDIR\Success.TXT" A FileOpen $Failed "$EXEDIR\Failed.txt" A ${Locate} "$EXEDIR" "/M=*.dll" "loc" ;可以改一下文件类型把ocx,ax等文件也测试一遍 FileClose $Success FileClose $Failed SectionEnd Function loc ExecWait 'REGSVR32.EXE /S "$R9"' IfErrors +3 FileWrite $Success 'RegDLL "$R9"$\r$\n' Goto +2 FileWrite $Failed '-RegDLL "$R9"$\r$\n' ClearErrors ExecWait 'REGSVR32.EXE /S /U "$R9"' ClearErrors Push $R0 FunctionEnd