Installationspfad für Terminalserver in der setup.inf

Post Reply
Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 02. Sep 2014, 09:42

Hallo zusammen,

ich hätte da mal gern ne Frage.
Ich benötige für eine Office-Installation die Unterscheidung in der Setup-inf ob es sich um einen "normalen" Windows 7 Client oder eben einen Terminalserver handelt.
Das Problem, die Installation auf dem TS soll auf die D:\ Partition und auf demn W7-Clients Standard bleiben.
Ich stelle mir das in etwa so vor
[Set:Installation]
If %PC_Typ% == "TS" Then "Set:Installation_TS" Else "Set:Installation-PC" EndIf

Gibt es da eine Variable oder was, womit ich den Typ unterscheiden kann?

User avatar
Frank Dethlefsen
Posts: 521
Joined: 06. Apr 2006, 22:01
Location: Bochum
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Frank Dethlefsen » 02. Sep 2014, 10:30

Moin Metrix!

Es gibt einige spezielle OS.Variablen, die Dir vielleicht helfen (Auszug aus der Online-Hilfe):
http://helpfiles.matrix42-web.de/2013_D ... len|_____7

OS.BuildNumber Die Build-Nummer des Betriebssystems, z.B. "7601".
OS.CSDVersion Das installierte Service Pack auf dem System, z.B. "Service Pack 1".
OS.DisplayString Vollständiger Name des Betriebssystems, z.B. "Microsoft Windows 7 Professional Service Pack 1 (build 7601), 64-bit".
OS.MajorVersion Die größere Nummer der Version des Betriebssystems, z.B. "6".
OS.MinorVersion Die kleinere Nummer der Version des Betriebssystems, z.B. "1".
OS.Name Name des Betriebssystems, z.B. "Windows 7".
OS.PlatformId Die Betriebssystem-Plattform Nummer, siehe auch msdn.microsoft.com.

OS.ProductType Zusätzliche Informationen über das System, siehe auch msdn.microsoft.com.

OS.ServicePackMajor Die größere Nummer der Version des installierten Service Packs auf dem System, z.B. "1".
OS.ServicePackMinor Die kleinere Nummer der Version des installierten Service Packs auf dem System, z.B. "0".
OS.SuiteMask Bitmaske, die die Produkt-Suiten auf dem System identifiziert, siehe auch msdn.microsoft.com.
Frank Dethlefsen
Consultant und Coach
UPDATENOW GmbH
Frank.Dethlefsen@updatenow.de
https://empirum.blogspot.de/

Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 02. Sep 2014, 16:49

Moin auch und vielen Dank für die AW.
Dennoch stellt sich mir weiterhin die Frage auf welchen vorhandenen Wert ich gegen den Terminalserver abfragen kann und wie die Abfrage dann aussehen muss.
Kann das in etwa so aussehen:

[Set:Installation]
If %OS.ProductType% == "VER_SUITE_TERMINAL" Then "Install_TERM" Else "Install_STD" EndIf

Der Wert VER_SUITE_TERMINAL wird zumindest bei MSDN als Value so angegeben.
Ich probier das mal so...

User avatar
Frank Dethlefsen
Posts: 521
Joined: 06. Apr 2006, 22:01
Location: Bochum
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Frank Dethlefsen » 02. Sep 2014, 17:02

Lass Dir die Variablewert per ErrorLogMsg Befehl ins SetupErrorLog schreiben, dann sieht Du den effektiven Wert.

Code: Select all

[Set:Installation]
ErrorLogMsg OS.ProductType=%OS.ProductType%
If %OS.ProductType% == "VER_SUITE_TERMINAL" Then "Install_TERM" Else "Install_STD" EndIf
Frank Dethlefsen
Consultant und Coach
UPDATENOW GmbH
Frank.Dethlefsen@updatenow.de
https://empirum.blogspot.de/

Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 08. Sep 2014, 14:42

Hallo,
ich habe das Paket nun so geschnürt.
Die Installation läuft auch sauber durch am Terminalserver nur leider auf C:\ und nicht auf das Laufwerk D:\
Die Setup.inf habe ich folgendermaßen gebaut:

Code: Select all

[Set:Product]

[Set:Installation]
ErrorLogMsg OS.ProductType=%OS.ProductType%
If %OS.ProductType% == "VER_SUITE_TERMINAL" Then "Install_TERM" Else "Install_STD" EndIf


[Install_TERM]
AddMeter -1
Call "%Src%\setup.exe" /config "%src%\Visio.WW\config_TERM.xml"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[Install_STD]
AddMeter -1
Call "%Src%\setup.exe" /config "%src%\Visio.WW\config.xml"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf
In der Config_Term.xml befindet sich zusätzlich die Pfadangabe (<INSTALLLOCATION Value="D:\App" />) für die Visioinstallation auf dem Terminalserver eben. Aber anscheinend zieht er diese nicht und installiert in den Standardpfad auf C:\ .
Ich habe außerdem eine MSP-Datei erstellt und diese in "Updates" Ordner der Officeinstallation gelegt um Standardinstallationsanpassungen an der Officeinstallation vorzunehmen. Auch dort ist der Standardinstallationsort für die Office (in dem Fall Visio) mit angegeben. Kann es also 1.stens sein, dass die msp gegenüber dem XML gewinnt, was den Installationsort angeht, oder ich habe 2.tens den falschen Wert bei der Variable OS.ProductType abgefragt und somit bleibt die Installation Standard.
Kann das jemand evtl. beantworten?

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by MaMa82 » 08. Sep 2014, 15:03

Hallo!

Meiner bisherigen Erfahrung zufolge würde ich mich immer für die entweder MSP oder XML Variante entscheiden. Nie eine Mischform.
Da die MSP im Updates Verzeichnis liegt wird diese immer angezogen und die darin enthalten Einstellungen werden priorisiert.

Weitere Möglichkeiten:
Je nach OS die passende MSP vorm Aufruf der Installation ins Updates Verzeichnis kopieren. ;)
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 08. Sep 2014, 15:20

Ja das wäre auch mein Ansatz gewesen, allerdings kann ich in der MSP weit mehr und auch notwendige Anpassungen mitgegeben als in der XML.
Ich hatte auch schon die Idee die jeweilige MSP mit dem Parameter /adminfile aufzurufen. Das geht aber wiederum nur bei einer einzigen Officeinstallation pro Client, soll heißen ich kann das für die übrigen Officeprodukte (Office, Project, Lync etc) wiederum nicht mehr verwenden.
Hat jemand noch ne andere Idee, oder das so schon mal ähnlich verwirklichen müssen?

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by MaMa82 » 08. Sep 2014, 15:30

Wie ich schon schrieb:

Erstelle eine MSP für die Clients und eine separate für die Terminal Server.
Vorm Installationsaufruf im Skript je nach OS (OS.ProductType oder OS.Version auswerten) die jeweilige MSP (z.B. aus %SRC%) nach %SRC%\Updates kopieren lassen, anschließend im Skript Call "%SRC%\Setup.exe" und gut ist. Hier sind dann keine Parameter mehr nötig, da alle Anpassungen aus der MSP gezogen werden.
Wahlweise kannst Du das ganze auch mit Hilfe einer Datenbankvariable angehen und diese dann abfragen. Bedingt aber, dass diese immer gesetzt sein sollte. Zum Beispiel - bei einem TS ist die Empirum Variable "InstallType" "TS" und bei Clients "CLI".
Das habe ich so schon bei diversen Empirum Systemen umgesetzt. ;)

Unschönste Variante - 2 Pakete.
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 08. Sep 2014, 15:36

Ja die Variante mit dem Copy ist mir durchaus bewusst. Ich werde das wohl auch so umsetzen. Nur gefällt es mir nicht so sehr.
Ja zwei Pakete sind wohl die unschönste Variante.
Danke jedenfalls für die AW.

Gruß
Me

MaMa82
Posts: 344
Joined: 10. Jun 2011, 13:56
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by MaMa82 » 08. Sep 2014, 15:40

Noch eine Idee. :D

Leg die beiden MSPs mit einer geänderten Endung ins Updates Verzeichnis und benenn das passende wieder in MSP um vor der Installation. Sollte auch gehen. xD
Grüße MaMa82


PS: EDV steht nicht für "Elektronische Datenverarbeitung", sondern vielmehr für "ENDE DER VERNUNFT"! :roll:

Metrix
Posts: 43
Joined: 08. May 2014, 12:57
Contact:

Re: Installationspfad für Terminalserver in der setup.inf

Post by Metrix » 15. Sep 2014, 15:04

Fertsch!

So nun wollte ich mich erst mal für die Hilfe bedanken.
An erster Stelle an Frank und dann an MaMa82! Dankeschön.

Die Rückgabewerte für die Variable OS.ProductType sind lediglich 1, 2 oder 3 falls das mal jemand braucht. 1=Client, 2=wäre Domaincontroller und 3=reiner Memberserver. Die 3 hat somit für mich gereicht, da wir ja nur auf Clients bzw. Terminalservern unsere Installationen ausführen.

Folgendermaßen habe ich das in die Setup.inf nun geschrieben:

Code: Select all

[Set:Product]
ErrorLogMsg OS.ProductType=%OS.ProductType%
If %OS.ProductType% == "3" Then "Install_TERM" Else "Install_STD" EndIf

[Set:Installation]

[Install_TERM]
Copy "%SRC%\TERM.MSP" "%SRC%\Updates\TERM.MSP"
Sleep 5000
AddMeter -1
Call "%Src%\setup.exe" /config "%Src%\Visio.WW\config.xml"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf

[Install_STD]
Copy "%SRC%\STD.MSP" "%SRC%\Updates\STD.MSP"
Sleep 5000
AddMeter -1
Call "%Src%\setup.exe" /config "%Src%\Visio.WW\config.xml"
If %ErrorLevel% <> "0" Then "SET:InstallationError" EndIf 
Fazit. Das Paket macht nun was es soll. Danke

Gruß
Metrix

Post Reply

Return to “Paketierung”

Who is online

Users browsing this forum: No registered users and 4 guests