Testing program deployment

So I've created a small windows utility that has a few external dependencies. Some I know for sure, but there may be some I've missed.

Now on Linux, this would be falling off a log easy; just create a clean install of the OS in a VM, then add my program and it's dependencies and check it all works.

But how do I do the same in windows?
Every scratch of the nose seems like an opportunity for m$ to either steal information or extract money.
Does it really involve shelling out the $$$$$$ just to test a program?
Well, you can just install a "fresh" Windows in a VM, e.g. by using Oracle VirtualBox:
https://www.virtualbox.org/

You can download Windows VM images, e.g. in VirtualBox format, directly from M$ here:
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/

(those are mostly intended for testing IE/Edge, but they come with a fully-fledged Windows)


Additionally, ISO images for all current Windows version are provided by M$ as "evaluation" version:
https://www.microsoft.com/en-us/evalcenter/evaluate-windows-10-enterprise

(so you can test them for 90 days "for free", as in beer)


But, if your goal is just to figure out all DLL dependencies of your software, you can use this tool:
https://i.imgur.com/wZX16R9.png
https://github.com/lucasg/Dependencies

(it's a successor to good old Dependency Walker, which doesn't work correctly on Windows 10)


Process Hacker can show you all loaded modules (DLL files) of a process at runtime:
https://i.imgur.com/jelwyOz.png
https://processhacker.sourceforge.io/nightly.php

(this can catch additional DLLs loaded at runtime, such as plug-in DLLs, which Dependencies won't show)


Finally, if you want to monitor which files your software is loading/accessing at runtime, see here:
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Last edited on
So I've created a small windows utility that has a few external dependencies

Dependency Walker was great at showing what DLLs were needed, but that tool is old. It kinda still works, but it doesn't like newer editions of Windows.

Someone has rewritten the app so it works with those newer Windows versions:
https://github.com/lucasg/Dependencies

I'd try using Dependencies before I went to the trouble of mucking around with a VM. I'm more than a bit lazy.

Ooops, looks like kigar already mentioned it.
Thanks all, that should be enough to be going on with.
Process Monitor is a good tool, another similar one is Process Explorer.
https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer

Both have new updates I didn't know about. :)
Topic archived. No new replies allowed.