I am wrestling with learning Group Policy Software Installation; I'm at the point where I think I know what should be going on, but I don't have a ton of practical experience yet, and am not finding any resources that go beyond configuring the Group Policy side of things.
I am trying to compare and work out the differences between two MSI packages that I have downloaded from the internet:
- 7-Zip: 7z1805-x64.msi, from https://www.7-zip.org/download.html.
- Microsoft ODBC Driver 17: msodbcsql_17.2.0.1_x64.msi, from https://www.microsoft.com/en-us/download/details.aspx?id=56567.
I've attempted to configure both of these packages to be computer-based assignment. In 7-Zip's case, all I had to do was drop the downloaded MSI file into my computer-accessible network share, add this package to the software installation GPO assigned to the test machine, and reboot twice (as I understand it, first time to let GP CE set a flag to do synchronous foreground processing on next boot, and second time to do the actual install).
With the ODBC Driver package, things are not so nice. The software is not installed, and on 2nd boot, the Event Viewer (Source: Application Management Group Policy) shows
The install of application Microsoft ODBC Driver 17 for SQL Server from policy FC_c SQL ODBC Driver failed. The error was : %%1603
Some training videos suggested that one might install an MSI to the network location using msiexec /a
. Once I figured out how to get this to work (don't try running it in PowerShell, use an admin-level prompt), I got it to create a copy(?) of the MSI file in the network location, along with a set of filesystem folders (Program Files, -(x86), Windows). This didn't change the behavior of the GP CE.
I found a pretty great answer about error 1603, but I don't understand what I should try next, or how I would know to do something differently with this package in the first place. I would have thought this thing would be a no-brainer.
P.S. I just discovered in the Event Viewer an error from MsiInstaller about a command line parameter IACCEPTMSODBCSQLLICENSETERMS=YES
that is required for this package. So, at least I know what the problem is now, and it's not related to permissions or corruption as error 1603 would suggest. I'm still going to post this question though, since I spent 30 minutes writing it and still want to know what a more experienced sysadmin would do in this situation. Is it all trial and error, or can one be smarter about this?