0

I need to get list of portable software and it's versions already used and just copied to PC, anybody knows how can I do this?

This topic describes how to do this with installed software, not portable: Get installed applications in a system

  • Portable means not installed so... How do you want to detect all non-installed software? If all executables of the operative system were signed by the same entity (Microsoft Corp) you could look all executables and detect those not signed or signed by other entities that do not appear in the installed list... But that would give you tons of false positive matches. IMHO you cannot get it in a trustworthy manner. There is inventory software that checks in memory processes, but that would not detect non-running processes. – Cleptus Apr 04 '19 at 07:50
  • If I open portable software, dose it make some footprint in my system (may be in some of OS logs)? – Dmitrii Nikolaev Apr 04 '19 at 08:52
  • You assume that software generates logs. That behavior (logs generated) depends on whoever coded it. – Cleptus Apr 04 '19 at 09:06

1 Answers1

0

Portable software is normally designed to be completely independent from installation and registration procedures on an operating system. Simply copy and run.

So if you want to detect such portable software, you need to search your hard drive the "old fashioned" way: file by file. And thus you need to know exactly what you are looking for too.

Detecting the versions might even be somewhat trickier: you might programmatically check an executable file's properties when you find a matching executable file (perhaps in combination with some important related files). But you might need to know the author's versioning strategy to match an executable file's version to an actual product version. Perhaps you even might need to read the version from another source than the executable's file properties.

So this all is not a trivial thing to do.

Bart Hofland
  • 3,700
  • 1
  • 13
  • 22