Doing repetitive tasks is something everyone hates. I am sure many of us have resorted to ingenious techniques to figure out doing the task efficiently. There is no standard tool or technique that everyone uses. Recently I was asked to install a SQL instance with same configuration on 10 servers. Who would like to log in to all those servers, run setup.exe and go through the same setup wizard? Luckily, the SQL Server setup allows to create a configuration file. The very thought of extracting it as configuration is something that made me jump out of my seat.
I copied the file from above location and moved to a second server on C drive. This was the easy part because I know the exact replica of configurations are going to flow to the new servers. Then I ran the below command:
setup.exe /CONFIGURATIONFILE=”C:\ConfigurationFile.ini” /QS /IACCEPTSQLSERVERLICENSETERMS
This is a silent install that I am trying to do. The above command failed with below error which was strange to me:
The following error occurred:
The /UIMode setting cannot be used in conjunction with /Q or /QS.
Error result: -2054422500
Result facility code: 1420
Result error code: 28
Please review the summary.txt log for further details
I looked into the file and found below line.
; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block.
I have added ; before that so that it is commented (you can remove that line also) and after that setup went fine and I was able to install it to nine servers in very short time. I also found that I can run setup remotely using PowerShell below command:
Invoke-Command -ComputerName xxx -ScriptBlock
Have you ever used configuration file in your environments? What has been some of the automation techniques you used for installing softwares? Do let me know via comments below.
Reference: Pinal Dave (http://blog.sqlauthority.com)