User Tools

Site Tools


userspace:microsoft_office_365

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

userspace:microsoft_office_365 [2018/01/11 19:22]
l3kk3r [Microsoft Office 365]
userspace:microsoft_office_365 [2021/08/23 08:37]
Line 1: Line 1:
-====== Microsoft Office 365 ====== 
-//Christian Streifer, based on Office 2016 Code by Author Dominik Daehn, based on Office 2013 Code by Jens Eppler, based on Office 2010 Code by Soren Birk 
-// 
-===== Anleitung / Descripton ===== 
-==== Deutsch ==== 
-Die Setup.exe ist das [[https://www.microsoft.com/en-us/download/details.aspx?id=49117|Office Deployment Tool]] , Das Skript beinhaltet Produkteigenschaften die zur Laufzeit in die office_config.xml geschrieben werden. 
- 
-Microsoft hat mit dem Wechsel zu Office 2016/365 den Syntax der XML Setupdatei geändert und ich habe diese angepast. Der Download von den Setupdateien um von diesen lokal zu installieren hat interne Gründe. 
- 
-**Wichtig MS hat mit 2016/365 Office den Update Mechanismus geändert, nach meinem Wissen funktioniert WSUS nicht mehr mit diesen Produkten** 
-==== English ==== 
-The Setup.exe ist the [[https://www.microsoft.com/en-us/download/details.aspx?id=49117|Office Deployment Tool]] 
- 
-**Importent with my knowlege Updates via WSUS don`t work with Office 2016/365** 
- 
-FIXME Die Anleitung ist noch nicht fertig mehr morgen!! 
-=== CLIENT_DATA === 
-  ├ office_config.xml 
-  ├ setup.exe 
-  ├ office365.png 
-  ├ setup.opsiscript 
-  ├ uninstall.opsiscript 
-  ├ 64 
-    └ ... 
-  └ 32 
-    └ ... 
-     
-===== Dateien / Files ===== 
-==== setup.opsiscript ==== 
-<code winst> 
-[Actions] 
-requiredWinstVersion >= "4.11.3.5" 
-  
-DefVar $LogDir$ 
-DefVar $ProductId$  
-DefVar $ProductName$ 
-DefVar $OfficeId$ 
-DefVar $OfficeVersion$ 
-  
-DefVar $MinimumSpace$ 
-DefVar $InstallPfad$ 
-DefVar $SystemType$ 
-DefVar $OfficeArchitecture$ 
-DefVar $Office_Source$ 
-DefVar $Language$ 
-DefVar $InstallPath$ 
-DefVar $AutoActivate$ 
-DefVar $LicenseRequired$ 
-DefVar $LicensePool$ 
-DefVar $ExitCode$ 
-DefVar $exitcodeActivation$ 
-DefVar $Config_Product$ 
-DefVar $Config_Eula$ 
-DefVar $Config_Log$ 
-DefVar $Config_Updates$ 
-DefVar $UpdateChannel$ 
-DefVar $UpdateSource$ 
-DefVar $ACCESSFiles$ 
-DefVar $EXCELFiles$ 
-DefVar $GrooveFiles2$ 
-DefVar $OUTLOOKFiles$ 
-DefVar $PPTFiles$ 
-DefVar $PubPrimary$ 
-DefVar $WORDFiles$ 
-DefVar $XDOCSFiles$ 
-DefVar $LYNCFiles$ 
-DefVar $ONENOTEFiles$ 
-DefVar $ONEDRIVE$ 
-DefVar $VISIOVIEWERFiles$ 
-DefStringList $Products$ 
-  
-; ---------------------------------------------------------------- 
-; - Please edit the following values                             - 
-; ---------------------------------------------------------------- 
-Set $LogDir$              = "%SystemDrive%\tmp" 
-Set $ProductId$            = "office2016" 
-Set $ProductName$          = "Office 2016 Professional Plus" 
-Set $OfficeId$              = GetProductProperty("officeid","O365ProPlusRetail") 
-Set $MinimumSpace$        = "3 GB" 
-Set $SystemType$     = GetSystemType 
-Set $OfficeArchitecture$    = GetProductProperty("architecture","32") 
-Set $InstallPath$           = GetProductProperty("Installationsdateien","%SystemDrive%\tmp") 
-Set $UpdateSource$     = '\\' + GetProductProperty("Updatedateien","") + '\' + $OfficeArchitecture$ 
- 
-;Variablen zum patchen der office_config.xml 
-Set $Office_Source$     = '<Add OfficeClientEdition="' + $OfficeArchitecture$ + '" Channel="' + GetProductProperty("Updatekanal","Broad") + '" SourcePath="' + $InstallPath$ + '">' 
-Set $Config_Product$     = '<Product ID="' + $OfficeId$ + '">' 
-Set $Language$     = '<Language ID="' + GetProductProperty("Sprache","de-de") + '" />' 
-Set $Config_Eula$     = '<Display Level="Full" AcceptEula="True" />' 
-Set $Config_Log$     = '<Logging Level="Standard" Path="' + $LogDir$ + '" />' 
-Set $Config_Updates$     = '<Updates Enable="' + GetProductProperty("Updates", "True") + '" Channel="' + GetProductProperty("Updatekanal","Broad") + '" UpdatePath="' + $UpdateSource$ + '" />' 
-Set $AutoActivate$     = '<Property Name="AUTOACTIVATE" Value="' + GetProductProperty("Auto_Aktivierung", "0") + '" />' 
-Set $Products$            = GetProductPropertyList("products","True") 
-Set $ACCESSFiles$          = takeFirstStringContaining($Products$, "Access") 
-Set $EXCELFiles$          = takeFirstStringContaining($Products$, "Excel") 
-Set $GrooveFiles2$        = takeFirstStringContaining($Products$, "Groove") 
-Set $OUTLOOKFiles$        = takeFirstStringContaining($Products$, "Outlook") 
-Set $PPTFiles$            = takeFirstStringContaining($Products$, "PowerPoint") 
-Set $PubPrimary$          = takeFirstStringContaining($Products$, "Publisher") 
-Set $WORDFiles$            = takeFirstStringContaining($Products$, "Word") 
-Set $LYNCFiles$            = takeFirstStringContaining($Products$, "Skype") 
-Set $ONENOTEFiles$        = takeFirstStringContaining($Products$, "OneNote") 
-Set $ONEDRIVE$     = takeFirstStringContaining($Products$, "OneDrive") 
-Set $VISIOVIEWERFiles$      = takeFirstStringContaining($Products$, "VisioViewer") 
- 
-; ---------------------------------------------------------------- 
- 
-if CompareDotSeparatedNumbers(GetMsVersionInfo,"6.0") < "0" 
- LogError "This is for NT 6 (Vista) and above" 
- isFatalError 
-else 
- if not ($ACCESSFiles$ = "") 
- Set $ACCESSFiles$  = '' 
- else 
- Set $ACCESSFiles$  = '<ExcludeApp ID="Access" />'  
- endif 
- if not ($EXCELFiles$ = "") 
- Set $EXCELFiles$  = '' 
- else 
- Set $EXCELFiles$  = '<ExcludeApp ID="Excel" />'  
- endif 
- if not ($GrooveFiles2$ = "") 
- Set $GrooveFiles2$  = '' 
- else 
- Set $GrooveFiles2$  = '<ExcludeApp ID="Groove" />'  
- endif 
- if not ($OUTLOOKFiles$ = "") 
- Set $OUTLOOKFiles$  = '' 
- else 
- Set $OUTLOOKFiles$  = '<ExcludeApp ID="Outlook" />'  
- endif 
- if not ($PPTFiles$ = "") 
- Set $PPTFiles$  = '' 
- else 
- Set $PPTFiles$  = '<ExcludeApp ID="PowerPoint" />'  
- endif 
- if not ($PubPrimary$ = "") 
- Set $PubPrimary$  = '' 
- else 
- Set $PubPrimary$  = '<ExcludeApp ID="Publisher" />'  
- endif 
- if not ($WORDFiles$ = "") 
- Set $WORDFiles$  = '' 
- else 
- Set $WORDFiles$  = '<ExcludeApp ID="Word" />'  
- endif 
- if not ($LYNCFiles$ = "") 
- Set $LYNCFiles$  = '' 
- else 
- Set $LYNCFiles$  = '<ExcludeApp ID="Lync" />'  
- endif 
- if not ($ONENOTEFiles$ = "") 
- Set $ONENOTEFiles$  = '' 
- else 
- Set $ONENOTEFiles$  = '<ExcludeApp ID="OneNote" />'  
- endif 
- if not ($VISIOVIEWERFiles$ = "") 
- Set $VISIOVIEWERFiles$  = '' 
- else 
- Set $VISIOVIEWERFiles$  = '<ExcludeApp ID="Visio" />'  
- endif 
- if not ($ONEDRIVE$ = "") 
- Set $ONEDRIVE$  = '' 
- else 
- Set $ONEDRIVE$  = '<ExcludeApp ID="OneDrive" />'  
- endif 
-  
- if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$)) 
- LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on dirve %SystemDrive% is needed for " + $ProductId$ 
- isFatalError "Not enough space" 
- else 
- comment "Display product logo" 
- ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductName$ 
-  
- if ($OfficeArchitecture$ = "64") AND ($SystemType$ = "x86 System") 
- Set $OfficeArchitecture$ = "32" 
- comment "Wechsel Office Architekture zu Office x86" 
- endif 
-  
- comment "Kopiere Installations Dateien" 
- Message "Kopiere Installations Dateien für " + $OfficeArchitecture$ + "Bit ..."  
- Files_copy_installfiles 
-  
- comment "Kopiere leere config.xml nach $LogDir$" 
- Files_copy_patchtextfile 
-  
- comment "Patching config.xml" 
- PatchTextFile_config_xml $LogDir$ + "\office_config.xml" 
-  
- Message "Installiere " + $ProductId$ + " ..."  
-  
- comment "Starte Setup Program" 
- ChangeDirectory "%SCRIPTPATH%" 
- Winbatch_install 
- Sub_check_exitcode 
-  
- comment "Räume auf" 
- Files_clean_installfiles 
-  
- endif 
-endif 
-  
-[Files_copy_installfiles] 
-copy -s "%ScriptPath%\$OfficeArchitecture$\*.*" "%SystemDrive%\tmp" 
-  
-[Files_copy_patchtextfile] 
-copy "%ScriptPath%\office_config.xml" $LogDir$ 
- 
-[Files_clean_installfiles] 
-delete -s "%SystemDrive%\tmp\Office" 
-  
-[PatchTextFile_config_xml] 
-FindLine "</Configuration>" 
-InsertLine '  $Config_Log$' 
-InsertLine '  $AutoActivate$' 
-InsertLine '  $Config_Eula$' 
-InsertLine '  $Config_Updates$' 
-InsertLine '  </Add>' 
-InsertLine '    </Product>' 
-InsertLine '   $ONEDRIVE$' 
-InsertLine '   $LYNCFiles$' 
-InsertLine '   $ONENOTEFiles$' 
-InsertLine '   $VISIOVIEWERFiles$' 
-InsertLine '   $WORDFiles$' 
-InsertLine '   $PubPrimary$' 
-InsertLine '   $PPTFiles$' 
-InsertLine '   $OUTLOOKFiles$' 
-InsertLine '   $GrooveFiles2$' 
-InsertLine '      $EXCELFiles$' 
-InsertLine '      $ACCESSFiles$' 
-InsertLine '      $Language$' 
-InsertLine ' $Config_Product$' 
-InsertLine '  $Office_Source$' 
-InsertLine '<Configuration>' 
-  
-[Winbatch_install] 
-"%ScriptPath%\setup.exe" /configure "$LogDir$\office_config.xml" 
-  
-[Sub_check_exitcode] 
-comment "Test for installation success via exit code" 
-set $ExitCode$ = getLastExitCode 
-; informations to exit codes see 
-; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx 
-; http://msdn.microsoft.com/en-us/library/aa368542.aspx 
-if ($ExitCode$ = "0") 
- comment "Looks good: setup program gives exitcode zero" 
-else 
- comment "Setup program gives a exitcode unequal zero: " + $ExitCode$ 
- if ($ExitCode$ = "1605") 
- comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed." 
- comment "Uninstall of a not installed product failed - no problem" 
- else 
- if ($ExitCode$ = "1641") 
- comment "looks good: setup program gives exitcode 1641" 
- comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success." 
- else 
- if ($ExitCode$ = "3010") 
- comment "looks good: setup program gives exitcode 3010" 
- comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success." 
- else 
- logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$ 
- isFatalError 
- endif 
- endif 
- endif 
-endif 
-</code> 
- 
-==== office_config.xml ==== 
-<code xml> 
-</Configuration> 
- 
-<!-- Config Datei wird durch OPSI dynamisch generiert ... don't edit !!! --> 
-</code> 
- 
-==== uninstall.opsiscript ==== 
-<code winst> 
-[Actions] 
-requiredWinstVersion >= "4.11.3.5" 
-  
-DefVar $LogDir$ 
-DefVar $ProductId$  
-DefVar $ProductName$ 
-DefVar $OfficeId$ 
-  
-DefVar $MinimumSpace$ 
-DefVar $InstallDir$ 
-DefVar $InstallPfad$ 
-DefVar $SystemType$ 
-DefVar $Config_Product$ 
-DefVar $Language$ 
-DefVar $ExitCode$ 
- 
-  
-; ---------------------------------------------------------------- 
-; - Please edit the following values                             - 
-; ---------------------------------------------------------------- 
-Set $LogDir$          = "%SystemDrive%\tmp" 
-Set $ProductId$        = "office2016" 
-Set $ProductName$      = "Office 2016 Professional Plus" 
-Set $OfficeId$                  = GetProductProperty("officeid","O365ProPlusRetail") 
-Set $InstallDir$ = "Microsoft Office" 
-Set $SystemType$ = GetSystemType 
- 
-;Variablen zum patchen der office_remove.xml 
-Set $Config_Product$ = '<Product ID="' + $OfficeId$ + '" >' 
-Set $Language$ = '<Language ID="' + GetProductProperty("Sprache","de-de") + '" />' 
- 
-; ---------------------------------------------------------------- 
-  
-if CompareDotSeparatedNumbers(GetMsVersionInfo,"6.0") < "0" 
- LogError "This is for NT 6 (Vista) and above" 
- isFatalError 
-else 
- comment "Display product logo" 
- ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductName$ 
-  
- comment "Kopiere leere config.xml nach $LogDir$" 
- Files_copy_patchtextfile 
-  
- comment "Patching office_config.xml" 
- PatchTextFile_remove_xml $LogDir$ + "\office_config.xml" 
-  
- Message "Installiere " + $ProductId$ + " ..."  
-  
- comment "Start setup program" 
- ChangeDirectory "%SCRIPTPATH%" 
- Winbatch_remove 
- endif 
-  
-[Files_copy_patchtextfile] 
-copy "%ScriptPath%\office_config.xml" $LogDir$ 
-  
-[PatchTextFile_remove_xml] 
-FindLine "</Configuration>" 
-InsertLine '  </Remove>' 
-InsertLine '    </Product>' 
-InsertLine '      $Language$' 
-InsertLine '    $Config_Product$' 
-InsertLine '  <Remove ALL="True">' 
-InsertLine '<Configuration>' 
-  
-[Winbatch_remove] 
-"%ScriptPath%\setup.exe" /configure "$LogDir$\office_config.xml" 
-</code> 
- 
- 
-==== control ==== 
-<code winst> 
-[Package] 
-version: 1 
-depends:  
-incremental: False 
- 
-[Product] 
-type: localboot 
-id: office2016 
-name: Office 365 
-description: Office 365 
-advice:  
-version: 1.0 
-priority: 0 
-licenseRequired: False 
-productClasses:  
-setupScript: setup.opsiscript 
-uninstallScript: uninstall.opsiscript 
-updateScript:  
-alwaysScript:  
-onceScript:  
-customScript:  
-userLoginScript:  
- 
-[ProductProperty] 
-type: unicode 
-name: architecture 
-multivalue: False 
-editable: False 
-description: Architektur der Office Installation x86 oder x64 
-values: ["32", "64"] 
-default: ["32"] 
- 
-[ProductProperty] 
-type: unicode 
-name: officeid 
-multivalue: False 
-editable: True 
-description: Produkt-ID für die Office 365 Installation 
-values: ["O365ProPlusRetail", "O365BusinessRetail", "VisioProRetail", "ProjectProRetail", "SPDRetail", "AccessRuntimeRetail"] 
-default: ["O365ProPlusRetail"] 
- 
-[ProductProperty] 
-type: unicode 
-name: Sprache 
-multivalue: False 
-editable: True 
-description: Definiert die Sprache, die installiert werden soll, MatchOS nimmt die System sprache 
-values: ["de-de"] 
-default: ["de-de", "MatchOS"] 
- 
-[ProductProperty] 
-type: unicode 
-name: Updatekanal 
-multivalue: False 
-editable: True 
-description: Für die Office 2016-Version von Office 365 ProPlus bietet Microsoft drei Optionen, die als Updatekanäle bezeichnet werden und Ihnen helfen zu steuern, wie oft Office 365 ProPlus mit neuen Funktionen aktualisiert wird. 
-values: ["Monthly", "Broad", "Targeted"] 
-default: ["Broad"] 
- 
-[ProductProperty] 
-type: unicode 
-name: Updates 
-multivalue: False 
-editable: False 
-description: Office 365 sucht nach Updates. 
-values: ["True", "False"] 
-default: ["True"] 
- 
-[ProductProperty] 
-type: unicode 
-name: Installationsdateien 
-multivalue: False 
-editable: True 
-description: Speicherort der Installationsdateien 
-values: ["%SystemDrive%\tmp"] 
-default: ["%SystemDrive%\tmp"] 
- 
-[ProductProperty] 
-type: unicode 
-name: Updatedateien 
-multivalue: False 
-editable: True 
-description: Speicherort der Updatedateien 
-values: ["\\server\share"] 
-default: [""] 
- 
-[ProductProperty] 
-type: unicode 
-name: Auto_Aktivierung 
-multivalue: False 
-editable: False 
-description: Sie AUTOACTIVATE auf 1 einstellen, damit das Produkt automatisch aktiviert wird 
-values: ["0", "1"] 
-default: ["1"] 
- 
-[ProductProperty] 
-type: unicode 
-name: products 
-multivalue: True 
-editable: False 
-description: welche Produkte installiert werden sollen 
-values: ["Access", "Excel", "OneDrive", "OneNote", "Outlook", "PowerPoint", "Publisher", "Skype", "VisioViewer", "Word"] 
-default: ["Access", "Excel", "OneNote", "PowerPoint", "Publisher", "VisioViewer", "Word"] 
-</code> 
- 
-===== Office Deployment Tool ===== 
-Übersicht von dem MS Office Deployment Tool / Overview about MS ODT 
-  * [[https://docs.microsoft.com/de-de/deployoffice/overview-of-the-office-2016-deployment-tool|deutsch]] 
-  * [[https://docs.microsoft.com/en-en/deployoffice/overview-of-the-office-2016-deployment-tool|english]] 
- 
  
userspace/microsoft_office_365.txt · Last modified: 2021/08/23 08:37 (external edit)