Vorgeplänkel
Zu dem anstehenden Umstieg auf eine aktuelle Version des CAD-Programms möchten wir natürlich auch eine zukünftige Installation über das MDT anstreben.
Grundsätzlich spannend war erst einmal, dass der Dienstleister in seinen E-Mails unterschiedliche URLs zu unterschiedlichen Versionsständen versandt hat. Mit jeder E-Mail kam ein andere Link zu einer anderen Version. Allerdings nie aufsteigend, sondern Montag 7.0.0, Mittwoch 7.0.3, Donnerstag 7.0.1. *seufz*
Die nächste Überraschung: PTC stellt kein msi-Paket zur Verfügung. Die Installation läßt sich ausschließlich über die setup.exe auslösen und durchführen. Selbst der Umweg über den gestarteten Assistenten und die Suche nach aktuellen msi-Paketen mit einer zufälligen Zeichenkette als Namen im Filesystem war nicht möglich.
Immerhin hat die Installationsanleitung einen eigenen Abschnitt F für unbeaufsichtigte (engl. unattended) Installationen.
Schön geschrieben ist bedauerlicherweise etwas anderes.
Daher im Folgenden die erarbeitete Lösung, die funktioniert, wie von uns gewünscht.
- Eine manuelle Installation von Creo 7 mit allen gewünschten Modulen.
- Suchen, finden und wegkopieren der XML-Dateien.
- Import der Sourcen am MDT-Server.
- Kopieren der XML-Dateien ins entsprechende Applikationsverzeichnis am MDT-Server.
- Anpassung der Setup-Parameter
- Deployment-Test
- Fehlersuche
Manuelle Installation
Creo 7 steuert die unbeaufsichtigte Installation über XML-Dateien. Diese erstellen sich erst bei der Installation. Daher ist es notwendig, einmalig eine manuelle Installation auszuführen. Nach Abschluß dieses Vorgangs kann man die benötigten XML-Dateien zusammentragen und sichern.
Stolperfalle
Bei der manuellen Installation kommt es auf Seite 3 der Installationsassistenten zur Abfrage nach der Lizenz.
Wenig intuitiv muss man den Lizenzserver mit der Syntax „7788@<IP-Adresse des Lizenzservers>“ (Beispiel: „7788@10.10.10.10“) in das Eingabefeld eintippen. Das „+“ (für weitere hinzufügen) erhält man leider erst, nachdem man die erste Lizenz eingegeben hat. Hierbei ist „7788“ der Standard-Port des Lizenzservers über den er kommuniziert. Daher sind ggfs. Firewall-Ports vorab freizugeben.
Nach einem Gedenkmoment durch den Verbindungsaufbau und Prüfung des Lizenzservers sind die Module auf der nächsten Seite des Assistenten nach der vorhandenen Lizenz schon ausgewählt. Man kann also nicht mehr installieren, als die Lizenz hergibt. Da hat sich echt jemand von Entwicklerseite aus Gedanken gemacht.
Suchen, finden und wegkopieren
Nach der abgeschlossenen Installation liegt im Installationspfad jedes Moduls jeweils eine dedizierte XML-Datei. Diese Datei ist separat für die unattended Installation wichtig.
Für „Parametric“ ist es der (Standard-)Pfad „c\:Program Files\PTC\Creo 7.0.3.0\Parametric\bin\pim\xml\pma.p.xml„. Für „Layout“ dann „c\:Program Files\PTC\Creo 7.0.3.0\Layout\bin\pim\xml\layout.p.xml“ etc.
Auf keinen Fall darf die „creobase.p.xml“ vergessen werden. Diese befindet sich unter „c\:Program Files\PTC\Creo 7.0.3.0\Common Files\bin\pim\xml\“.
Diese XML-Dateien werden nun alle in einen extra Ordner kopiert.
Import am MDT-Server
Der Import am MDT-Server erfolgt ebenfalls über den Assistenten. Als Installationsparameter gibt man vorerst einfach „setup.exe“ an.
Kopieren der XML-Dateien
Nach erfolgtem Import des kompletten Creo-Pakets kopiert man die vorab gesicherten xml-Dateien in das Hauptverzeichnis zur „setup.exe“ des importierten Creo-Pakets am MDT-Server. Es sollte je nach verwendetem Server im Ordner „Applications“ – “ PTC Creo 7″ liegen.
Anpassung der Setup-Parameter
Nun ist es wichtig, die Installationsparameter der „setup.exe“ auf dem MDT-Server anzupassen, damit beim Deployment auch alle gewünschten Dateien installiert werden. Jede einzelne xml-Datei erfordert einen eigenen Aufruf mit „-xml <Pfad zur xml-Datei“"setup.exe -upgrade -progressbar -xml "\\<MDT-Server>\deploymentshare$\applications\ptc creo 7\pma.p.xml" -xml "\\<MDT-Server>\deploymentshare$\applications\ptc creo 7\creobase.p.xml" "\\<MDT-Server>\deploymentshare$\applications\ptc creo 7\layout.p.xml"
usw. Man sieht, dass sie Syntax durchaus lang werden kann.
Deployment
Danach erfolgte ein erster Test in einer VM. Diese Test-VMs lasse ich generell lokal auf meinem Rechner laufen und nutze ohne Ausnahme dafür die VM Generation 1. Erstens, weil es schneller geht (wird per PowerShell-Skript erzeugt) und zweitens muss ich mir wegen der emulierten Hardware keine zusätzlichen Gedanken machen.
Dieser scheiterte.
Fehlersuche
Glücklicherweise gibt es eine Log-Datei über den Installationsvorgang. Sie befindet sich im Dokumenten-Verzeichnis des installierenden Benutzers „c:\users\<Benutzername>\Documents\“ und heißt „pim_installmgr.log„. Darin steht relativ genau, an welcher Stelle und aus welchem Grund die Installation gescheitert ist. Dadurch kommt man dem Problem ziemlich schnell auf die Spur. Im ersten Lauf lag die Ursache an einer fehlerhaft-formatierten XML-Datei.
Einen Versuch später war dann auch klar, dass bei dem Kopiervorgang auf den MDT-Server nicht alle Dateien kopiert wurden. Es fehlten 2 GB an cab-Archiven aus den Quelldaten. Nach dem die beiden Verzeichnis wieder übereinstimmten, klappte das Deployment ab dieser Stelle fehlerfrei.
Der Rest war Feintuning.
ich hatte da einen findigen Kollegen aus der Konstruktionsabteilung der das Abtöten und Installieren von Creo Elements soweit optimiert hat dass ich bei der Erst-Installation und Major-Release-Wechsel nur per Batchdatei (getrennt nach Vollversion und Viewer) sein gezipptes „Paket“ über das Netzwerk auf den Clients entpacken lassen musste, die Installation der Zusatzmodule ausführen liess und Icons auf den Desktop kopiert habe. Als weitere Zutat ein paar reg-Keys per GPO verteilen mit Pfaden, Lizenzserver und Grundeinstellungen – that’s it…
Das Update war dann nur ein zusätzlicher reg-Key für den Lizenzserver per GPO und das neue Paket in die bestehende Ordnerstruktur entpacken. Auf gleichem Weg haben wir seine ganzen selber programmierten Plugins jedesmal aktualisiert.
Nach meinem Abgang hat er es aufgrund dann inkompatibler IT-Administration noch soweit optimieren können dass sich die Software beim Programmstart automatisch die neuen von ihm zur Verfügung gestellten verfügbaren Updates holt – und das alles ohne Admin-Rechte – die braucht er „nur“ für das setzen der reg-Keys….
Das ist pfiffig. Es ist ein anderer Ansatz. Für uns liegt die unbeaufsichtigte Installation im Fokus. Dennoch „Daumen hoch“ 🙂