Reverse-engineering third party installers is a big part of my job, so I've got a lot of experience with this.
It's not enough just to monitor the system registry. To really do it right you need to prep a few things and use certain tools. I have a rather complicated procedure I use that involves creating a fresh image of a clean version of the lowest-common-denominator OS in question, and then using the "In Control" utility to monitor file and registry access. But that's not all of it, you have to know, for example, which registry entries are there because a DLL was self-registered, and then use your own code to self-register the DLL in question.
I don't know how "perfect" this particular project of yours needs to be, but if it needed to be really perfect (in other words, the installer needs to work for sure on any computer in the world because you don't control its distribution), then contact me on ICQ and I'll see what I can do to help you directly with the process.