Dependencies icon indicating copy to clipboard operation
Dependencies copied to clipboard

three problems

Open fratfoxid opened this issue 2 years ago • 5 comments

  1. Name is too long for a console application. Dependencies -> depend(depnd or other). you can make a symbolic link to the original or duplicate.

  2. Options have too long names:

   Options :
   -h -help : display this help
   -json : activate json output.
   -apisets : dump the system's ApiSet schema (api set dll -> host dll)
   -apisetsdll : dump the ApiSet schema from apisetschema.dll (api set dll -> host dll)
   -knowndll : dump all the system's known dlls (x86 and x64)
   -manifest : dump FILE embedded manifest, if it exists.
   -sxsentries : dump all of FILE's sxs dependencies.
   -imports : dump FILE imports
   -exports : dump  FILE exports
   -modules : dump FILE resolved modules
   -chain : dump FILE whole dependency chain

Abbreviated versions can be made:

   Options :
   -h       --help           : display this help
   -j       --json           : activate json output.
   -as      --apisets        : dump the system's ApiSet schema (api set dll -> host dll)
   -asdll   --apisetsdll     : dump the ApiSet schema from apisetschema.dll (api set dll -> host dll)
   -kndll   --knowndll       : dump all the system's known dlls (x86 and x64)
   -mf      --manifest       : dump FILE embedded manifest, if it exists.
   -se      --sxsentries     : dump all of FILE's sxs dependencies.
   -im      --imports        : dump FILE imports
   -ex      --exports        : dump  FILE exports
   -md      --modules        : dump FILE resolved modules
   -ch      --chain          : dump FILE whole dependency chain

Or other short names.

  1. there is no option for outputting direct dependencies, only dumps. eg:
$depend -d name.exe (or name.dll)
 
lib1.dll             C:\path\to\lib1.dll
lib2.dll             C:\path\to\lib2.dll
--> libz.dll           C:\path\to\libz.dll
lib3.dll             D:\path\to\lib3.dll

Or something like this.

fratfoxid avatar Jul 16 '21 07:07 fratfoxid

The command line options for the original Dependency Walker are listed here: https://www.dependencywalker.com/help/html/hidr_command_line_help.htm

(though my depends.exe is so old none of these seem to work!)

If short options are to be provided it may make sense to emulate the originals for backwards compatibility?

DaveInCaz avatar Jul 16 '21 12:07 DaveInCaz

I have not used the old version. Dependency Walker users may think differently, but I find the new names better and closer to the standards. Dependency Walker functionality is excellent. Don't take away, for heaven's sake, long names, they are great, informative names! I believe that double names are needed - short and long. Short names are handy for scripts and build systems, etc. Long names are good for human memory. thanks

fratfoxid avatar Jul 17 '21 03:07 fratfoxid

I'd argue that short names are not good for scripts. I tend to do the opposite - if I use an option frequently, I'll abbreviate it (if I can remember the short name ;) ) on the CLI but I will spell it out in a script for the purpose of self-documentation. Scripts & build systems are code after all.

jzakrzewski avatar Jul 17 '21 06:07 jzakrzewski

It's the opposite for me. In scripts, I put parameters in a variable whose name describes the result, because there can be many of them. It's not even about this utility. But on the command line, I often cannot remember short names, it is faster to type informative parameters. I think a couple of long-short names is a very useful feature for all of us :)

fratfoxid avatar Jul 17 '21 12:07 fratfoxid

I'm not a big fan of abbreviated names, characters are free and we should use it. I agree it should have a autocompletion system to speed up usage but I don't know if the optarg library I use can do it.

lucasg avatar Aug 15 '21 14:08 lucasg