@thomas.besser
Danke erst einmal recht herzlich!
Ich würde mich für eine oder die andere Vorgehensweise entscheiden, ich weiß nicht für welche.
das wmci verstehe ich nicht ganz:
suche ich so ähnlich wie in deinem Beispiel, bekomme ich eine Menge Feedback, dauert aber wirklich ziemlich lange und ich weiß nicht wie man darauf abfragen kann (Liste 0 oder >0)?
Wenn das wmci nicht klappt werde ich wohl über die Registry gehen.
MS-Office 2010 in 4 Versionen. Wie am besten Umsetzen?
-
- Beiträge: 461
- Registriert: 09 Sep 2009, 09:40
Re: MS-Office 2010 in 4 Versionen. Wie am besten Umsetzen?
Was meinst du mit "Feedback"? Also bei dir läuft das OPSI-Script sehr lange?IvicaE hat geschrieben:@thomas.besser
suche ich so ähnlich wie in deinem Beispiel, bekomme ich eine Menge Feedback, dauert aber wirklich ziemlich lange und ich weiß nicht wie man darauf abfragen kann (Liste 0 oder >0)?
Das hab ich hier noch nie gehabt, vielleicht waren meine Schnipsel zu wenig Info.
Schau dir mal z.B. das hier an, dort ist es eingebaut: https://github.com/opsi4instituts/dfn_7zip/
Gruß
Thomas
Re: MS-Office 2010 in 4 Versionen. Wie am besten Umsetzen?
Was deine erste Frage anbelangt, warum gliederst du die Parametersteuerung nicht in ein übergeordnetes Paket aus?
Sprich, du hast ein Paket
msoffice
mit den notwendigen Parametern 32/64 und Std/PP
Zusätzlich machst du jeweils einzelne (logisch untergeordnete) Pakete für die jeweilige Variante, die du entsprechend benennst (am besten so bescheuert, dass keiner auf die Idee kommt, die Dinger manuell anzuwerfen).
tec-prod-mso-std-32
tec-prod-mso-std-64
tec-prod-mso-pp-32
tec-prod-mso-pp-64
Jetzt brauchst du in deinem msoffice Paket nur noch die Parameterauswahl mit dem jeweiligen Paket verknüpfen und per opsiServiceCall dafür sorgen, dass das Ding dann auch angeworfen wird. Voilà!
Oder hab ich das jetzt falsch verstanden?
Gruß
Holger
Sprich, du hast ein Paket
msoffice
mit den notwendigen Parametern 32/64 und Std/PP
Zusätzlich machst du jeweils einzelne (logisch untergeordnete) Pakete für die jeweilige Variante, die du entsprechend benennst (am besten so bescheuert, dass keiner auf die Idee kommt, die Dinger manuell anzuwerfen).
tec-prod-mso-std-32
tec-prod-mso-std-64
tec-prod-mso-pp-32
tec-prod-mso-pp-64
Jetzt brauchst du in deinem msoffice Paket nur noch die Parameterauswahl mit dem jeweiligen Paket verknüpfen und per opsiServiceCall dafür sorgen, dass das Ding dann auch angeworfen wird. Voilà!
Oder hab ich das jetzt falsch verstanden?
Gruß
Holger
Wer mir einen Kaffee spendieren mag , bitte gerne!
opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor
opsi PackageBuilder - Python Edition
opsibian-gen - RaspberryPi Image Generator mit opsi 4.1
Winst32 Preprocessor
-
- Beiträge: 461
- Registriert: 09 Sep 2009, 09:40
Re: MS-Office 2010 in 4 Versionen. Wie am besten Umsetzen?
Sorry, etwas verspätet und OT.
Ich geb dir Recht, dass MS für MSO 2013 eine Empfehlung pro 32-Bit gibt. Bei MSO 2016 klingt das IMO nicht mehr so klar und eindeutig: https://support.office.com/de-de/articl ... 6f49b8d261larsg hat geschrieben: Edit: Microsoft selbst rät davon ab, Office mit 64-Bit zu installieren. Insbesondere wenn man Plugins bspw. in Outlook nutzt, wird man damit auf Probleme stoßen.
Re: MS-Office 2010 in 4 Versionen. Wie am besten Umsetzen?
Du kannst in der msp-datei einstellen das vorherige Versionen deinstalliert werden sollen, das müsste editions-unabhängig sein.IvicaE hat geschrieben:Lange Rede kurzer Sinn:
gibt es eine Möglichkeit Office unabhängig der bereits installierten Version (Standard/ProPlus) zu deinstallieren?
ansonsten such einfach in der Registry nach den entsprechenden GUID's unter
Code: Alles auswählen
HKLM\SOFTWARE\Windows\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
Code: Alles auswählen
Office[MajorVersion].[EDITION]
Office14.PROPLUS
Edition sollte als String dem entsprechen was du auf dem Datenträger als Verzeichnisnamen mit der Endung .WW vorfindest.
Einfach eine Stringliste mit allen denkbaren installierten Varianten bauen:
Code: Alles auswählen
DefStringList $GUIDs$
Set $GUIDs$ = CreateStringList("Office14.STANDARD","Office14.PROPLUS")
For %GUID% in $GUIDs$ do Sub_uninstall_office
Wenn eine Variante nicht auf dem PC gefunden wurde, sollte MSI den ExitCode 1605 zurückgeben, dieser darf dann entsprechend nicht als Fehler behandelt werden
Die Befehlszeite zur Deinstallation kannst du aus dem UninstallString des enstsprechenden Registry-Schlüssels entnehmen.
Code: Alles auswählen
[Sub_uninstall_office]
Message "Deinstalliere %GUID%"
Set $UninstallString$ = GetRegistryStringValue32("[HKLM\SOFTWARE\Windows\Microsoft\Windows\CurrentVersion\Uninstall\%GUID%] UninstallString")
WinBatch_uninstall_office /32bit /WaitOnClose
Set $ExitCode$ = GetLastExitCode
Switch $ExitCode$
Case "0"
Comment "INFO "+$ExitCode$+": Setup successful"
EndCase
Case "1641"
Comment "INFO "+$ExitCode$+": Setup successful, requires restart"
ExitWindows /Reboot
EndCase
Case "3010"
Comment "INFO "+$ExitCode$+": Setup successful, requires restart"
ExitWindows /Reboot
EndCase
Case "1605"
Comment "INFO "+$ExitCode$+": This action is only valid for products that are currently installed."
EndCase
DefaultCase
LogError "ERROR "+$ExitCode$+": Unknown error"
IsFatalError "MSI error "+$ExitCode$
Endcase
EndSwitch
[WinBatch_uninstall_office]
$UninstallString$
Edit: Es fehlte die Angabe der %GUID%-Variable beim Auslesen des UninstallString aus der Registry.