source: opsi/products/virtualbox-guest-tools/CLIENT_DATA/delsub3264.ins@ 1248

Last change on this file since 1248 was 1026, checked in by joergs, on Jul 4, 2012 at 7:18:23 PM

initial

File size: 4.9 KB
Line 
1; Copyright (c) uib gmbh (www.uib.de)
2; This sourcecode is owned by uib gmbh
3; and published under the Terms of the General Public License.
4; credits: http://www.opsi.org/en/credits/
5
6
7Set $MsiId32$ = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'
8Set $UninstallProgram32$ = $InstallDir32$ + "\uninstall.exe"
9
10Set $MsiId64$ = '{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}'
11Set $UninstallProgram64$ = $InstallDir64$ + "\uninstall.exe"
12
13if (($INST_SystemType$ = "x86 System") and ($INST_architecture$ = "system specific")) or ($INST_architecture$ = "both") or ($INST_architecture$ = "32 only")
14 Message "Uninstalling " + $ProductId$ + " 32 Bit..."
15
16 if FileExists($UninstallProgram32$)
17 comment "Uninstall program found, starting uninstall"
18 Winbatch_uninstall_32
19 sub_check_exitcode
20 endif
21
22 if not (GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId32$ + "] DisplayName") = "")
23 comment "MSI id " + $MsiId32$ + " found in registry, starting msiexec to uninstall"
24 Winbatch_uninstall_msi_32
25 sub_check_exitcode
26 endif
27
28 comment "Delete files"
29 Files_uninstall_32 /32Bit
30 comment "Cleanup registry"
31 Registry_uninstall /32Bit
32endif
33
34if ($INST_SystemType$ = "64 Bit System") and (($INST_architecture$ = "system specific") or ($INST_architecture$ = "both") or ($INST_architecture$ = "64 only"))
35 Message "Uninstalling " + $ProductId$ + " 64 Bit..."
36
37 if FileExists($UninstallProgram64$)
38 comment "Uninstall program found, starting uninstall"
39 Winbatch_uninstall_64
40 sub_check_exitcode
41 endif
42
43 if not (GetRegistryStringValue64("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $MsiId64$ + "] DisplayName") = "")
44 comment "MSI id " + $MsiId64$ + " found in registry, starting msiexec to uninstall"
45 Winbatch_uninstall_msi_64
46 sub_check_exitcode
47 endif
48
49 comment "Delete files"
50 Files_uninstall_64 /64Bit
51 comment "Cleanup registry"
52 Registry_uninstall /64Bit
53endif
54
55comment "Delete program shortcuts"
56LinkFolder_uninstall
57
58[Winbatch_uninstall_32]
59; Choose one of the following examples as basis for program uninstall
60;
61; === Nullsoft Scriptable Install System ================================================================
62; "$UninstallProgram32$" /S
63;
64; === Inno Setup ========================================================================================
65; "$UninstallProgram32$" /silent /norestart /SUPPRESSMSGBOXES /nocancel
66
67
68[Winbatch_uninstall_msi_32]
69msiexec /x $MsiId32$ /qb! REBOOT=ReallySuppress
70
71[Files_uninstall_32]
72; Example for recursively deleting the installation directory (don't forget the trailing backslash):
73;
74; delete -sf "$InstallDir32$\"
75
76[Winbatch_uninstall_64]
77; Choose one of the following examples as basis for program uninstall
78;
79; === Nullsoft Scriptable Install System ================================================================
80; "$UninstallProgram64$" /S
81;
82; === Inno Setup ========================================================================================
83; "$UninstallProgram64$" /silent /norestart /SUPPRESSMSGBOXES /nocancel
84
85
86[Winbatch_uninstall_msi_64]
87msiexec /x $MsiId64$ /qb! REBOOT=ReallySuppress
88
89[Files_uninstall_64]
90; Example for recursively deleting the installation directory (don't forget the trailing backslash):
91;
92; delete -sf "$InstallDir64$\"
93
94[Registry_uninstall]
95; Example of deleting a registry key:
96;
97; deletekey [HKEY_LOCAL_MACHINE\Software\$ProductId$]
98
99[LinkFolder_uninstall]
100; Example of deleting a folder from AllUsers startmenu:
101;
102; set_basefolder common_programs
103; delete_subfolder $ProductId$
104;
105; Example of deleting a shortcut from AllUsers desktop:
106;
107; set_basefolder common_desktopdirectory
108; set_subfolder ""
109; delete_element $ProductId$
110
111[Sub_check_exitcode]
112comment "Test for installation success via exit code"
113set $ExitCode$ = getLastExitCode
114; informations to exit codes see
115; http://msdn.microsoft.com/en-us/library/aa372835(VS.85).aspx
116; http://msdn.microsoft.com/en-us/library/aa368542.aspx
117if ($ExitCode$ = "0")
118 comment "Looks good: setup program gives exitcode zero"
119else
120 comment "Setup program gives a exitcode unequal zero: " + $ExitCode$
121 if ($ExitCode$ = "1605")
122 comment "ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed."
123 comment "Uninstall of a not installed product failed - no problem"
124 else
125 if ($ExitCode$ = "1641")
126 comment "looks good: setup program gives exitcode 1641"
127 comment "ERROR_SUCCESS_REBOOT_INITIATED 1641 The installer has initiated a restart. This message is indicative of a success."
128 else
129 if ($ExitCode$ = "3010")
130 comment "looks good: setup program gives exitcode 3010"
131 comment "ERROR_SUCCESS_REBOOT_REQUIRED 3010 A restart is required to complete the install. This message is indicative of a success."
132 else
133 logError "Fatal: Setup program gives an unknown exitcode unequal zero: " + $ExitCode$
134 isFatalError
135 endif
136 endif
137 endif
138endif
139
Note: See TracBrowser for help on using the repository browser.