The Question: To pre-install or NOT to Pre-Install
On linked in, someone asked the following question: If you pre-install “big / universal drivers” on your target machine, will you will save login time when GPPreferences is used to deploy shared printers?
The idea is that the driver is “already there” and GPPrefs would just “do nothing.”
So.. SOMEONE had to figure it out. It might as well be me. 🙂
Tests and Methodology
Results: Here’s the result of my testing using the HP PCL 6 64-bit universal printer driver. It’s a 17MB download. Then installing it on the server and doing a roundup of HP*.* I find 48MB of HP files within c:\windows\system32\spool\drivers\x64\3 after sharing a universal printer.
(Note: It doesn’t actually matter if the raw byte count is TRUE count or not, as the times I get on MY machine are RELATIVE to what you’ll see.)
I turned on the setting which enables me to SEE *WHEN* and *HOW LONG* each GP CSE takes to process. I also put a stopwatch next to it, then COUNTED HOW LONG these words appeared (http://screencast.com/t/YWDfqIwu).
Here are the test cases / results.
Again, WARNING: I am on a ludicrously fast testlab / laptop. The point is NOT for me to report exact seconds or even total time to log on. The point is the FINAL RATIO of how long each test case takes VERSUS another test case.
The FINAL RATIO should be the same for just about anyone based upon these numbers.
Scenario 1: No GPPrefs Printers linked anywhere.
Result: ZERO seconds / “Applying Group Policy Printers policy” never appear.
Scenario 2: Universal Printer Driver shared on server in \\DC\HPPRINT1. GPPreferences item is linked to West Sales Users OU. Mr. WestSalesUser 1 logs on.
Result: 29 seconds for the CLIENT to show “Applying Group Policy Printers policy”… then MOVE ON.
Scenario 3: Same as scenario 2. BUT.. Mr. WestSalesUser1 has already logged on and downloaded the driver. NOW Mr. WestSalesUser2 logs on.
Result: 3 seconds for the CLIENT to show “Applying Group Policy Printers policy”… then MOVE ON.
*INTERESTING RIGHT?!* – More insights and thoughts below. Let’s continue onward.
Scenario 4: Universal Print Driver is pre-installed on target machine. GPPreferences item is linked to West Sales Users OU. Mr. WestSalesUser 1 logs on.
Result: 6 seconds for the client to show “Applying Group Policy Printers policy”… then MOVE ON.
Scenario 5: Same as 4. Mr. WestSalesUser1 has already logged on and used the driver. NOW Mr. WestSalesUser2 logs on.
Result: 3 seconds for the client to show “Applying Group Policy Printers policy”… then MOVE ON.
So.. how do we interpret these results?
Answer: Pre-installing the “big / universal” printer driver BEFORE using GPPreferences yields an 80% time improvement for the first user and a 90% time improvement for user #2.
However, if the FIRST user “suffers” and downloads the print driver via GPPreferences / the network, the improvement for user #2 is the same for over the network AND local installs of the driver.
Counter-intuitive thinking (so stick with me)
You might think my final advice would be “Yes, of course pre-stage universal drivers.. you get an 80%- 90% improvement in first-user login time!”
But that is NOT what I would suggest.
My belief is and has always been “The First Login Time For Any User Doesn’t Matter.”
Even if it takes, say, 3 times longer than the NEXT login (for the same user, or for the second user on the same machine)… my feeling has always been… “SO WHAT?”
Before you throw things at me, think about it: The first login time is “forgettable”. Its not an every day occurrence.
Sure.. If there’s some delay that can be eliminated at EVERY login (from login 2 onward) you should do it. (Crappy login scripts which copy big files EVERY time, or things that CRAWL the file system, etc etc.) OF COURSE — dump that crap — and make EVERY login time faster.
But that’s not what we’re talking about HERE.
HERE, in the case of “Do we” or “Don’t we” pre-install big universal print drivers, we DONT gain speed at EVERY login.
So, my final thought is: Generally *DONT* pre-install big univeral print drivers. You don’t get benefit at EVERY login.
Is there an exception?
Sure. Here goes: If you use non-persistent VDI where EVERY login feels like the FIRST login, then I could likely get behind pre-baking in items like this which make EVEN THE FIRST LOGIN go faster.
Again: That’s only because every login ACTS like its the FIRST login.
There are possibly other time-critical logins (Nurse’s stations, Stock Floor Trader) where maybe, again, would I agree that baking them in feels like the right thing to do to save X number of seconds (because you don’t know who has NEVER logged into that machine before.)
There’s my wrapup on this topic. I hope it helps you out. Please make your insightful (but kind) comments below. Thanks !