webfork wrote:
m^(2) wrote:
Misses checking for dependencies.
I think this is missing in my own portable checking process. How is this done and where should this step go in the order above?
It's a complex task because there are many types of dependencies:
-Dependencies on particular OS features, usually mentioned by the developers as "Works on:...". This info is not always accurate.
-Sometimes not mentioned at all dependency on a particular service pack
-Dependency on common libraries like MSVCRT
-Dependencies on other libraries from the same company. They might be installed on your PC, so you'll miss they are actually needed.
-Drivers. Please note that if you run a program once as admin, it may install needed drivers and then work w/out admin. You should check w/ only guest rights first.
-.NET
-Java
-I'm sure I forgot about some things.
The best way to spot a dependency is to have a set of virtual machines with OSes that you care for, in my case it was Windows XP, XP SP1, XP SP2, 2000 SP smth. , NT4 SP smth.. What matters is that they should be clean installations, nothing but OS. Then if something is required, it's missing and you see that a program doesn't run or is in some way limited. To identify what is needed you can use the tools mentioned by I am Baas. Personally I use FileInfo (which is actually a Total Commander plugin adapted by some other programs

). And Process Monitor to see all files read.
Where to put it? Don't know, but probably one of the later stages.