update to new opsi builder template

This commit is contained in:
Mario Fetka 2013-03-13 22:59:53 +01:00
parent 02c3568b3c
commit 783324306a
7 changed files with 107 additions and 60 deletions

View File

@ -1,13 +1,26 @@
; Copyright (c) uib gmbh (www.uib.de) ; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh ; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License. ; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/credits/ ; credits: http://www.opsi.org/en/credits/
Set $MsiId$ = '{91120000-00CA-0000-0000-0000000FF1CE}' Set $IniFile$ = $InstallDir$ + "\opsi-" + $ProductId$ + ".ini"
Message "Uninstalling " + $ProductId$ + " ..." if FileExists($IniFile$)
Set $OLD_VERSION$ = GetValueFromInifile($IniFile$,"COMMON","VERSION","")
Set $OLD_CREATOR_TAG$ = GetValueFromInifile($IniFile$,"COMMON","CREATOR_TAG","")
Set $OLD_RELEASE$ = GetValueFromInifile($IniFile$,"COMMON","RELEASE","")
endif
Message "Uninstalling " + $ProductId$ + " " + $OLD_VERSION$ + "-" + $OLD_CREATOR_TAG$ + $OLD_RELEASE$ + " ..."
if FileExists($IniFile$)
Set $MsiIdOld$ = GetValueFromInifile($IniFile$,"X86","MsiId","{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}")
if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiIdOld$ + "] DisplayName") = "")
comment "Old MSI id " + $MsiIdOld$ + " found in registry, starting msiexec to uninstall old version"
Winbatch_uninstall_msi_old
sub_check_exitcode
endif
endif
if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "") if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId$ + "] DisplayName") = "")
comment "MSI id " + $MsiId$ + " found in registry, starting msiexec to uninstall" comment "MSI id " + $MsiId$ + " found in registry, starting msiexec to uninstall"
Winbatch_uninstall_msi Winbatch_uninstall_msi
@ -23,14 +36,16 @@ Registry_uninstall /32Bit
comment "Delete program shortcuts" comment "Delete program shortcuts"
LinkFolder_uninstall LinkFolder_uninstall
[Winbatch_uninstall_msi_old]
"%SystemDrive%\MSOCache\All Users\$MsiIdOld$-C\setup.exe" /config %ScriptPath%\config.xml /uninstall SmallBusinessr
[Winbatch_uninstall_msi] [Winbatch_uninstall_msi]
;msiexec /x $MsiId$ /qb! REBOOT=ReallySuppress
"%SystemDrive%\MSOCache\All Users\$MsiId$-C\setup.exe" /config %ScriptPath%\config.xml /uninstall SmallBusinessr "%SystemDrive%\MSOCache\All Users\$MsiId$-C\setup.exe" /config %ScriptPath%\config.xml /uninstall SmallBusinessr
[Files_uninstall] [Files_uninstall]
; Example for recursively deleting the installation directory (don't forget the trailing backslash): ; Example for recursively deleting the installation directory:
; ;
; delete -sf "$InstallDir$\" ; del -sf "$InstallDir$\"
[Registry_uninstall] [Registry_uninstall]
; Example of deleting a registry key: ; Example of deleting a registry key:

24
CLIENT_DATA/login.ins Normal file
View File

@ -0,0 +1,24 @@
; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/en/credits/
[Actions]
Message "Profile Patch for VLC ...."
comment "Did we run this script before ? - and set version stamp in profile"
if getValue("installationstate", getProductMap) = "installed"
comment "Product is installed"
if not (scriptWasExecutedBefore)
comment "loginscript was not run yet "
Files_profile_copy
Registry_currentuser_set
endif
endif
[Files_profile_copy]
copy "%Scriptpath%\profiles\*.*" "%CurrentAppdataDir%\ACME"
[Registry_currentuser_set]
openkey [HKCU\Software\ACME]
set "show_greeting_window" = "no"

View File

@ -0,0 +1,6 @@
[X86]
MsiId={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
[COMMON]
PN=name
VERSION=version

View File

@ -1,12 +1,14 @@
; Copyright (c) uib gmbh (www.uib.de) ; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib ; This sourcecode is owned by uib
; and published under the Terms of the General Public License. ; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/credits/ ; credits: http://www.opsi.org/en/credits/
[Actions] [Actions]
requiredWinstVersion >= "4.10.8.6" requiredWinstVersion >= "4.11.2.6"
DefVar $MsiId$ DefVar $MsiIdOld$
DefVar $IniFile$
DefVar $IniCfgFile$
DefVar $LogDir$ DefVar $LogDir$
DefVar $ProductId$ DefVar $ProductId$
DefVar $MinimumSpace$ DefVar $MinimumSpace$
@ -15,6 +17,9 @@ DefVar $ExitCode$
DefVar $LicenseRequired$ DefVar $LicenseRequired$
DefVar $LicenseKey$ DefVar $LicenseKey$
DefVar $LicensePool$ DefVar $LicensePool$
DefVar $OLD_VERSION$
DefVar $OLD_CREATOR_TAG$
DefVar $OLD_RELEASE$
Set $LogDir$ = "%SystemDrive%\tmp" Set $LogDir$ = "%SystemDrive%\tmp"
@ -34,34 +39,38 @@ Set $LogDir$ = "%SystemDrive%\tmp"
;$ProductId$ should be the name of the product in opsi ;$ProductId$ should be the name of the product in opsi
; therefore please: only lower letters, no umlauts, ; therefore please: only lower letters, no umlauts,
; no white space use '-' as a seperator ; no white space use '-' as a seperator
Set $ProductId$ = "microsoft.office2007"
Set $MinimumSpace$ = "1500 MB" Set $MinimumSpace$ = "1500 MB"
; the path were we find the product after the installation ; the path were we find the product after the installation
Set $InstallDir$ = "%ProgramFiles32Dir%\Microsoft Office" Set $InstallDir$ = "%ProgramFiles32Dir%\Microsoft Office\Office12"
Set $LicenseRequired$ = "true" Set $LicenseRequired$ = "true"
Set $LicensePool$ = "p_" + $ProductId$ Set $LicensePool$ = "p_" + $ProductId$
; ---------------------------------------------------------------- ; ----------------------------------------------------------------
Set $IniCfgFile$ = "%ScriptPath%\opsi-" + $ProductId$ + ".ini"
if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$)) if not(HasMinimumSpace ("%SystemDrive%", $MinimumSpace$))
LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$ LogError "Not enough space on %SystemDrive%, " + $MinimumSpace$ + " on drive %SystemDrive% needed for " + $ProductId$
isFatalError isFatalError "No Space"
; Stop process and set installation status to failed ; Stop process and set installation status to failed
else else
comment "Show product picture" comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $NAME$
if FileExists("%ScriptPath%\delsub32.ins") if FileExists("%ScriptPath%\delsub32.ins")
comment "Start uninstall sub section" comment "Start uninstall sub section"
Sub "%ScriptPath%\delsub32.ins" Sub "%ScriptPath%\delsub32.ins"
endif endif
Message "Installing " + $ProductId$ + " ..." Message "Installing " + $ProductId$ + " "+ $VERSION$ + "-" + $CREATOR_TAG$ + $RELEASE$ + " ..."
if $LicenseRequired$ = "true" if $LicenseRequired$ = "true"
comment "Licensing required, reserve license and get license key" comment "Licensing required, reserve license and get license key"
Sub_get_licensekey Sub_get_licensekey
endif endif
comment "Remove Install Files"
Winbatch_remove
comment "Extract Office" comment "Extract Office"
Winbatch_extract Winbatch_extract
Sub_check_exitcode Sub_check_exitcode
@ -82,6 +91,11 @@ else
Winbatch_remove Winbatch_remove
Sub_check_exitcode Sub_check_exitcode
comment "Start setup program"
ChangeDirectory "%SCRIPTPATH%"
Winbatch_install
Sub_check_exitcode
comment "Copy files" comment "Copy files"
Files_install /32Bit Files_install /32Bit
@ -91,15 +105,6 @@ else
comment "Create shortcuts" comment "Create shortcuts"
LinkFolder_install LinkFolder_install
comment "Test for installation success"
; Test if software marked as installed in registry
; if (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}] DisplayName") = "")
; logError "Fatal: After Installation 32 bit [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}] not found"
; isFatalError
; else
; comment "Successful Installation"
; endif
endif endif
[Winbatch_extract] [Winbatch_extract]
@ -118,6 +123,9 @@ xml ed -O -u "/Configuration/PIDKEY/@Value" -v $LicenseKey$ -u "/Configuration/U
delete -sf "$LogDir$\msoffice2007\" delete -sf "$LogDir$\msoffice2007\"
[Files_install] [Files_install]
; copy the ini file to the InstallDir
copy "$IniCfgFile$" "$InstallDir$"
; Example of recursively copying some files into the installation directory: ; Example of recursively copying some files into the installation directory:
; ;
; copy -s "%ScriptPath%\files\*.*" "$InstallDir$" ; copy -s "%ScriptPath%\files\*.*" "$InstallDir$"

View File

@ -1,18 +1,23 @@
; Copyright (c) uib gmbh (www.uib.de) ; Copyright (c) uib gmbh (www.uib.de)
; This sourcecode is owned by uib gmbh ; This sourcecode is owned by uib gmbh
; and published under the Terms of the General Public License. ; and published under the Terms of the General Public License.
; credits: http://www.opsi.org/credits/ ; credits: http://www.opsi.org/en/credits/
[Actions] [Actions]
requiredWinstVersion >= "4.10.8.6" requiredWinstVersion >= "4.11.2.6"
DefVar $MsiId$ DefVar $MsiIdOld$
DefVar $IniFile$
DefVar $IniCfgFile$
DefVar $LogDir$ DefVar $LogDir$
DefVar $ExitCode$ DefVar $ExitCode$
DefVar $ProductId$ DefVar $ProductId$
DefVar $InstallDir$ DefVar $InstallDir$
DefVar $LicenseRequired$ DefVar $LicenseRequired$
DefVar $LicensePool$ DefVar $LicensePool$
DefVar $OLD_VERSION$
DefVar $OLD_CREATOR_TAG$
DefVar $OLD_RELEASE$
Set $LogDir$ = "%SystemDrive%\tmp" Set $LogDir$ = "%SystemDrive%\tmp"
@ -29,15 +34,15 @@ Set $LogDir$ = "%SystemDrive%\tmp"
; ---------------------------------------------------------------- ; ----------------------------------------------------------------
; - Please edit the following values - ; - Please edit the following values -
; ---------------------------------------------------------------- ; ----------------------------------------------------------------
Set $ProductId$ = "microosft.office2007" Set $InstallDir$ = "%ProgramFiles32Dir%\Microsoft Office\Office12"
Set $InstallDir$ = "%ProgramFiles32Dir%\Microsoft Office"
Set $LicenseRequired$ = "true" Set $LicenseRequired$ = "true"
Set $LicensePool$ = "p_" + $ProductId$ Set $LicensePool$ = "p_" + $ProductId$
; ---------------------------------------------------------------- ; ----------------------------------------------------------------
Set $IniCfgFile$ = "%ScriptPath%\opsi-" + $ProductId$ + ".ini"
comment "Show product picture" comment "Show product picture"
ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $ProductId$ ShowBitmap "%ScriptPath%\" + $ProductId$ + ".png" $NAME$
Message "Uninstalling " + $ProductId$ + " ..." Message "Uninstalling " + $ProductId$ + " ..."
@ -52,7 +57,6 @@ if $LicenseRequired$ = "true"
endif endif
[Sub_free_license] [Sub_free_license]
if opsiLicenseManagementEnabled
comment "License management is enabled and will be used" comment "License management is enabled and will be used"
comment "Trying to free license used for the product" comment "Trying to free license used for the product"
@ -65,10 +69,4 @@ if opsiLicenseManagementEnabled
; DefVar $WindowsSoftwareId$ ; DefVar $WindowsSoftwareId$
; $WindowsSoftwareId$ = "..." ; $WindowsSoftwareId$ = "..."
; set $result$ = FreeLicense("", "", $WindowsSoftwareId$) ; set $result$ = FreeLicense("", "", $WindowsSoftwareId$)
else
LogError "Error: licensing required, but license management not enabled"
isFatalError
endif

View File

@ -21,15 +21,6 @@ onceScript:
customScript: customScript:
userLoginScript: userLoginScript:
[ProductProperty]
type: unicode
name: install_architecture
multivalue: False
editable: False
description: which architecture (32/64 bit) has to be installed
values: ["32 only", "64 only", "both", "system specific"]
default: ["system specific"]
[ProductDependency] [ProductDependency]
action: setup action: setup
requiredProduct: sourceforge.xmlstarlet requiredProduct: sourceforge.xmlstarlet

View File

@ -3,6 +3,8 @@
############################ ############################
VENDOR="microsoft.com" VENDOR="microsoft.com"
PN="microsoft.office2007" PN="microsoft.office2007"
NAME="Microsoft Office 2007"
DESCRIPTION="Microsoft Office 2007 ist ein Office-Paket von Microsoft aus der Microsoft-Office-Serie."
VERSION="2007.3" VERSION="2007.3"
RELEASE="3" RELEASE="3"
PRIORITY="0" PRIORITY="0"
@ -27,3 +29,6 @@ DL_WINST_NAME[2]=InstallSp3Exe
# File array index for the image showing while installing the program # File array index for the image showing while installing the program
ICON_DL_INDEX=0 ICON_DL_INDEX=0
OPSI_INI_SECTION[0]="X86"
OPSI_INI_OPTION[0]="MsiId"
OPSI_INI_VALUE[0]="{91120000-00CA-0000-0000-0000000FF1CE}"