On a college campus, we have many machines in a handful of computer labs. Most run Windows 7, some are still on XP. We use Deep Freeze to ensure that when a computer is rebooted, it is back to the state we originally put it in.
We do not use roaming profiles. When a domain user logs onto a machine, it takes a considerable amount of time get to the desktop, as the local profile needs to be built for that user. It is my understanding that a large chunk of this time is much of the software installed creating user preferences (using the default profile RunOnce registry keys), just as it would after a reboot post-installation.
Because of Deep Freeze, even if the user logs on to the machine frequently, their profile still needs to be rebuilt, as the system goes back to a state where their profile doesn't exist upon reboot.
The default profile itself only weighs in at 5MB.
I thought I saw a tool awhile back to optimize this process, but I cannot remember the name of it, or find something similar.
How can I optimize the first logon of a user so that it finishes quickly?
I don't think the installed software does anything with the users profile upon profile creation and I've never heard of such a thing. My suggestion would be to enable user environment debug logging to find out what's causing the logon process to take so long. BTW, how long does it take to create/load the user profile?
Did you customize the default profile before deploying the machines? I've found that to help considerably. If you are able to redeploy these machines, try it out. Take a Windows 7 machine, logon as the built-in administrator, then sysprep it. When it comes back up, see if there's a decrease in the new profile creation time.