Adobe CS3 GPO telepítő gyártás

A cégünkben a tördelők rövidesen át fognak térni a régi elavult QuarkXPress-ről (4.11 volt rendszeresítve) az InDesign-ra, pontosabban a CS3-as verzióra. Ebből adódóan megrendeltem az Adobe CS3 Design Standard HU csomagot, mégpedig volume licence kiadásban, elvégre GPO-ból szeretném telepíteni és mindenütt azt olvastam, hogy a dobozos aktiválós kiadást nem lehet automatikusan telepíteni.
Megérkezet a CD és a licensz papír. Nekikezdtem telepítőt gyártani. Letöltöttem az Adobe weboldaláról az ide vonatkozó dokumentációt (http://www.adobe.com/support/deployment/cs3_deployment.pdf) amiből értesültem, hogy már megint nemkívánatos személy vagyok a hülye Group Policymmal. Minden másból lehet telepíteni, de MSI-t gyártani, na azt nem.
Az általuk ajánlott metódus silent install, a kiadott setup.exe-vel. Meg is csináltam az application.xml.override fájlt, ki is próbáltam a silent installt, működött is, de igazán én nem ezt szeretném.
Átmenetileg azt találtam ki, hogy a silent instalt berakom egy GPO startup scriptbe és gyártok egy WMI filtert hozzá, hogy nem minden újraindításnál kezdjen telepíteni.
1. kísérlet:
A telepítés megborult a GPO script timeout beállítása miatt.
2. kísérlet:
Feltelepül a cucc, majd minden egyes újraindulásnál újra feltelepül. Ennek az az oka, hogy nem tudok (szerintem nem is lehet) negatív WMI filtert írni (ha valaki tudja, hogyan kell, ne tartsa magában!!!). Miről is van szó? Olyan szűrőt szeretnék, ami akkor igaz, ha egy adott installer GUID NINCS benne az Installer adatbázisban.
Ez nem nyert. A következő az lenne, hogy a startup scriptből detektálom az adott Installer bejegyzést. Ha végül nem lesz más akkor meg is fogom írni azt a kis scriptet ami ezt megteszi, de ezt egyenlőre félretettem.
A célom nem változott, MSI-t szeretnék. Próbálkoztam sokmindennel, hiszen látom, hogy maga a telepítő MSI alapú, de kérdés, hogyan kell meghívni ahhoz, hogy működjön. Nem találtam megoldást.
Végül ráakadtam erre a thread-re:
ab2cv bejegyzéséből kiindulva, kezdtem rátalálni a megoldásra. Kiderült, hogy a setup.exe generál a csomagban lévő harminc-sok darab komponens mindegyikéhez egy-egy xml fájlt és ezt a fájlt valamint néhány plusz adatot hozzáadva az msiexec parancssorához hajtja végre a telepítést. Most jön az a rész, hogy hozzá kellene jutni az xml fájlok tartalmához. Ezek a fájlok a telepítés során a temp folderben keletkeznek, és minden egyes telepítési lépés után törlődnek is. Én egy vér amatőr módszert választottam, hogy hozzájussak a fájlokhoz. Írtam egy batch fájlt, ami kimásolja a tmp fájlokat a temp folderből és ezt időzítettem percenkénti végrehajtásra. Ezzel elértem, hogy az xml fájlok mintegy 80-90%-hoz hozzájutottam. A mintafájlok és a telepítés során keletkezett log (C:\Program Files\Common Files\Adobe\Installers\Az Adobe Creative Suite 3 Design Standard telepítése vagy eltávolítása 1.0.log.gz) alapján kipótoltam a hiányzó xml-eket. Miért neveztem vér amatőrnek ezt a megoldást? (mert az. Smile) Azért, mert az egy perc időintervallummal nem biztos, hogy minden fájlt fülön tudunk csípni (mint ahogy nem is sikerült mindet). Helyette vagy egy .Net FileSystemWatcher-t kellett volna használni, vagy egy WMI MOF-ot, valami ilyesmit: http://gzoli.spaces.live.com/blog/cns!F9E7FFBC4B3008EB!568.entry.
Kielemeztem a logot, rendberaktam az xml fájlokat és elkészült egy csomag, amivel msiexec használatával, de már a setup.exe nélkül fel lehet telepíteni a CS3-at.
Azt a csomagot, amivel ezt elértem közzé is teszem: http://www.gomori.hu/files/AdobeCS3_Setup1.zip (sajnos ide a blogba még mindig nem lehet mást mint képet és videot publikálni)
Ezzel idáig meg is volnánk, de ez még mindig sok sebből vérzik:
1. Az xml fájlokban abszolult elérési úttal benne van a forrás MSI-k elérési útvonala.
2. Az msiexec-nek átadható paraméterek a GPO-ban nem adhatók át így MST-ket kell gyártani (jó-jó, de 41-et? Kézzel az orca-val? no way!!! Baring teeth)
3. A 41 db csomagot meghatározott sorrendben kell telepíteni (na ilyet a GPO nem tud. Vagy mégis? Wink)
Mit szeretnék elérni? Azt, hogy van egy pici programom/scriptem, aminek odaadom a végleges telepítési forrás útvonalát, ebből legenerálja az xml-eket és az MST-ket, ezeket utána felveszem a GPO-ba, és már mehet is a telepítés. Ahhoz, hogy ezt a célt elérjem a fenti három problémát meg kell oldanom. Kezdjünk neki:
1. Ezzel nincs sok gondom. Kipreparálom az xml fájlokat úgy, hogy az abszolult elérési út helyére valami kicserélendő szöveget teszek és egy pici scriptből kicserélem a végleges elérési útra (ez favágás, de most semmi kedvem az msxml-el, vagy a .Net xml osztályaival küzdeni, ez így egyszerűbb).
2. Ez egy kemény dió. Amikor nekikezdtem a megoldáskeresésnek, azt hittem egyszerű lesz. Gyártok MST-t a WiX-el és kész. Kiderült, hogy a WiX-el xml-ből nem tudok MST-t csinálni, vagy, ha tudok, akkor annak zérus a dokumentációja. MSI-k különbségéből működik, de másból nem. Hosszas kutakodás után arra jutottam, hogy a Platform SDK-ban lévő MsiDb és MsiTran lesz az a két eszköz, amivel elő tudom állítani amit szeretnék (automatizálva). A folyamat valami ilyesmi:

– A célbavett MSI-ből csinálok egy másolatot

– A másolat MSI-ből kiexportálom a Property táblát szövegfájlba

– A kiexportált Property táblába beírom a szükséges javításokat

– A Property táblát beimportálom a másolat MSI-be

– A két MSI különbségéből csinálok egy MST-t. (Huhh, kész van! Smile)

3. Olvasmányaimból az derült ki, hogy a GPO-ba felvett software-ek ad-hoc sorrendben települnek (lehet, hogy ez nem pontos, hanem a felvétel sorrendjében. Egy biztos, a sorrend nem befolyásolható, miután felvettük a csomagokat). Ha ez így van akkor gondban vagyunk. A fenti MSI tömeget megadott sorrendben kell telepíteni. Ez nem teljesen pontos információ. A log fájlból látszik, hogy vannak bizonyos csomagok, amik függenek egymástól. Így sikerült a csomagokat négy csoportra bontanom:

– Bootstrapper (ez a WinBootstrapper.msi ami láthatóan a setuppal kapcsolatos fájlokat rakja fel)

– Prerequisites (egy rakás mindenféle, egymástól független csomag. Gondolom ezek mindenféle kiegészítők. Itt található még talán kakukktojásként az Acrobat)

– Applications (InDesign, PhotoShop, Ilustrator, stb. Ezek egymástól nem, de a Prerequisites elemeitől függenek)

– CS3 (A Creative Sute 3 keret. A gyanúm, hogy itt kerül fel pl. a szériaszám a rendszerre)

Ezeknek négyüknek ebben a sorrendben kell települniük, de csoporton belül mindegy milyen sorrendben. Ez rendben is lenne, de azt meg kellene oldani, hogy ezek valóban ebben a sorrendben hajtódjanak végre. Erre kínál megoldást a Link Order. A Group Policy Linkeknél megadhatunk egy prioritási sorrendet (ez a Link Order) ami egyben a telepítendő alkalmazásoknál végrehajtási sorrendet is jelent. Összefoglalva: Készítünk négy Policy objektumot, felvesszük beléjük a fenti négy csoporthoz tartozó telepítőket, majd az OU-nál felvesszük a Linkeket és a Link Ordert a fenti sorrendnek megfelelően állítjuk be.

Kész vagyunk!!! Smile

.

.

.

vagy mégsem? Sad

Az elmélet szépen hangzik, de a gyakorlati megvalósítás során belefutottam néhány dologba.

Elkészült a script ami képes legyártani Az eredeti telepítő DVD-ből az MSI alapú telepítőt (innen tölthető le: http://www.gomori.hu/files/AdobeCS3_Setup2.zip)

A script eredeti verziójával elkészítettem az MST fájlokat, majd belefogtam abba a nem pici munkába, hogy a harmincegynehány csomagot bepakoljam a négy GPO-ba. Már majdnem a végénél tartottam, amikor eljutottam az Acrobathoz. Az Acrobatnál meglepetten tapasztaltam, hogy nincs meg az MST fájl. Elkezdtem nyomozni és kiderült, hogy a script hibája miatt az Acrobat MST fájlja nem készült el (nem igazán foglalkoztam script írás közben a hibakezeléssel, ezért nem vettem észre). A gond az, hogy a többi csomaggal ellentétben az Acrobatnál nem csak felvenni kell új bejegyzéseket a Property táblába, hanem néhány meglevőt át is kell írni. Ilyen funkciót viszont nem építettem a scriptbe, az MsiDb.exe viszont nem viselte el, hogy ugyanaz a property név kétszer szerepelt az import fájlban. Miután az Acrobat telepítője kicsit más rendszerű, mint az összes többi komponensé, nem szerepel benne sem a forrásra vonatkozó abszolult elérési útvonal, sem xml fájl, így kattintgatva az Orca segítségével előállítottam az MST-t, és ez a forrás útvonal esetleges megváltozásakor sem változik. A lustaságomból következően nem álltam neki átírni a scriptet, hogy az Acrobalhoz is jó legyen (majd legközelebb Open-mouthed). Az Acrobat Property táblájába a következő értékeknek kell benne lenniük:

AS_DISABLE_LEGACY_COLOR=1

EULA_ACCEPT=YES

INSTALLDIR="C:\Program Files\Adobe\Acrobat 8.0"

INSTALLLEVEL=101

ISX_SERIALNUMBER=XXXX-XXXX-XXXX-XXXX-XXXX-XXXX

SUITEMODE=1

TARGETDIR="C:\Program Files\Adobe\Acrobat 8.0"

 

Miután ezekkel megvoltam nekiálltam egy teszt gépen telepíteni. Jött a pofáraesés, nekiállt az MSI csoportokat fordított sorrendben telepíteni. Na gratulálok. Baring teeth Ezek szerint a Link Ordert a telepítésnél fordított sorrendben kell értelmezni.

Plusz információk ehhez az egészhez:

A GPO-kba a következő csomagokat kell felvenni:

GPO 1:

WinMediaBootstrapper.msi

GPO 2:
payloads\AdobeAssetServices3All\AdobeAssetServices3All.msi
payloads\AdobeCMapsAll\AdobeCMapsAll.msi
payloads\AdobeCameraRaw4.0All\AdobeCameraRaw4.0All.msi
payloads\AdobePDFL8All\AdobePDFL8All.msi
payloads\AdobeTypeSupportAll\AdobeTypeSupportAll.msi
payloads\AdobeAUM5.1All\AdobeAUM5.1All.msi
payloads\AdobeALMAnchorServiceAll\AdobeALMAnchorServiceAll.msi
payloads\AdobeBridge2All\AdobeBridge2All.msi
payloads\BridgeStartMeeting\BridgeStartMeeting.msi
payloads\AdobeColorCommonSetAll\AdobeColorCommonSetAll.msi
payloads\AdobeColorEU_RecommendedAll\AdobeColorEU_RecommendedAll.msi
 payloads\AdobeColorEU_RecommendedAll\hu_HU.mst
payloads\AdobeColorJA_ExtraSettingsAll\AdobeColorJA_ExtraSettingsAll.msi
 payloads\AdobeColorJA_ExtraSettingsAll\hu_HU.mst
payloads\AdobeColorNA_ExtraSettingsAll\AdobeColorNA_ExtraSettingsAll.msi
 payloads\AdobeColorNA_ExtraSettingsAll\hu_HU.mst
payloads\AdobeDefaultLanguageCS3All\AdobeDefaultLanguageCS3All.msi
 payloads\AdobeDefaultLanguageCS3All\hu_HU.mst
payloads\AdobeExtendScriptToolKitAll\AdobeExtendScriptToolKitAll.msi
 payloads\AdobeExtendScriptToolKitAll\hu_HU.mst
payloads\AdobeFontsAll\AdobeFontsAll.msi
payloads\AdobeHelpViewerAll\AdobeHelpViewerAll.msi
payloads\AdobeLinguisticsAll\AdobeLinguisticsAll.msi
payloads\AdobeStockPhotos1.5All\AdobeStockPhotos1.5All.msi
payloads\AdobeVersionCueClient3All\AdobeVersionCueClient3All.msi
payloads\AdobeWinSoftLinguisticsPluginAll\AdobeWinSoftLinguisticsPluginAll.msi
payloads\AdobeXMPPanelsAll\AdobeXMPPanelsAll.msi
payloads\AdobePDFSettingsAll\AdobePDFSettingsAll.msi
 payloads\AdobePDFSettingsAll\hu_HU.mst
payloads\AdobeDeviceCentralAll\AdobeDeviceCentralAll.msi
payloads\AdobeColorPhotoshopAll\AdobeColorPhotoshopAll.msi
payloads\AdobeInDesignCS3IconHandler\AdobeInDesignCS3IconHandler.msi
payloads\AdobeSINGAll\AdobeSINGAll.msi
payloads\AHVSTIAll\AHVSTIAll.msi
payloads\AdobeBridgeTalkPluginAll\AdobeBridgeTalkPluginAll.msi
payloads\AdobeMotionPictureAll\AdobeMotionPictureAll.msi
payloads\AdobeWASAll\AdobeWASAll.msi

payloads\AdobeAcrobat8hu_HU\AcroPro.msi
 payloads\AdobeAcrobat8hu_HU\suite.mst
 payloads\AdobeAcrobat8hu_HU\1038.mst
GPO 3:
payloads\AdobeVersionCue3All\AdobeVersionCue3All.msi
payloads\AdobeIllustrator13hu_HU\AdobeIllustrator13hu_HU.msi
 payloads\AdobeIllustrator13hu_HU\hu_HU.mst
payloads\AdobeInDesign5cs_CZ\AdobeInDesign5cs_CZ.msi
 payloads\AdobeInDesign5cs_CZ\hu_HU.mst
payloads\AdobePhotoshop10hu_HU\AdobePhotoshop10hu_HU.msi
 payloads\AdobePhotoshop10hu_HU\hu_HU.mst

GPO 4:
payloads\AdobeDesignSuiteStandardhu_HU_Volume\AdobeDesignSuiteStandardhu_HU_Volume.msi
 payloads\AdobeDesignSuiteStandardhu_HU_Volume\hu_HU.mst

 
A csomagokhoz természetesen még fel kell venni a script által gyártott MST fájlokat is, valamint a fenti listában dőlt betűvel szereplő MST fájlokat is (ugye randa?).
Na, ez így már működik 

Kategória: Windows Installer | Közvetlen link a könyvjelzőhöz.

59 hozzászólás a(z) Adobe CS3 GPO telepítő gyártás bejegyzéshez

  1. Tamas szerint:

    Kalapemelés!

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s