There are probably a few ways to do this. The easiest that I can think of is making use of the public MSI property "APPDIR". If you are pushing out these packages and your drives/install paths are therefore standardized, you can "push" the APPDIR location to the installer at install-time. Use a command line like this:
MyInstaller.exe APPDIR=D:\MyPath
You can pass public properties to the msi (properties that are in all UPPERCASE are public and can be set from outside the msi) as PROPERTYNAME=value.
APPDIR dictates the install location of the msi. If you need something customized in the command line- say user name as a bad example
- you could inject this into the APPDIR path in your logon script. You mentioned you use group policies and the last time I had done anything with logon scripts was probably Win2k with crusty batch files so I'm sure a thing or two has changed but the basic idea will be the same. Given a variable %username% that contained the current username, you could set the command line to:
MyInstaller.exe APPDIR="D:\Program Files\%username%"
Hope that helped!