Paketierung Teamcenter 8.1

Post Reply
hennig64
Posts: 88
Joined: 27. Sep 2005, 18:09
Location: Wü-Town
Contact:

Paketierung Teamcenter 8.1

Post by hennig64 » 06. Dec 2010, 21:36

Hallo,

ist hier vielleicht jemand im Forum der schon mal Teamcenter 8.1 paketiert hat? Bin seit ca. 1 Woche dran und völlig am verzweifeln. Teamcenter nutzt zur Verteilung einen eigenen Java Installer welcher Registry Schlüssel erstellt, MSI Installationen anstartet, Dateien kopiert etc. grauenhaft!

Gruss
Benjamin

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 05. Jan 2011, 14:31

Hallo,

ich kämpfe gerade mit der 8.3er Version. Installer ist eine Batch-Datei, welche einen Java-Installer aufruft.
Installer darf natürlich nicht über UNC-Pfad aufgerufen werden. Also vorher ein

Code: Select all

callhidden net use b: %src%
in die setup.inf. Wenn ich dann allerdings den Installer mit den vorgesehenen Silent-Parameter aufrufe (

Code: Select all

Call b:\Tc8.3_wnti\tem.bat -s=b:\Tc8.3_wnti\silent.xml
) bricht dieser nach ca. einer halben Minute ab. Mit dem identischen Aufruf in der Eingabeaufforderung läuft er problemlos durch.

Gruß
Ralph

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 05. Jan 2011, 16:23

Oh Mann,

ist der Installer widerlich.

Die Lösung brachte jetzt ein einfaches c: vor dem Aufruf des Installers.

Code: Select all

callhidden net use b: %Src%

c:

callhidden b:\Tc8.3_wnti\tem.bat -s=b:\Tc8.3_wnti\silent.xml
Vielleicht kann ich mit dem Posting einem anderen schlaflose Nächte ersparen.

Gruß
Ralph

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 18. Oct 2011, 23:09

Hallo nochmal,

nur der Vollständigkeit halber:

Die "net use b: %src%"-Lösung ist natürlich für den Advanced Agent ungeeignet: Ich kann ja keinen net use auf eine lokale Quelle machen.

Wenn das Paket unter Legacy und Advanced laufen soll, bietet sich pushd dann.

Ansonsten muß man LA und AA mit irgendwelchen if-Abfragen unterscheiden und die tem.bat entsprechend aufrufen.

setup.inf

Code: Select all

call %src%\install.cmd %src%
install.cmd

Code: Select all

@echo off
pushd %1
tem.bat -s=silent.xml
popd
Gruß
Ralph

Jochen_Schmitt
Posts: 304
Joined: 14. Dec 2004, 12:24
Location: Reinheim
Contact:

Re: Paketierung Teamcenter 8.1

Post by Jochen_Schmitt » 18. Dec 2012, 11:56

Hallo Ralph,

bei mir "stirbt" die Installation auch immer ab.
Auch ein Wechsel auf c: bzw. der Einsatz des pushd/popd beim Advanded Agents bringt nichts.
Der Java Installer hängt sich jedes Mal auf/weg.
Die Tem.bat kann ich aufrufebn wie ich will ... hast Du noch Hinweise, was noch zu berücksichtigen ist?

Beim AA kopierst du tatsächlich alle Quellen lokal und führst dann die Installation durch ohne
weitere Tricks zzgl. des push und pops?

Grüße
Jochen

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 18. Dec 2012, 13:36

Hallo Jochen,

ich verwende pushd/popd, weil es über UNC aber auch lokal funktioniert. Dadurch brauche ich im Paket nicht zwischen LA und AA zu unterscheiden.

Anbei mal meine ganz setup.inf:

Code: Select all

[Product]
AddMeter -1

#Set:AdvancedAgent, DONTDELETE

#Set:TC, DONTDELETE

#Set:Patch, DONTDELETE

#Security:Product, DONTDELETE

#Set:User, CLIENT DONTDELETE
#Security:User, CLIENT DONTDELETE

#Set:UninstallTC, DELETE
-AddMeter -1


;--------------------------- Requirements --------------------------------------

[Set:vjredistx86]
Call "%Src%\Requirements\vjredist.exe" /q:a /c:"install.exe /q"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf


[Set:vjredistx64]
Call "%Src%\Requirements\vjredist64.exe" /q:a /c:"install.exe /q"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf


[Set:vstor30]
Call "%Src%\Requirements\vstor30.exe" /q
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf


;-------------------------- Empirum Agent --------------------------------------


[Set:AdvancedAgent]
If "%HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,ProductName%" == "Windows 7 Professional" then "Reg:AdvancedAgentWin7" EndIf
If "%HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion,ProductName%" == "Microsoft Windows XP" then "Reg:AdvancedAgentWinXP" EndIf


[Reg:AdvancedAgentWin7]
HKU,.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Desktop,0x00000000,"C:\Users\admin\Desktop"
HKU,.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Programs,0x00000000,"C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs"


[Reg:AdvancedAgentWinXP]
HKU,.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Desktop,0x00000000,"C:\Dokumente und Einstellungen\Administrator\Desktop"
HKU,.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders,Programs,0x00000000,"C:\Dokumente und Einstellungen\Administrator\Startmenü\Programme"

                                                                                                                                                                        
;------------------------------ TC ---------------------------------------------

[Set:TC]
If DoesRegKeyExist ("HKLM,SOFTWARE\EMPIRUM-Pakete\Siemens\Teamcenter\8.1\Setup,Revision") == "0" Then "Set:InstallTC" EndIf
If DoesFileExist ("%App%\..\nx75\ugii\env_print.exe") == "1" Then "Shell:mitNX" Else "Shell:ohneNX" EndIf


[Set:InstallTC]
#Set:vjredistx86, WINDOWS32
#Set:vjredistx64, WINDOWS64
#Set:vstor30

If DoesFileExist ("%App%\..\nx75\ugii\env_print.exe") == "1" Then "mitNX" Else "ohneNX" EndIf

1:, c:\plmtemp, DIRECTORY, 0


[mitNX]
callhidden "%src%\install.cmd" %src% silent_nx.xml
If %ErrorLevel% <> "0" Then "AbortTem" EndIf
;#Shell:mitNX


[Shell:mitNX]
%Desktop%\Teamcenter 2tier NX75, \\dew3ktc02\plmshare\scripts\plmstart.bat, 2tier addons15 nx75 - tc83 plm1 de, %%temp%% , , %~App%\install\install\tc_core.ico


[ohneNX]
callhidden "%src%\install.cmd" %src% silent.xml
If %ErrorLevel% <> "0" Then "AbortTem" EndIf
;#Shell:ohneNX


[Shell:ohneNX]
%Desktop%\Teamcenter 2tier, \\dew3ktc02\plmshare\scripts\plmstart.bat, 2tier addons15 - - tc83 plm1 de, %%temp%%, , %~App%\install\install\tc_core.ico


;------------------------------ Patch ------------------------------------------

[Set:Patch]
;hier werden eine ganze Menge Dateien kopiert

AddMeter -1

callhidden "%src%\update.cmd" %src% %app%
If %ErrorLevel% <> "0" Then "AbortTem" EndIf

del "%MSILogFile%"
call msiexec /p "%src%\TcVis_8330_win32.msp" /qb-! SKIPHELPUNZIP=True /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortUpdateVisualization" EndIf
del "%MSILogFile%"

del "%MSILogFile%"
call msiexec /p "%src%\TcVis_8334_win32.msp" /qb-! SKIPHELPUNZIP=True /Li "%MSILogFile%"
IF DoesTextInFileExist ("%ReInstSuccessMessage1031%", "%MSILogFile%") == "0" & DoesTextInFileExist ("%ReInstSuccessMessage1033%", "%MSILogFile%") == "0" Then "AbortUpdateVisualization" EndIf
del "%MSILogFile%"

deltree "%Programs%\Teamcenter 8.3"


[Security:Product]
FileDaclEx.Add ("c:\plmtemp", "%$Everyone%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)
FileDaclEx.Add ("%App%", "%$Everyone%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)


[Set:User]
1:, %UserProfile%\FCCCache, DIRECTORY CLIENT, 0 
1:, %UserProfile%\Teamcenter\RAC, DIRECTORY CLIENT, 0

del "%UserDesktop%\Teamcenter 8.lnk"
deltree "%UserPrograms%\Teamcenter 8"


[Security:User]
FileDaclEx.Add ("%UserProfile%\FCCCache", "%$Everyone%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)
FileDaclEx.Add ("%UserProfile%\Teamcenter\RAC", "%$Everyone%", GRANT, ALL, SUB_CONTAINERS_AND_OBJECTS_INHERIT)


;----------------------------- Uninstall ---------------------------------------

[Set:UninstallTC]
-del "%Desktop%\Teamcenter 2tier NX75.lnk"
-del "%Desktop%\Teamcenter 2tier.lnk"
-deltree %App%

;Visualization
-Del %MSILogFile%
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A7511BA1-00AC-4922-9C8E-5C7066343DE5},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{A7511BA1-00AC-4922-9C8E-5C7066343DE5},UnInstallString") == "1" Then "AbortUninstallVisualization" EndIf
-Call MsiExec /X {A7511BA1-00AC-4922-9C8E-5C7066343DE5} REBOOT=REALLYSUPPRESS /qb-! /Li "%MSILogFile%"
-Del %MSILogFile%

;JtUtilities
-Del %MSILogFile%
If DoesRegKeyExist ("HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C0D13E2D-55B6-4998-B38B-2705C63B9D59},UnInstallString") == "1" | DoesRegKeyExist ("HKLM,SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{C0D13E2D-55B6-4998-B38B-2705C63B9D59},UnInstallString") == "1" Then "AbortUninstallJtUtilities" EndIf
-Call MsiExec /X {C0D13E2D-55B6-4998-B38B-2705C63B9D59} REBOOT=REALLYSUPPRESS /qb-! /Li "%MSILogFile%"
-Del %MSILogFile%


;---------------------- ErrorLogMsg --------------------------------------------

[AbortUninstallVisualization]
-Abort
-ErrorLogMsg Deinstallation von Visualization gescheitert.


[AbortUninstallJtUtilities]
-Abort
-ErrorLogMsg Deinstallation von JtUtilities gescheitert.


[AbortInstallPIA]
ErrorLogMsg Installation/Reparatur von PIA gescheitert.
Abort


[AbortUpdateVisualization]
ErrorLogMsg Update von Visualization gescheitert.
Abort


[SET:InstallationError]
ErrorLogMsg Installation der Requirements gescheitert.
Abort


[AbortTem]
ErrorLogMsg Installation/Update von Teamcenter (Tem.bat) gescheitert.
Abort


[RebootRequired]
SetReboot 1
install.cmd

Code: Select all

@echo off
pushd %1
Call %cd%\replace_path_in_xml.exe %cd%\%2 %temp%\%2
Call %cd%\Tc8.3_wnti\tem.bat -s=%temp%\%2
popd
update.cmd

Code: Select all

@echo off
pushd %1
call %2\install\tem.bat -p %cd%\Tc8.3.3_patch_4_wnti\wnti
popd
replace_path_in_xml.exe (AutoIT)

Code: Select all

$inputfile = FileOpen($CmdLine[1],0)
$outputfile = FileOpen($CmdLine[2],2)

; Überprüfe ob die Datei geöffnet werden konnte
If $inputfile = -1 Then
    MsgBox(0, "Error", "Quelldatei konnte nicht geoeffnet werden.")
    Exit
EndIf

; Überprüfe ob die Datei geöffnet werden konnte
If $outputfile = -1 Then
    MsgBox(0, "Error", "Ausgabedatei konnte nicht geoeffnet werden.")
    Exit
EndIf

FileWrite($outputfile, StringReplace(FileRead($inputfile), "src", StringReplace(@WorkingDir, "\", "\\")))

FileClose($inputfile)
FileClose($outputfile)
Mein Paket unterscheidet nur zwischen mit NX und ohne NX. Dementsprechend wurden zwei Antwort-Dateien (XML) erstellt.

Wichtig sind auch die beiden Reg:AdvancedAgentWin7 und Reg:AdvancedAgentWinXP. Da die tem.bat unter Local System kein vollständiges Benutzerprofil findet und abbricht.

Ich hoffe das hilft Dir weiter.

Gruß
Ralph

Jochen_Schmitt
Posts: 304
Joined: 14. Dec 2004, 12:24
Location: Reinheim
Contact:

Re: Paketierung Teamcenter 8.1

Post by Jochen_Schmitt » 18. Dec 2012, 14:00

Hallo Ralph,

ok, ich versuche es leicht anders, um die lokale Kopie der Quellen herum zu kommen.
Die RegEinträge habe ich deinem anderen Forums Eintrag bereits entnommen. Danke!

Die Batch Dateien beginnen zu "laufen".
Nun meldet der Java Installer einen Fehler beim Entpacken der FCC.ZIP, obschon die Datei sich "normal" fehlerfrei entpacken lässt.
Hast Du damit schon mal "Erfahrung" sammeln dürfen?

Viele Grüße
Jochen

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 18. Dec 2012, 14:39

Hallo nochmal, :-)

kommt mir bekannt vor, das hatten wir auch aber mir fällt einfach nicht mehr ein, wie wir das behoben haben.

Dein Paket setzt die Registry-Schlüssel vor dem Aufruf der tem.bat? Ich dachte das hätte die Lösung gebracht. Bin mir aber nicht mehr sicher. Hättest mich von einem Jahr fragen müssen.

Gruß
Ralph

Jochen_Schmitt
Posts: 304
Joined: 14. Dec 2004, 12:24
Location: Reinheim
Contact:

Re: Paketierung Teamcenter 8.1

Post by Jochen_Schmitt » 18. Dec 2012, 14:43

Hallo Ralph,

danke schon mal für Deinen schnellen "Beistand".
Ja, die Reg.-Werte werden vor dem Batch Aufruf geschrieben.
Die Einträge sind auch vorhanden.

Schade, wenn Dir noch etwas einfällt. Ich freue mich derzeit über jeden "Strohhalm".

Grüße
Jochen

Jochen_Schmitt
Posts: 304
Joined: 14. Dec 2004, 12:24
Location: Reinheim
Contact:

Re: Paketierung Teamcenter 8.1

Post by Jochen_Schmitt » 18. Dec 2012, 16:47

Hallo Ralph,

es läuft! So glücklich war ich noch nie, dass ein Paket funktioniert :).

Zusammengefasst erstelle ich einen Sheduled Task, der eine Batch aufruft (zur Umgehung der SYSTEM und UAC Problematik). In der Batch werden die Reg.-Werte geschrieben die Du genannt hast, die förderlich sind, da es ohne nicht funktioniert hat. Ob die anderen Anpassungen in der aufrufenden Batch auch etwas dazu beigetragen haben - mag sein.
Generell haben wir aber die Quellen auf dem EmpiumServer liegen und installieren über das Netzwerk trotz AA.

Jetzt fehlt nur noch die Abnahme.

Grüße
Jochen

ralph.hinkel
Posts: 21
Joined: 14. Dec 2004, 12:09
Location: Pirmasens
Contact:

Re: Paketierung Teamcenter 8.1

Post by ralph.hinkel » 18. Dec 2012, 17:01

Hallo Jochen,

das freut mich für Dich. Ging mir damals ähnlich. Ich habe bereits hunderte von Paketen erstellt aber das war defintiv das schlimmste.

Dann mal frohe Weihnachten und einen guten Rutsch

Gruß
Ralph

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 7 guests