I want to install a msi package to some other's profile so that such user can use the application properly. All the files should be installed to his profile folder only and similarly user registry key should be created accordingly. How can I do this?
Strange request, why don't you let the user install the software himself, with an MST file you can automate the installation. MS (microsoft) does not allow editing another profile by default.
Recommended approach for this kind of scenario is to create a component with all the revelavant information and make the key path to be a Regsitry key path that refers to the HKCU.
So, when a new user logs in and launches the application, Windows Installer will check for the component's key path and realize that the HKCU entry does not exist and will assume that the component is broken and will reinstall all the files/registry entries tied to that component.
Now the new user has all the relevant entries in the profile folder.