1 of 1 people found this helpful
Which version of halconfig are you using, and with what command line parameters? Also, do you have an SP3.cab in c:\windows\driver cache\i386?
It sounds a bit like mini-setup didn't do hardware detection. Did you perhaps run sysprep without the "detect non-plug and play hardware" checkbox enabled? This is a treacherous litle checkbox. In an earlier version of sysprep, this checkbox was labeled something like "perform hw detection" and you would have enabled it without thinking. I don't know why MS changed the text - the way it is phrased now, it looks as if you don't normally need this option. Wrong!
What's supposed to happen is as follows:
1. HalConfig replaces hal files.
2. Machine reboots into mini-setup.
3. As part of PnP HW detection, mini-setup installs the proper HAL. The right hal files were already in place but the PnP database in the registry doesn't reflect that, so mini-setup copies them again - again from sp3.cab.
4. Machine reboots after mini-setup.
If at first login, you get "windows has finished installing new devices", that suggests that step 3 hasn't happened. What was supposed to happen during step 3 is only happening at step 4. The one way I am aware of to get this behaviour is to run sysprep without the relevant checkbox enabled.
OK, I think it was your first suspicion. We were adding the hal files using injectmsd instead of using the halconfig. I put in the halconfig (which is version 2.3), and this seemed to take care of the issue at least with one model of laptop. I will try it on some others. I guess this takes out the need to have a Windows\System32\ folder under my msd folder, right? One additional comment. Now that this works, I noticed that the installation of the landesk 8.8 agent is not completing correctly. I will be missing the LANDesk Policy Invoker service. Do you think that this can be fixed by adding an ldsleep in the deploy script?
I think you answered my question that I posed here. I'll start a new post about the agent installation issues I am having during the GuiRunOnce portion of Sysprep.