VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsVista.nsh@ 44824

Last change on this file since 44824 was 44417, checked in by vboxsync, 12 years ago

More DetailPrint -> LogVerbose.

  • Property svn:eol-style set to native
File size: 4.0 KB
Line 
1; $Id$
2; @file
3; VBoxGuestAdditionsVista.nsh - Guest Additions installation for Windows Vista/7.
4;
5
6;
7; Copyright (C) 2006-2012 Oracle Corporation
8;
9; This file is part of VirtualBox Open Source Edition (OSE), as
10; available from http://www.virtualbox.org. This file is free software;
11; you can redistribute it and/or modify it under the terms of the GNU
12; General Public License (GPL) as published by the Free Software
13; Foundation, in version 2 as it comes in the "COPYING" file of the
14; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16;
17
18Function Vista_CheckForRequirements
19
20 Push $0
21
22 ${LogVerbose} "Checking for installation requirements for Vista / Windows 7 / Windows 8 ..."
23
24 ${If} $g_bForceInstall == "true"
25 ${LogVerbose} "Forcing installation, checking requirements skipped"
26 goto success
27 ${EndIf}
28
29 ; Validate D3D files, regardless whether D3D support is selected or not
30 Call ValidateD3DFiles
31 Pop $0
32 ${If} $0 == "1" ; D3D files are invalid, notify user
33 MessageBox MB_ICONSTOP|MB_OKCANCEL $(VBOX_COMPONENT_D3D_INVALID) /SD IDOK IDCANCEL failure
34 ; Offer to open up the VBox online manual on how to fix missing/corrupted D3D files
35 MessageBox MB_ICONQUESTION|MB_YESNO $(VBOX_COMPONENT_D3D_INVALID_MANUAL) /SD IDNO IDYES open_handbook_d3d_invalid
36 ${EndIf}
37 Goto success
38
39open_handbook_d3d_invalid:
40
41 ; @todo Add a language GET parameter (e.g. ?lang=enUS) here as soon as we got the
42 ; handbook online in different languages
43 ; Don't use https here (even if we offer it) -- we only want to display the handbook
44 Call SetAppMode64 ; For shell execution we need to switch to 64-bit mode first
45 ExecShell open "http://www.virtualbox.org/manual/ch12.html#ts_d3d8-d3d9-restore"
46 IfErrors 0 +2
47 MessageBox MB_ICONSTOP|MB_OK $(VBOX_ERROR_OPEN_LINK) /SD IDOK
48 Call SetAppMode32
49 Goto failure
50
51failure:
52
53 Abort "ERROR: Requirements not met! Installation aborted."
54 goto exit
55
56success:
57
58 ; Nothing to do here right now
59 Goto exit
60
61exit:
62
63 Pop $0
64
65FunctionEnd
66
67Function Vista_CopyFiles
68
69 SetOutPath "$INSTDIR"
70 SetOverwrite on
71
72 ; The files are for Vista only, they go into the application directory
73
74 ; VBoxNET drivers are not tested yet - commented out until officially supported and released
75 ;FILE "$%PATH_OUT%\bin\additions\VBoxNET.inf"
76 ;FILE "$%PATH_OUT%\bin\additions\VBoxNET.sys"
77
78!ifdef VBOX_WITH_MMR
79 FILE "$%PATH_OUT%\bin\additions\VBoxMMRHook.dll"
80!endif
81
82FunctionEnd
83
84Function Vista_InstallFiles
85
86 ${LogVerbose} "Installing drivers for Vista / Windows 7 / Windows 8 ..."
87
88 SetOutPath "$INSTDIR"
89 ; Nothing here yet
90
91!ifdef VBOX_WITH_MMR
92 !insertmacro ReplaceDLL "$%PATH_OUT%\bin\additions\VBoxMMRHook.dll" "$g_strSystemDir\VBoxMMRHook.dll" "$INSTDIR"
93 AccessControl::GrantOnFile "$g_strSystemDir\VBoxMMRHook.dll" "(BU)" "GenericRead"
94!endif
95
96 Goto done
97
98error:
99
100 Abort "ERROR: Could not install files! Installation aborted."
101
102done:
103
104FunctionEnd
105
106Function Vista_Main
107
108 Call Vista_CopyFiles
109 Call Vista_InstallFiles
110
111FunctionEnd
112
113!macro Vista_UninstallInstDir un
114Function ${un}Vista_UninstallInstDir
115
116!if $%BUILD_TARGET_ARCH% == "x86" ; 32-bit
117 Delete /REBOOTOK "$INSTDIR\netamd.inf"
118 Delete /REBOOTOK "$INSTDIR\pcntpci5.cat"
119 Delete /REBOOTOK "$INSTDIR\PCNTPCI5.sys"
120!endif
121
122FunctionEnd
123!macroend
124!insertmacro Vista_UninstallInstDir ""
125!insertmacro Vista_UninstallInstDir "un."
126
127!macro Vista_Uninstall un
128Function ${un}Vista_Uninstall
129
130 ; Remove credential provider
131 ${LogVerbose} "Removing auto-logon support ..."
132 DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}"
133 DeleteRegKey HKCR "CLSID\{275D3BCC-22BB-4948-A7F6-3A3054EBA92B}"
134 Delete /REBOOTOK "$g_strSystemDir\VBoxCredProv.dll"
135
136!ifdef VBOX_WITH_MMR
137 Delete /REBOOTOK "$g_strSystemDir\VBoxMMRHook.dll"
138 Delete /REBOOTOK "$INSTDIR\VBoxMMRHook.dll"
139!endif
140
141FunctionEnd
142!macroend
143!insertmacro Vista_Uninstall ""
144!insertmacro Vista_Uninstall "un."
Note: See TracBrowser for help on using the repository browser.

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