blob: 69b85710a2df84893881ae3289b959b8d71adea2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
:: WFPSamplerInstall.cmd
:: Command line script to install the WFPSampler
:SoF
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
:Variables
:: Help
IF /I "%1" EQU "" ( GOTO :Usage ) ELSE (
IF /I "%1" EQU "?" ( GOTO :Usage ) ELSE (
IF /I "%1" EQU "-?" ( GOTO :Usage ) ELSE (
IF /I "%1" EQU "/?" ( GOTO :Usage ))))
:: Removal
IF /I "%1" EQU "r" ( GOTO :Uninstall ) ELSE (
IF /I "%1" EQU "-r" ( GOTO :Uninstall ) ELSE (
IF /I "%1" EQU "/r" ( GOTO :Uninstall )))
:: Architecture
IF /I "%1" EQU "" ( GOTO :Usage ) ELSE (
IF /I "%1" EQU "amd64" (SET WFP_ARCH=x64) ELSE (
IF /I "%1" EQU "i386" (SET WFP_ARCH=x86) ELSE (
IF /I "%1" EQU "x64" (SET WFP_ARCH=%1) ELSE (
IF /I "%1" EQU "x86" (SET WFP_ARCH=%1) ELSE ( GOTO :BinPath )))))
:: OS
IF /I "%2" EQU "" ( GOTO :Usage ) ELSE (
IF /I "%2" EQU "Win7" (SET WFP_OS=%2) ELSE (
IF /I "%2" EQU "Win8" (SET WFP_OS=%2) ELSE (
IF /I "%2" EQU "Win8.1" (SET WFP_OS=%2) ELSE ( GOTO :Usage ))))
:: Optimized
IF /I "%3" EQU "" ( GOTO :Usage ) ELSE (
IF /I "%3" EQU "Debug" (SET WFP_OPZ=%3) ELSE (
IF /I "%3" EQU "Release" (SET WFP_OPZ=%3) ELSE ( GOTO :Usage )))
:BinPath
IF "%PROCESSOR_ARCHITECTURE%" EQU "AMD64" (SET _PROCESSOR_ARCHITECTURE_=x64) ELSE (
IF "%PROCESSOR_ARCHITECTURE%" EQU "I386" (SET _PROCESSOR_ARCHITECTURE_=x86) ELSE (
SET _PROCESSOR_ARCHITECTURE_=%PROCESSOR_ARCHITECTURE%))
IF DEFINED WFP_OS (
:: Use a path relative to where this script is located for finding the binaries
FOR /F %%A IN ('ECHO "%~dp0" ^| FIND /I "network\trans\WFPSampler\scripts\"') DO (SET SCRIPTS_DIR=TRUE)
IF DEFINED SCRIPTS_DIR (
:: Running from Network\Trans\WFPSampler\Scripts
SET WFPSAMPLER_EXE="%~dp0..\exe\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\WFPSampler.exe"
SET WFPSAMPLERSERVICE_EXE="%~dp0..\svc\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\WFPSamplerService.exe"
SET WFPSAMPLERCALLOUTDRIVER_SYS="%~dp0..\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\Package\WFPSamplerCalloutDriver.sys"
SET WFPSAMPLERCALLOUTDRIVER="%~dp0..\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\Package\WFPSamplerCalloutDriver.*"
SET SIGNTOOL_PATH="%~dp0..\..\..\..\..\bin\%_PROCESSOR_ARCHITECTURE_%"
) ELSE (
FOR /F %%A IN ('ECHO "%~dp0" ^| FIND /I "network\trans\WFPSampler\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\package"') DO (SET PACKAGE_DIR=TRUE)
IF DEFINED PACKAGE_DIR (
:: Running from Package Directory
SET WFPSAMPLER_EXE="%~dp0..\..\..\exe\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\WFPSampler.exe"
SET WFPSAMPLERSERVICE_EXE="%~dp0..\..\..\svc\%WFP_ARCH%\%WFP_OS%%WFP_OPZ%\WFPSamplerService.exe"
SET WFPSAMPLERCALLOUTDRIVER_SYS="%~dp0WFPSamplerCalloutDriver.sys"
SET WFPSAMPLERCALLOUTDRIVER="%~dp0WFPSamplerCalloutDriver.*"
SET SIGNTOOL_PATH="%~dp0..\..\..\..\..\..\..\bin\%_PROCESSOR_ARCHITECTURE_%"
) ELSE (
ECHO.
ECHO Don't know binary location. Please provide path.
ECHO Current directory: "%CD%"
ECHO Script directory: "%~dp0"
GOTO :Usage
)
)
) ELSE (
:: Use the provided path for finding the binaries
SET WFPSAMPLER_EXE="%1\WFPSampler.exe"
SET WFPSAMPLERSERVICE_EXE="%1\WFPSamplerService.exe"
SET WFPSAMPLERCALLOUTDRIVER_SYS="%1\WFPSamplerCalloutDriver.sys"
SET WFPSAMPLERCALLOUTDRIVER="%1\WFPSamplerCalloutDriver.*"
SET SIGNTOOL_PATH=
)
:Install
ECHO.
ECHO Installing WFPSampler
IF DEFINED SIGNTOOL_PATH (
ECHO.
ECHO Attempting to sign WFPSampler.Exe
%SIGNTOOL_PATH%\SignTool.exe Sign -A -V %WFPSAMPLER_EXE%
ECHO.
ECHO Attempting to sign WFPSamplerService.Exe
%SIGNTOOL_PATH%\SignTool.exe Sign -A -V %WFPSAMPLERSERVICE_EXE%
ECHO.
ECHO Attempting to sign WFPSamplerCaloutDriver.Sys
%SIGNTOOL_PATH%\SignTool.exe Sign -A -V %WFPSAMPLERCALLOUTDRIVER_SYS%
)
ECHO.
ECHO Copying WFPSamplerCalloutDriver Bins to %WinDir%\System32\Drivers\
COPY /Y %WFPSAMPLERCALLOUTDRIVER% %WinDir%\System32\Drivers\
ECHO.
ECHO Copying WFPSampler application binaries to %WinDir%\System32\
COPY /Y %WFPSAMPLER_EXE% %WinDir%\System32\
COPY /Y %WFPSAMPLERSERVICE_EXE% %WinDir%\System32\
IF EXIST %WinDir%\System32\WFPSamplerService.Exe (
ECHO.
ECHO Registering the WFPSampler Service
%WinDir%\System32\WFPSamplerService.Exe -i
Net Start WFPSampler
)
IF EXIST %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Inf (
IF EXIST %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Sys (
ECHO.
ECHO Registering the WFPSampler Callout Driver
RunDLL32.Exe syssetup,SetupInfObjectInstallAction DefaultInstall 131 %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Inf
Net Start WFPSamplerCallouts
)
)
:Cleanup
SET WFPSAMPLERCALLOUTDRIVER=
SET WFPSAMPLERCALLOUTDRIVER_SYS=
SET WFPSAMPLERSERVICE_EXE=
SET WFPSAMPLER_EXE=
SET PACKAGE_DIR=
SET SCRIPTS_DIR=
SET _PROCESSOR_ARCHITECTURE_=
SET WFP_ARCH=
SET WFP_OPZ=
SET WFP_OS=
GOTO :EoF
:Uninstall
ECHO.
ECHO Uninstalling WFPSampler
IF EXIST %WinDir%\System32\WFPSampler.Exe (
ECHO.
ECHO Removing policy
WFPSampler.exe -clean
)
ECHO.
ECHO Stopping the WFPSampler service
Net Stop WFPSampler
ECHO.
ECHO Stopping the WFPSamplerCallouts service
Net Stop WFPSamplerCallouts
IF EXIST %WinDir%\System32\WFPSamplerService.Exe (
ECHO.
ECHO Unregistering the WFPSampler Service
%WinDir%\System32\WFPSamplerService.Exe -u
)
IF EXIST %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Inf (
IF EXIST %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Sys (
ECHO.
ECHO Unregistering the WFPSampler Callout Driver
RunDLL32.Exe SETUPAPI.DLL,InstallHinfSection DefaultUninstall 132 %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.Inf
)
)
ECHO.
ECHO Deleting WFPSampler application binaries from %WinDir%\System32\
ERASE /F /Q %WinDir%\System32\WFPSampler.exe
ERASE /F /Q %WinDir%\System32\WFPSamplerService.exe
ECHO.
ECHO Deleting WFPSamplerCalloutDriver binaries from %WinDir%\System32\Drivers\
ERASE /F /Q %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.cat
ERASE /F /Q %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.inf
ERASE /F /Q %WinDir%\System32\Drivers\WFPSamplerCalloutDriver.sys
GOTO :EoF
:Usage
ECHO.
ECHO WFPSamplerInstall.cmd [PATH ^| ARCH ^| -r] [OS] [OPTIMIZE]
ECHO.
ECHO.
ECHO ARCH Specify the architecure the binaries are for
ECHO x86 or x64
ECHO.
ECHO OS Specify the OS the binaries are for
ECHO Win7, Win8, or Win8.1
ECHO.
ECHO OPTIMIZE Specify the optimization
ECHO i.e. Debug
ECHO.
ECHO WFPSampler.cmd x86 Win7 Debug
ECHO.
ECHO.
ECHO WFPSamplerInstall.cmd [PATH]
ECHO.
ECHO PATH Copies binaries from specified path and installs the WFPSampler
ECHO i.e. C:\MyDir
ECHO.
ECHO WFPSampler.cmd C:\MyDir
ECHO.
ECHO.
ECHO WFPSamplerInstall.cmd [-r]
ECHO.
ECHO -r Uninstalls the WFPSampler and removes binaries
ECHO.
ECHO WFPSampler.cmd -r
ECHO.
:EoF
|