Yep, all that is possible. My example is strictly based on two quantities -
the current count item, the total number of items.
If you watch the thing at work in the File Cataloger, you'll see that it
sort of does like the office install but it lacks (and can easily be
modified to) handle progress in multiple counts. For instance, the Office
installation is based on the percentage of the total job and percentage of
the current sub task within that larger job. The only difficult part is
getting your quantity values.
In the sample I gave, the 0 to 10000 approach is merely a unit test (and 0
is out of range so we have to be careful there). Used practically, the File
Cataloger looks at the total number of files in a given directory and the
count of the file you're currently working with. When you're ready to show
that element of progress, you merely pass the info with the current count
again.
If you decide to work with time quantities, you introduce a new issue where
accuracy is concerned. The test model is easy: perform your time based
progress on a new machine then run the same test on an older slower machine.
Time is 'different'in progress measurement because you're really measuring a
quantity of work, not time, and the difference in progress rate is not a
linear 3:1 ratio between, say, a PII 200 and a Pentium 4 at 3GHz.