This shows you the differences between two versions of the page.
userspace:msoffice2013pro [2013/09/18 08:10] highman72 [Setup32.ins] |
userspace:msoffice2013pro [2021/08/23 08:37] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Microsoft Office 2013 Professional Plus 32-Bit ====== | ||
- | //Scripts and guide by Jens Eppler based on the Office 2010 script by Soren Birk | ||
- | // | ||
- | I created this package with Office 32-Bit, but it is ment for both 32/ | ||
- | |||
- | The setup will install only the products wich are selected by the multivalue property " | ||
- | |||
- | You might be able to also use this script with a volume license version of Office 2013 if you replace each occurrence of " | ||
- | |||
- | There might also be the possibility to change the retail version to a volume license version as described [[http:// | ||
- | |||
- | **Tested with**: | ||
- | * OPSI 4.0.3.1 | ||
- | * Winst 4.11.3.6 | ||
- | * Windows 7, 64-Bit | ||
- | |||
- | **Instructions: | ||
- | * Creating the setup: | ||
- | * Extract the Office 2010 Prof Plus DVD to CLIENT_DATA\office2k13. | ||
- | * Use the control file as shown below for OPSI\control. | ||
- | * Take a look at this link for some inspiration: | ||
- | * Creating the uninstconfig.xml: | ||
- | * Use the baseline config.xml and uninstconfig.xml as shown below and copy these to CLIENT_DATA | ||
- | * You can also edit the .xml-files to satisfy your claims. | ||
- | |||
- | **Tree:** | ||
- | < | ||
- | CLIENT_DATA | ||
- | ├ config.xml | ||
- | ├ delsub32.ins | ||
- | ├ office2k13.png | ||
- | ├ setup32.ins | ||
- | ├ uninstall32.ins | ||
- | ├ uninstconfig.xml | ||
- | └ office2k13 | ||
- | └ ... | ||
- | </ | ||
- | |||
- | ==== Setup32.ins ==== | ||
- | <code winst> | ||
- | ; Author Jens Eppler, based on Office 2010 Code by Soren Birk | ||
- | |||
- | [Actions] | ||
- | requiredWinstVersion >= " | ||
- | |||
- | DefVar $UninstallProgram$ | ||
- | DefVar $LogDir$ | ||
- | DefVar $ProductId$ | ||
- | DefVar $MinimumSpace$ | ||
- | DefVar $InstallDir$ | ||
- | DefVar $ExitCode$ | ||
- | DefVar $LicenseRequired$ | ||
- | DefVar $LicenseKey$ | ||
- | DefVar $LicensePool$ | ||
- | DefVar $UninstCmd$ | ||
- | DefVar $TempDir$ | ||
- | DefVar $exitcodeActivation$ | ||
- | DefVar $UserName$ | ||
- | DefVar $CompanyName$ | ||
- | DefVar $ACCESSFiles$ | ||
- | DefVar $EXCELFiles$ | ||
- | DefVar $GrooveFiles2$ | ||
- | DefVar $OUTLOOKFiles$ | ||
- | DefVar $PPTFiles$ | ||
- | DefVar $PROJECTFiles$ | ||
- | DefVar $PubPrimary$ | ||
- | DefVar $QueryFiles$ | ||
- | DefVar $VISIOFiles$ | ||
- | DefVar $WORDFiles$ | ||
- | DefVar $XDOCSFiles$ | ||
- | DefStringList $Products$ | ||
- | |||
- | ; ---------------------------------------------------------------- | ||
- | ; - Please edit the following values | ||
- | ; ---------------------------------------------------------------- | ||
- | Set $LogDir$ | ||
- | Set $ProductId$ | ||
- | Set $MinimumSpace$ | ||
- | Set $InstallDir$ | ||
- | ;Set $LicenseKey$ | ||
- | Set $LicenseKey$ | ||
- | Set $TempDir$ | ||
- | ;Set $UserName$ | ||
- | Set $UserName$ | ||
- | ;Set $CompanyName$ | ||
- | Set $CompanyName$ | ||
- | ;Set $Products$ | ||
- | Set $Products$ | ||
- | Set $ACCESSFiles$ | ||
- | Set $EXCELFiles$ | ||
- | Set $GrooveFiles2$ | ||
- | Set $OUTLOOKFiles$ | ||
- | Set $PPTFiles$ | ||
- | Set $PROJECTFiles$ | ||
- | Set $PubPrimary$ | ||
- | Set $VISIOFiles$ | ||
- | Set $WORDFiles$ | ||
- | Set $XDOCSFiles$ | ||
- | ; ---------------------------------------------------------------- | ||
- | ; | ||
- | ;Die oben ausgelesenen Variablen als PropertyListOption werden zu Strings, die in die config.xml ein- und dem Installer übergeben werden | ||
- | ;Access installieren oder nicht | ||
- | if not ($ACCESSFiles$ = "" | ||
- | Set $ACCESSFiles$ | ||
- | else | ||
- | Set $ACCESSFiles$ | ||
- | endif | ||
- | ;Excel installieren oder nicht (inkl. Datenbankanbindung) | ||
- | if not ($EXCELFiles$ = "" | ||
- | Set $QueryFiles$ | ||
- | Set $EXCELFiles$ | ||
- | else | ||
- | Set $QueryFiles$ | ||
- | Set $EXCELFiles$ | ||
- | endif | ||
- | ;Skydrive installieren oder nicht | ||
- | if not ($GrooveFiles2$ = "" | ||
- | Set $GrooveFiles2$ | ||
- | else | ||
- | Set $GrooveFiles2$ | ||
- | endif | ||
- | ;Outlook installieren oder nicht | ||
- | if not ($OUTLOOKFiles$ = "" | ||
- | Set $OUTLOOKFiles$ | ||
- | else | ||
- | Set $OUTLOOKFiles$ | ||
- | endif | ||
- | ;Powerpoint installieren oder nicht | ||
- | if not ($PPTFiles$ = "" | ||
- | Set $PPTFiles$ | ||
- | else | ||
- | Set $PPTFiles$ | ||
- | endif | ||
- | ;Project installieren oder nicht | ||
- | if not ($PROJECTFiles$ = "" | ||
- | Set $PROJECTFiles$ | ||
- | else | ||
- | Set $PROJECTFiles$ | ||
- | endif | ||
- | ;Publisher installieren oder nicht | ||
- | if not ($PubPrimary$ = "" | ||
- | Set $PubPrimary$ | ||
- | else | ||
- | Set $PubPrimary$ | ||
- | endif | ||
- | ;Visio installieren oder nicht | ||
- | if not ($VISIOFiles$ = "" | ||
- | Set $VISIOFiles$ | ||
- | else | ||
- | Set $VISIOFiles$ | ||
- | endif | ||
- | ;Word installieren oder nicht | ||
- | if not ($WORDFiles$ = "" | ||
- | Set $WORDFiles$ | ||
- | else | ||
- | Set $WORDFiles$ | ||
- | endif | ||
- | ;InfoPath installieren oder nicht | ||
- | if not ($XDOCSFiles$ = "" | ||
- | Set $XDOCSFiles$ | ||
- | else | ||
- | Set $XDOCSFiles$ | ||
- | endif | ||
- | |||
- | |||
- | if not(HasMinimumSpace (" | ||
- | LogError "Not enough space on %SystemDrive%, | ||
- | isFatalError "Not enough space" | ||
- | else | ||
- | comment " | ||
- | ShowBitmap " | ||
- | |||
- | if FileExists(" | ||
- | comment "Start uninstall sub section" | ||
- | Sub " | ||
- | endif | ||
- | |||
- | Message " | ||
- | |||
- | comment " | ||
- | Files_copy_patchtextfile | ||
- | |||
- | comment " | ||
- | PatchTextFile_config_xml $TempDir$ + " | ||
- | |||
- | comment "Start setup program" | ||
- | ChangeDirectory " | ||
- | Winbatch_install | ||
- | Sub_check_exitcode | ||
- | |||
- | if contains($GrooveFiles2$, | ||
- | comment " | ||
- | Registry_SkyDrive_loeschen | ||
- | endif | ||
- | |||
- | if not ($LicenseKey$ = "" | ||
- | comment "Set License Key" | ||
- | DosInAnIcon_set_key | ||
- | set $exitcodeActivation$ = getLastExitCode | ||
- | |||
- | if not ($exitcodeActivation$ = " | ||
- | LogError " | ||
- | isFatalError " | ||
- | else | ||
- | comment " | ||
- | endif | ||
- | endif | ||
- | |||
- | endif | ||
- | |||
- | [Files_copy_patchtextfile] | ||
- | copy " | ||
- | |||
- | [PatchTextFile_config_xml] | ||
- | FindLine "</ | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | InsertLine ' | ||
- | |||
- | [Winbatch_install] | ||
- | " | ||
- | |||
- | [Registry_SkyDrive_loeschen] | ||
- | deletekey [HKCR\AllFilesystemObjects\shell\SPFS.ContextMenu] | ||
- | |||
- | [DosInAnIcon_set_key] | ||
- | cscript " | ||
- | exit %ERRORLEVEL% | ||
- | |||
- | [Sub_check_exitcode] | ||
- | comment "Test for installation success via exit code" | ||
- | set $ExitCode$ = getLastExitCode | ||
- | ; informations to exit codes see | ||
- | ; http:// | ||
- | ; http:// | ||
- | if ($ExitCode$ = " | ||
- | comment "Looks good: setup program gives exitcode zero" | ||
- | else | ||
- | comment "Setup program gives a exitcode unequal zero: " + $ExitCode$ | ||
- | if ($ExitCode$ = " | ||
- | comment " | ||
- | comment " | ||
- | else | ||
- | if ($ExitCode$ = " | ||
- | comment "looks good: setup program gives exitcode 1641" | ||
- | comment " | ||
- | else | ||
- | if ($ExitCode$ = " | ||
- | comment "looks good: setup program gives exitcode 3010" | ||
- | comment " | ||
- | else | ||
- | logError " | ||
- | isFatalError | ||
- | endif | ||
- | endif | ||
- | endif | ||
- | endif | ||
- | </ | ||
- | |||
- | ==== Uninstall32.ins ==== | ||
- | <code winst> | ||
- | ; Author Jens Eppler, based on Office 2010 Code by Soren Birk | ||
- | |||
- | [Actions] | ||
- | requiredWinstVersion >= " | ||
- | |||
- | DefVar $UninstallProgram$ | ||
- | DefVar $LogDir$ | ||
- | DefVar $ExitCode$ | ||
- | DefVar $ProductId$ | ||
- | DefVar $InstallDir$ | ||
- | DefVar $LicenseRequired$ | ||
- | DefVar $LicensePool$ | ||
- | DefVar $UninstCmd$ | ||
- | |||
- | Set $LogDir$ = " | ||
- | |||
- | ; ---------------------------------------------------------------- | ||
- | ; - Please edit the following values | ||
- | ; ---------------------------------------------------------------- | ||
- | Set $ProductId$ | ||
- | Set $InstallDir$ | ||
- | ; ---------------------------------------------------------------- | ||
- | |||
- | comment " | ||
- | ShowBitmap " | ||
- | |||
- | Message " | ||
- | |||
- | if FileExists(" | ||
- | comment "Start uninstall sub section" | ||
- | Sub " | ||
- | endif | ||
- | </ | ||
- | |||
- | ==== Delsub32.ins ==== | ||
- | <code winst> | ||
- | ; Author Jens Eppler, based on Office 2010 Code by Soren Birk | ||
- | |||
- | Set $UninstallProgram$ = " | ||
- | Set $UninstCmd$ = "/ | ||
- | |||
- | Message " | ||
- | |||
- | if FileExists(" | ||
- | comment "The program seems to be installed, starting the uninstallation." | ||
- | Winbatch_uninstall | ||
- | sub_check_exitcode | ||
- | endif | ||
- | |||
- | [Winbatch_uninstall] | ||
- | " | ||
- | |||
- | |||
- | [Sub_check_exitcode] | ||
- | comment "Test for installation success via exit code" | ||
- | set $ExitCode$ = getLastExitCode | ||
- | ; informations to exit codes see | ||
- | ; http:// | ||
- | ; http:// | ||
- | if ($ExitCode$ = " | ||
- | comment "Looks good: setup program gives exitcode zero" | ||
- | else | ||
- | comment "Setup program gives a exitcode unequal zero: " + $ExitCode$ | ||
- | if ($ExitCode$ = " | ||
- | comment " | ||
- | comment " | ||
- | else | ||
- | if ($ExitCode$ = " | ||
- | comment "looks good: setup program gives exitcode 1641" | ||
- | comment " | ||
- | else | ||
- | if ($ExitCode$ = " | ||
- | comment "looks good: setup program gives exitcode 3010" | ||
- | comment " | ||
- | else | ||
- | logError " | ||
- | isFatalError | ||
- | endif | ||
- | endif | ||
- | endif | ||
- | endif | ||
- | </ | ||
- | |||
- | ==== config.xml ==== | ||
- | <code xml> | ||
- | < | ||
- | <Display Level=" | ||
- | <Logging Type=" | ||
- | <Setting Id=" | ||
- | </ | ||
- | </ | ||
- | |||
- | ==== uninstconfig.xml ==== | ||
- | <code xml> | ||
- | < | ||
- | <Display Level=" | ||
- | <Logging Type=" | ||
- | <Setting Id=" | ||
- | </ | ||
- | </ | ||
- | |||
- | ==== control ==== | ||
- | < | ||
- | [Package] | ||
- | version: 3 | ||
- | depends: | ||
- | incremental: | ||
- | |||
- | [Product] | ||
- | type: localboot | ||
- | id: office2k13 | ||
- | name: Office 2013 | ||
- | description: | ||
- | advice: | ||
- | version: 1.0 | ||
- | priority: 0 | ||
- | licenseRequired: | ||
- | productClasses: | ||
- | setupScript: | ||
- | uninstallScript: | ||
- | updateScript: | ||
- | alwaysScript: | ||
- | onceScript: | ||
- | customScript: | ||
- | userLoginScript: | ||
- | |||
- | [ProductProperty] | ||
- | type: unicode | ||
- | name: username | ||
- | multivalue: False | ||
- | editable: True | ||
- | description: | ||
- | values: ["" | ||
- | default: ["" | ||
- | |||
- | [ProductProperty] | ||
- | type: unicode | ||
- | name: companyname | ||
- | multivalue: False | ||
- | editable: True | ||
- | description: | ||
- | values: ["" | ||
- | default: ["" | ||
- | |||
- | [ProductProperty] | ||
- | type: unicode | ||
- | name: licensekey | ||
- | multivalue: False | ||
- | editable: True | ||
- | description: | ||
- | values: ["" | ||
- | default: ["" | ||
- | |||
- | [ProductProperty] | ||
- | type: unicode | ||
- | name: products | ||
- | multivalue: True | ||
- | editable: False | ||
- | description: | ||
- | values: [" | ||
- | default: [" | ||
- | |||
- | [Changelog] | ||
- | office2k13 (1.0-3) testing; urgency=low | ||
- | * Including setting LicenseKey | ||
- | |||
- | office2k13 (1.0-2) testing; urgency=low | ||
- | * Testing multivalue Options and PatchTextFiles | ||
- | |||
- | office2k13 (1.0-1) testing; urgency=low | ||
- | |||
- | * Initial package | ||
- | |||
- | -- Jens Eppler < | ||
- | </ |