Dnes jsem po nějaké době updatoval automaticky instalované balíčky přes Group Policy. Ta doba byla asi dost dlouhá na to, abych zapomněl, co vše bylo potřeba udělat. Musel jsem si znova projít martýriem instalace a zjišťovat co je špatně, abych se pak následně podíval do helpdesku a zjistil, že jsem už daný problém opravdu řešil, a že si řešení i zapsal 🙂
Popis výchozího stavu
Chci vytvořit Group Policy Object (s wmi filtrem pro instalaci x86 a x64 msi balíčků pro Windows 7, 8, 8.1 a 10). V tomto případě se jedná o Microsoft SQL Native Client z SQL serveru 2012-SP2(tedy poslední verzi 11 Native Clienta), který potřebuji instalovat na klientské stanice.
Vytvořil GPol object a v zásadách nastavení softwaru a instalaci softwaru (ve větvi počítače) jsem přidal požadovaný msi balíček. Politiku jsem aplikoval a očekával, že se po restartu klientského počíte provede.
Popis problému
Po startu se opravdu provedla, ale výsledkem byla pouze hláška v Eventlogu.
Error - Msi Installer - 1013
Product: Microsoft SQL Server 2012 Native Client
-- The required IACCEPTSQLNCLILICENSETERMS=YES command-line parameter is missing. By specifying this parameter, you acknowledge that you accept the end user license terms for the Microsoft SQL Server 2012 Native Client .
Problém je v tom, že se jedná o „Silent Install“, kde Microsoft explicitně píše „If you use the /passive, /qn, /qb, or /qr option with msiexec, you must also specify IACCEPTSQLNCLILICENSETERMS=YES, to explicitly indicate that you accept the terms of the end user license. This option must be specified in all capital letters.“
Řešení
Jednou z možností je upravit daný *.msi soubor v Orca Msi editoru.
Pokud nemáme Orca Msi editor, je možnost si jej stáhnout např. pomocí tohoto návodu:
- Stáhnout Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)Windows 7 SDK
- Otevřít Iso soubor
- Nalistovat složku \Setup\WinSDKTools
- Otevřít cab1.cab
- Pravým myšoklikem zvolit „Extrahovat“ u souboru s názvem WinSDK_Orca_Msi_5E20C107_DAA3_4D49_AFAE_7FB2594F0CDC_x86
- Rozbalit jej do složky a k názvu přidat koncovku .msi
- Provést instalaci
Editace msi balíčku (resp. vytvoření .mst transkriptu)
- Spustit Orca
- Otevřít sqlncli.msi
- Z nabídky zvolit – Transform\New Transform
- Nalistovat „Custom Action\SNAC_IAcceptSQLNCLILicenseTerms“
- Pravý myšoklik\Drop Row
- Z navídky zvolit – Transform\Generate Transform
- Uložit .mst soubor k .msi souboru
GPOL
V konfiguraci počítače > Zásady > Nastavení softwaru > Instalace Softwaru > Přidáme nový balíček a v nasazení software zvolíme volbu Pokročilé.
Ve Vlastnostech balíčku v záložce Změny vybereme a přidáme vytvořený .mst soubor.
Uložíme vše do instalační složky pro Group Policy a po dalším restartu se již balíček bezproblémů nainstaluje 🙂