VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsUninstallOld.nsh@ 109138

Last change on this file since 109138 was 109138, checked in by vboxsync, 8 days ago

Windows Additions installer: Got rid of the ancient servicepack.nsh + winver.nsh and use the official (included with NSIS) WinVer.nsh (in Include\WinVer.nsh). This also makes use if the ${AtLeastWinXXX} macros and stuff to improve code readability.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 16.2 KB
Line 
1; $Id: VBoxGuestAdditionsUninstallOld.nsh 109138 2025-05-02 15:54:09Z vboxsync $
2;; @file
3; VBoxGuestAdditionsUninstallOld.nsh - Guest Additions uninstallation and migration handling
4; for older Guest Additions and legacy (Sun [xVM] / innotek) packages.
5;
6
7;
8; Copyright (C) 2006-2024 Oracle and/or its affiliates.
9;
10; This file is part of VirtualBox base platform packages, as
11; available from https://www.virtualbox.org.
12;
13; This program is free software; you can redistribute it and/or
14; modify it under the terms of the GNU General Public License
15; as published by the Free Software Foundation, in version 3 of the
16; License.
17;
18; This program is distributed in the hope that it will be useful, but
19; WITHOUT ANY WARRANTY; without even the implied warranty of
20; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21; General Public License for more details.
22;
23; You should have received a copy of the GNU General Public License
24; along with this program; if not, see <https://www.gnu.org/licenses>.
25;
26; SPDX-License-Identifier: GPL-3.0-only
27;
28
29!if $%KBUILD_TARGET_ARCH% != "arm64" ; Not needed for arm64.
30!macro Uninstall_WipeInstallationDirectory un
31;;
32; Wipes the installation directory (recursively).
33;
34; Only used for wiping (Intel-based) legacy installations (innotek, Sun, Sun xVM).
35;
36; Input:
37; Stack[0]: Installation directory to wipe.
38; Output:
39; Stack[0}: Return code. 0 means success.
40;
41Function ${un}Uninstall_WipeInstallationDirectory
42
43 Pop $0
44 Push $1
45 Push $2
46
47 ; Do some basic sanity checks for not screwing up too fatal ...
48 ${LogVerbose} "Removing old installation directory ($0) ..."
49 ${If} $0 != $PROGRAMFILES
50 ${AndIf} $0 != $PROGRAMFILES32
51 ${AndIf} $0 != $PROGRAMFILES64
52 ${AndIf} $0 != $COMMONFILES32
53 ${AndIf} $0 != $COMMONFILES64
54 ${AndIf} $0 != $WINDIR
55 ${AndIf} $0 != $SYSDIR
56 ${LogVerbose} "Wiping ($0) ..."
57 Goto wipe
58 ${EndIf}
59 Goto wipe_abort
60
61wipe:
62
63 RMDir /r /REBOOTOK "$0"
64 StrCpy $0 0 ; All went well.
65 Goto exit
66
67wipe_abort:
68
69 ${LogVerbose} "Won't remove directory ($0)!"
70 StrCpy $0 1 ; Signal some failure.
71 Goto exit
72
73exit:
74
75 Pop $2
76 Pop $1
77 Push $0
78
79FunctionEnd
80!macroend
81!insertmacro Uninstall_WipeInstallationDirectory ""
82
83
84!ifndef UNINSTALLER_ONLY
85!macro Uninstall_Before7_2 un
86;;
87; Uninstalls all files of a < 7.2 Guest Additions installation.
88;
89; These were stored in a "flat" hierarchy directly in the installation directory,
90; which made it impossible to tell which files belong to which component.
91;
92; This also will be run when installing 7.2 Guest Additions to clean things up.
93; Only needed for Intel-based installations (arm64 got introduced in 7.2).
94;
95; Input:
96; None
97; Output:
98; None
99;
100Function ${un}Uninstall_Before7_2
101
102 Delete /REBOOTOK "$INSTDIR\VBoxVideo.sys"
103 Delete /REBOOTOK "$INSTDIR\VBoxVideo.inf"
104 Delete /REBOOTOK "$INSTDIR\VBoxVideo.cat"
105 Delete /REBOOTOK "$INSTDIR\VBoxVideoEarlyNT.inf"
106 Delete /REBOOTOK "$INSTDIR\VBoxVideoEarlyNT.cat"
107 Delete /REBOOTOK "$INSTDIR\VBoxDisp.dll"
108
109 Delete /REBOOTOK "$INSTDIR\VBoxMouse.sys"
110 Delete /REBOOTOK "$INSTDIR\VBoxMouse.inf"
111 Delete /REBOOTOK "$INSTDIR\VBoxMouse.cat"
112
113 Delete /REBOOTOK "$INSTDIR\VBoxTray.exe"
114
115 Delete /REBOOTOK "$INSTDIR\VBoxGuest.sys"
116 Delete /REBOOTOK "$INSTDIR\VBoxGuest.inf"
117 Delete /REBOOTOK "$INSTDIR\VBoxGuest.cat"
118 Delete /REBOOTOK "$INSTDIR\VBoxGuestEarlyNT.inf"
119 Delete /REBOOTOK "$INSTDIR\VBoxGuestEarlyNT.cat"
120
121 Delete /REBOOTOK "$INSTDIR\VBCoInst.dll" ; Deprecated, does not get installed anymore.
122 Delete /REBOOTOK "$INSTDIR\VBoxControl.exe"
123 Delete /REBOOTOK "$INSTDIR\VBoxService.exe"
124 Delete /REBOOTOK "$INSTDIR\VBoxWHQLFake.exe"; Removed in r152293 (runup to 7.0).
125 Delete /REBOOTOK "$INSTDIR\VBoxICD.dll" ; Removed in r151892 (runup to 7.0).
126
127!if $%VBOX_WITH_WDDM% == "1"
128 Delete /REBOOTOK "$INSTDIR\VBoxWddm.cat"
129 Delete /REBOOTOK "$INSTDIR\VBoxWddm.sys"
130 Delete /REBOOTOK "$INSTDIR\VBoxWddm.inf"
131 ; Obsolete files begin
132 Delete /REBOOTOK "$INSTDIR\VBoxVideoWddm.cat"
133 Delete /REBOOTOK "$INSTDIR\VBoxVideoWddm.sys"
134 Delete /REBOOTOK "$INSTDIR\VBoxVideoWddm.inf"
135 Delete /REBOOTOK "$INSTDIR\VBoxVideoW8.cat"
136 Delete /REBOOTOK "$INSTDIR\VBoxVideoW8.sys"
137 Delete /REBOOTOK "$INSTDIR\VBoxVideoW8.inf"
138 ; Obsolete files end
139 Delete /REBOOTOK "$INSTDIR\VBoxDispD3D.dll"
140 !if $%VBOX_WITH_WDDM_DX% == "1"
141 Delete /REBOOTOK "$INSTDIR\VBoxDX.dll"
142 !endif
143 !if $%VBOX_WITH_MESA3D% == "1"
144 Delete /REBOOTOK "$INSTDIR\VBoxNine.dll"
145 Delete /REBOOTOK "$INSTDIR\VBoxSVGA.dll"
146 Delete /REBOOTOK "$INSTDIR\VBoxICD.dll"
147 Delete /REBOOTOK "$INSTDIR\VBoxGL.dll"
148 !endif
149
150 Delete /REBOOTOK "$INSTDIR\VBoxD3D9wddm.dll"
151 Delete /REBOOTOK "$INSTDIR\wined3dwddm.dll"
152 ; Try to delete libWine in case it is there from old installation.
153 Delete /REBOOTOK "$INSTDIR\libWine.dll"
154
155 !if $%KBUILD_TARGET_ARCH% == "amd64"
156 Delete /REBOOTOK "$INSTDIR\VBoxDispD3D-x86.dll"
157 !if $%VBOX_WITH_WDDM_DX% == "1"
158 Delete /REBOOTOK "$INSTDIR\VBoxDX-x86.dll"
159 !endif
160 !if $%VBOX_WITH_MESA3D% == "1"
161 Delete /REBOOTOK "$INSTDIR\VBoxNine-x86.dll"
162 Delete /REBOOTOK "$INSTDIR\VBoxSVGA-x86.dll"
163 Delete /REBOOTOK "$INSTDIR\VBoxICD-x86.dll"
164 Delete /REBOOTOK "$INSTDIR\VBoxGL-x86.dll"
165 !endif
166
167 Delete /REBOOTOK "$INSTDIR\VBoxD3D9wddm-x86.dll"
168 Delete /REBOOTOK "$INSTDIR\wined3dwddm-x86.dll"
169 !endif ; $%KBUILD_TARGET_ARCH% == "amd64"
170!endif ; $%VBOX_WITH_WDDM% == "1"
171
172 Delete /REBOOTOK "$INSTDIR\RegCleanup.exe" ; Obsolete since r165894 (see #10799).
173 Delete /REBOOTOK "$INSTDIR\VBoxDrvInst.exe"
174 Delete /REBOOTOK "$INSTDIR\VBoxGuestInstallHelper.exe"
175
176 Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" ; Old name. Changed to Website.url in r153663.
177 Delete "$DESKTOP\${PRODUCT_NAME}.lnk" ; Obsolete. We don't install a desktop link any more.
178
179FunctionEnd
180!macroend
181!insertmacro Uninstall_Before7_2 ""
182!endif ; UNINSTALLER_ONLY
183!endif ; $%KBUILD_TARGET_ARCH% != "arm64"
184
185
186!if $%KBUILD_TARGET_ARCH% != "arm64" ; Not needed for arm64.
187!macro Uninstall_Sun un
188;;
189; Function to clean up an old Sun (pre-Oracle) installation.
190;
191; Input:
192; None
193; Output:
194; None
195;
196Function ${un}Uninstall_Sun
197
198 Push $0
199 Push $1
200 Push $2
201
202 ; Get current installation path.
203 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sun VirtualBox Guest Additions" "UninstallString"
204 StrCmp $0 "" exit
205
206 ; Extract path.
207 ; Param "$1" ; Result string
208 ; Param "$0" ; String
209 ; Param "\" ; SubString
210 ; Param "<" ; SearchDirection
211 ; Param "<" ; StrInclusionDirection
212 ; Param "0" ; IncludeSubString
213 ; Param "0" ; Loops
214 ; Param "0" ; CaseSensitive
215 ${${un}StrStrAdv} "$1" "$0" "\" "<" "<" "0" "0" "0"
216
217 StrCmp $1 "" exit
218
219 ; Save current i8042prt info to new uninstall registry path.
220 ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Sun VirtualBox Guest Additions" "${REGISTRY_VAL_ORG_MOUSE_PATH}"
221 WriteRegStr HKLM "${REGISTRY_KEY_UNINST_PRODUCT}" "${REGISTRY_VAL_ORG_MOUSE_PATH}" $0
222
223 ; Try to wipe current installation directory.
224 Push $1 ; Push uninstaller path to stack.
225 Call ${un}Uninstall_WipeInstallationDirectory
226 Pop $2 ; Get uninstaller exit code from stack
227 StrCmp $2 0 common exit ; Only process common part if exit code is 0, otherwise exit.
228
229common:
230
231 ; Make sure everything is cleaned up in case the old uninstaller did forget something.
232 DeleteRegKey HKLM "SOFTWARE\Sun\VirtualBox Guest Additions"
233 DeleteRegKey /ifempty HKLM "SOFTWARE\Sun"
234 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Sun VirtualBox Guest Additions"
235 Delete /REBOOTOK "$1\netamd.inf"
236 Delete /REBOOTOK "$1\pcntpci5.cat"
237 Delete /REBOOTOK "$1\PCNTPCI5.sys"
238
239 ; Try to remove old installation directory if empty.
240 RMDir /r /REBOOTOK "$SMPROGRAMS\Sun VirtualBox Guest Additions"
241 RMDir /REBOOTOK "$1"
242
243 ; Get original mouse driver info and restore it.
244 ;ReadRegStr $0 "${REGISTRY_KEY_UNINST_ROOT}" "${REGISTRY_KEY_UNINST_PRODUCT}" "${REGISTRY_VAL_ORG_MOUSE_PATH}"
245 ;WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\i8042prt" "ImagePath" $0
246 ;Delete "$SYSDIR\drivers\VBoxMouseNT.sys"
247
248 ; Delete vendor installation directory (only if completely empty)
249!if $%KBUILD_TARGET_ARCH% == "x86"
250 RMDir /REBOOTOK "$PROGRAMFILES32\Sun"
251!else ; 64-bit
252 RMDir /REBOOTOK "$PROGRAMFILES64\Sun"
253!endif
254
255exit:
256
257 Pop $2
258 Pop $1
259 Pop $0
260
261FunctionEnd
262!macroend
263!insertmacro Uninstall_Sun ""
264
265
266!macro Uninstall_SunXVM un
267;;
268; Function to clean up an old Sun xVM installation.
269;
270; Input:
271; None
272; Output:
273; None
274;
275Function ${un}Uninstall_SunXVM
276
277 Push $0
278 Push $1
279 Push $2
280
281 ; Get current installation path.
282 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sun xVM VirtualBox Guest Additions" "UninstallString"
283 StrCmp $0 "" exit
284
285 ; Extract path.
286 ; Param "$1" ; Result string
287 ; Param "$0" ; String
288 ; Param "\" ; SubString
289 ; Param "<" ; SearchDirection
290 ; Param "<" ; StrInclusionDirection
291 ; Param "0" ; IncludeSubString
292 ; Param "0" ; Loops
293 ; Param "0" ; CaseSensitive
294 ${${un}StrStrAdv} "$1" "$0" "\" "<" "<" "0" "0" "0"
295 StrCmp $1 "" exit
296
297 ; Save current i8042prt info to new uninstall registry path.
298 ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Sun xVM VirtualBox Guest Additions" ${REGISTRY_VAL_ORG_MOUSE_PATH}
299 WriteRegStr HKLM "${REGISTRY_KEY_UNINST_PRODUCT}" ${REGISTRY_VAL_ORG_MOUSE_PATH} $0
300
301 ; Try to wipe current installation directory.
302 Push $1 ; Push uninstaller path to stack.
303 Call ${un}Uninstall_WipeInstallationDirectory
304 Pop $2 ; Get uninstaller exit code from stack.
305 StrCmp $2 0 common exit ; Only process common part if exit code is 0, otherwise exit.
306
307common:
308
309 ; Make sure everything is cleaned up in case the old uninstaller did forget something.
310 DeleteRegKey HKLM "SOFTWARE\Sun\xVM VirtualBox Guest Additions"
311 DeleteRegKey /ifempty HKLM "SOFTWARE\Sun"
312 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Sun xVM VirtualBox Guest Additions"
313 Delete /REBOOTOK "$1\netamd.inf"
314 Delete /REBOOTOK "$1\pcntpci5.cat"
315 Delete /REBOOTOK "$1\PCNTPCI5.sys"
316
317 ; Try to remove old installation directory if empty.
318 RMDir /r /REBOOTOK "$SMPROGRAMS\Sun xVM VirtualBox Guest Additions"
319 RMDir /REBOOTOK "$1"
320
321 ; Delete vendor installation directory (only if completely empty).
322!if $%KBUILD_TARGET_ARCH% == "x86"
323 RMDir /REBOOTOK "$PROGRAMFILES32\Sun"
324!else
325 RMDir /REBOOTOK "$PROGRAMFILES64\Sun"
326!endif
327
328 ; Get original mouse driver info and restore it.
329 ;ReadRegStr $0 "${REGISTRY_KEY_UNINST_ROOT}" "${REGISTRY_KEY_UNINST_PRODUCT}" "${REGISTRY_VAL_ORG_MOUSE_PATH}"
330 ;WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\i8042prt" "ImagePath" $0
331 ;Delete "$SYSDIR\drivers\VBoxMouseNT.sys"
332
333exit:
334
335 Pop $2
336 Pop $1
337 Pop $0
338
339FunctionEnd
340!macroend
341!insertmacro Uninstall_SunXVM ""
342
343
344!macro Uninstall_Innotek un
345;;
346; Function to clean up an old innotek installation.
347;
348; Input:
349; None
350; Output:
351; None
352;
353Function ${un}Uninstall_Innotek
354
355 Push $0
356 Push $1
357 Push $2
358
359 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\innotek VirtualBox Guest Additions" "UninstallString"
360 StrCmp $0 "" exit
361
362 ; Extract path.
363 ; Param "$1" ; Result string
364 ; Param "$0" ; String
365 ; Param "\" ; SubString
366 ; Param "<" ; SearchDirection
367 ; Param "<" ; StrInclusionDirection
368 ; Param "0" ; IncludeSubString
369 ; Param "0" ; Loops
370 ; Param "0" ; CaseSensitive
371 ${${un}StrStrAdv} "$1" "$0" "\" "<" "<" "0" "0" "0"
372 StrCmp $1 "" exit
373
374 ; Save current i8042prt info to new uninstall registry path.
375 ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\innotek VirtualBox Guest Additions" "${REGISTRY_VAL_ORG_MOUSE_PATH}"
376 WriteRegStr HKLM "${REGISTRY_KEY_UNINST_PRODUCT}" "${REGISTRY_VAL_ORG_MOUSE_PATH}" $0
377
378 ; Try to wipe current installation directory.
379 Push $1 ; Push uninstaller path to stack.
380 Call ${un}Uninstall_WipeInstallationDirectory
381 Pop $2 ; Get uninstaller exit code from stack.
382 StrCmp $2 0 common exit ; Only process common part if exit code is 0, otherwise exit.
383
384common:
385
386 ; Remove left over files which were not entirely cached by the formerly running uninstaller.
387 DeleteRegKey HKLM "SOFTWARE\innotek\VirtualBox Guest Additions"
388 DeleteRegKey HKLM "SOFTWARE\innotek"
389 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\innotek VirtualBox Guest Additions"
390 Delete /REBOOTOK "$1\VBoxGuestDrvInst.exe"
391 Delete /REBOOTOK "$1\VBoxMouseInst.exe"
392 Delete /REBOOTOK "$1\VBoxSFDrvInst.exe"
393 Delete /REBOOTOK "$1\RegCleanup.exe"
394 Delete /REBOOTOK "$1\VBoxService.exe"
395 Delete /REBOOTOK "$1\VBoxMouseInst.exe"
396 Delete /REBOOTOK "$1\innotek VirtualBox Guest Additions.url"
397 Delete /REBOOTOK "$1\uninst.exe"
398 Delete /REBOOTOK "$1\iexplore.ico"
399 Delete /REBOOTOK "$1\install.log"
400 Delete /REBOOTOK "$1\VBCoInst.dll"
401 Delete /REBOOTOK "$1\VBoxControl.exe"
402 Delete /REBOOTOK "$1\VBoxDisp.dll"
403 Delete /REBOOTOK "$1\VBoxGINA.dll"
404 Delete /REBOOTOK "$1\VBoxGuest.cat"
405 Delete /REBOOTOK "$1\VBoxGuest.inf"
406 Delete /REBOOTOK "$1\VBoxGuest.sys"
407 Delete /REBOOTOK "$1\VBoxMouse.inf"
408 Delete /REBOOTOK "$1\VBoxMouse.sys"
409 Delete /REBOOTOK "$1\VBoxVideo.cat"
410 Delete /REBOOTOK "$1\VBoxVideo.inf"
411 Delete /REBOOTOK "$1\VBoxVideo.sys"
412
413 ; Try to remove old installation directory if empty.
414 RMDir /r /REBOOTOK "$SMPROGRAMS\innotek VirtualBox Guest Additions"
415 RMDir /REBOOTOK "$1"
416
417 ; Delete vendor installation directory (only if completely empty).
418!if $%KBUILD_TARGET_ARCH% == "x86" ; 32-bit
419 RMDir /REBOOTOK "$PROGRAMFILES32\innotek"
420!else ; 64-bit
421 RMDir /REBOOTOK "$PROGRAMFILES64\innotek"
422!endif
423
424 ; Get original mouse driver info and restore it.
425 ;ReadRegStr $0 "${REGISTRY_KEY_UNINST_ROOT}" "${REGISTRY_KEY_UNINST_PRODUCT}" "${REGISTRY_VAL_ORG_MOUSE_PATH}"
426 ;WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\i8042prt" "ImagePath" $0
427 ;Delete "$SYSDIR\drivers\VBoxMouseNT.sys".
428
429exit:
430
431 Pop $2
432 Pop $1
433 Pop $0
434
435FunctionEnd
436!macroend
437!insertmacro Uninstall_Innotek ""
438
439
440;;
441; Handles uninstallation of legacy Guest Additions and/or performs necessary migration steps.
442;
443; Input:
444; None
445; Output:
446; None
447;
448Function HandleOldGuestAdditions
449
450 Push $0
451 Push $1
452 Push $2
453
454 ${LogVerbose} "Checking for old Guest Additions ..."
455
456 ; Check for old "Sun VirtualBox Guest Additions"
457 ; - before rebranding to Oracle
458 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sun VirtualBox Guest Additions" "UninstallString"
459 ${If} $0 == ""
460 goto sun_xvm_check ; If string is empty, Sun additions are probably not installed (anymore)
461 ${EndIf}
462
463 MessageBox MB_YESNO $(VBOX_SUN_FOUND) /SD IDYES IDYES sun_uninstall
464 Pop $2
465 Pop $1
466 Pop $0
467 MessageBox MB_ICONSTOP $(VBOX_SUN_ABORTED) /SD IDOK
468 Quit
469
470sun_uninstall:
471
472 Call Uninstall_Sun
473 Goto migration_check
474
475sun_xvm_check:
476
477 ; Check for old "Sun xVM VirtualBox Guest Additions"
478 ; - before getting rid of the "xVM" namespace
479 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Sun xVM VirtualBox Guest Additions" "UninstallString"
480 ${If} $0 == ""
481 goto innotek_check ; If string is empty, Sun xVM additions are probably not installed (anymore).
482 ${EndIf}
483
484 MessageBox MB_YESNO $(VBOX_SUN_FOUND) /SD IDYES IDYES sun_xvm_uninstall
485 Pop $2
486 Pop $1
487 Pop $0
488 MessageBox MB_ICONSTOP $(VBOX_SUN_ABORTED) /SD IDOK
489 Quit
490
491sun_xvm_uninstall:
492
493 Call Uninstall_SunXVM
494 Goto migration_check
495
496innotek_check:
497
498 ; Check for old "innotek" Guest Additions" before rebranding to "Sun".
499 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\innotek VirtualBox Guest Additions" "UninstallString"
500 ${If} $0 == ""
501 goto migration_check ; If string is empty, innotek Guest Additions are probably not installed (anymore).
502 ${EndIf}
503
504 MessageBox MB_YESNO $(VBOX_INNOTEK_FOUND) /SD IDYES IDYES innotek_uninstall
505 Pop $2
506 Pop $1
507 Pop $0
508 MessageBox MB_ICONSTOP $(VBOX_INNOTEK_ABORTED) /SD IDOK
509 Quit
510
511innotek_uninstall:
512
513 Call Uninstall_Innotek
514 Goto migration_check
515
516migration_check:
517
518 ${If} $g_strAddVerMaj != ""
519 goto migration_perform
520 ${EndIf}
521 goto done
522
523migration_perform:
524
525 ${LogVerbose} "Running migration steps ..."
526
527 ; Migrate old(er) installation directories (< 7.2) to new structure.
528 Call Uninstall_Before7_2
529
530done:
531
532 Pop $2
533 Pop $1
534 Pop $0
535
536FunctionEnd
537
538!endif ; $%KBUILD_TARGET_ARCH% != "arm64"
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette