I love manufacturers who stubbornly refuse to conform to Industry standards for Driver and software Deployment. ATI and NVidia are two such culprits who make the installation of drivers for their products using widely used deployment tools a royal pain in the arse. The driver .inf files can be easily extracted from the vendor supplied software, however when installed using Driver Injection and Plug and Play during Windows Setup they are not ‘completely’ installed and if the first user of the system is not an administrator they will receive a prompt for elevation to complete the install. This is unacceptable guys!
So, we have to work with the vendor supplied drivers in the format they were provided and using whatever silent/unattended methods they provide. ATI do not make this particularly easy with their Catalyst drivers as they use an installer technology called ‘Monet’ – nope, I never heard of it either. There seems to be multiple ways to start the installation routine too; Setup.exe, ATISetup.exe and InstallManagerApp.exe – so what do we use?
After several hours of mucking around trying to get one of these to install the drivers during a task sequence, I can proudly put my name to a command line that actually works! If you create a standard package that contains the extracted files from the vendor supplied install files and create an ‘install.cmd’ file that contains the following;
"%~dp0Bin64InstallManagerApp.exe" /UNATTENDED_INSTALL:"%~dp0PackagesDrivers" /AUTOACCEPT_ALL /ON_REBOOT_MESSAGE:NO /FORCE_CLOSE_WHEN_DONE /FORCE_HIDE_FIRST_RUN
Create a program that runs the ‘install.cmd’ file (Run Hidden, Whether or not a user is logged on, Allow TS Deployment) and add this as an ‘Install Package’ Step to your Task Sequence. You should enable the ‘Continue On Error’ option on this step, as the ATI installer will exit with a non-zero exitcode even if the drivers install successfully.
In the command line above, I am choosing to only install the drivers and not the associated ‘crap’ that comes with them – but if you want more than just the drivers then just amend the /UNATTENDED_INSTALL option and take off the ‘Drivers’ at the end of the path.