Hi Tsung,
Thank you very much for your reply.
I have just gone through all the steps in your reference, and found that the Group Policy on the target machine had already set to "Always install with elevated privileges".
One thing that I should had mentioned earlier, I had another different software packaged in the same way and it was installed successfully on the same machine with the same normal user logged in (i.e. registry keys were created successfully under HKEY_CLASSES_ROOT). This led me to think that my problem was due to the MSI package settings instead of privileges policy on the machine.
One thing I also noticed is that both of my working and non-working packages can picked up the registry keys within HKEY_CLASSES_ROOT during repackaging with Repackager. But when generating the .ISM file from the Repackage, the non-working package will NOT migrate all the registry keys under HKEY_CLASSES_ROOT to the Registry section in the .ISM file, though the missing keys can be found under the Direct Editor section (inside the Class table).
Any of your further advises will be very much appreciated.
Thank you.