@@ -7,18 +7,20 @@ echo ### 1. Save and update OpenCL.dll available in the system
7
7
echo ###
8
8
set TMP_FILE = %TEMP% \install.bat.tmp
9
9
10
+
11
+ set SYSTEM_OCL_ICD_LOADER = C:\Windows\System32\OpenCL.dll
12
+ set NEW_OCL_ICD_LOADER = %OCL_RT_DIR% \OpenCL.dll
10
13
set INSTALL_ERRORS = 0
11
14
12
- PowerShell -Command " & {(Get-Command .\OpenCL.dll ).FileVersionInfo.FileVersion}" > %TMP_FILE% 1
15
+ PowerShell -Command " & {(Get-Command %NEW_OCL_ICD_LOADER% ).FileVersionInfo.FileVersion}" > %TMP_FILE% 1
13
16
set /p DOWNLOADED_OPENCL_VER = < %TMP_FILE% 1
14
- echo Downloaded OpenCL.dll verison: %DOWNLOADED_OPENCL_VER%
15
17
16
- IF EXIST C:\Windows\System32\OpenCL.dll (
17
- PowerShell -Command " & {(Get-Command C:\Windows\System32\OpenCL.dll).FileVersionInfo.FileVersion} " > %TMP_FILE% 2
18
- set /p SYSTEM_OPENCL_VER = < %TMP_FILE% 2
19
- echo System OpenCL.dll version: % SYSTEM_OPENCL_VER%
18
+ IF EXIST %SYSTEM_OCL_ICD_LOADER% (
19
+ echo %SYSTEM_OCL_ICD_LOADER% is present. Checking version.
20
+ PowerShell -Command " & {(Get-Command %SYSTEM_OCL_ICD_LOADER% ).FileVersionInfo.FileVersion} " > %TMP_FILE% 2
21
+ set /p SYSTEM_OPENCL_VER = < %TMP_FILE% 2
20
22
21
- PowerShell -Command " & {[version]( $Env:SYSTEM_OPENCL_VER) -lt ([version]$Env:DOWNLOADED_OPENCL_VER)}" > %TMP_FILE% 3
23
+ PowerShell -Command " & {( [version]$Env:SYSTEM_OPENCL_VER) -lt ([version]$Env:DOWNLOADED_OPENCL_VER)}" > %TMP_FILE% 3
22
24
set /p NEED_OPENCL_UPGRADE = < %TMP_FILE% 3
23
25
set /p NEED_OPENCL_BACKUP = < %TMP_FILE% 3
24
26
) else (
@@ -27,17 +29,20 @@ IF EXIST C:\Windows\System32\OpenCL.dll (
27
29
set NEED_OPENCL_BACKUP = False
28
30
)
29
31
30
- echo Need to backup C:\Windows\System32\OpenCL.dll : %NEED_OPENCL_BACKUP%
31
- echo Need to update C:\Windows\System32\OpenCL.dll : %NEED_OPENCL_UPGRADE%
32
+ echo Downloaded OpenCL.dll version: %DOWNLOADED_OPENCL_VER%
33
+ echo System OpenCL.dll version: %SYSTEM_OPENCL_VER%
34
+
35
+ echo Need to backup %SYSTEM_OCL_ICD_LOADER% : %NEED_OPENCL_BACKUP%
36
+ echo Need to update %SYSTEM_OCL_ICD_LOADER% : %NEED_OPENCL_UPGRADE%
32
37
echo .
33
38
34
39
IF %NEED_OPENCL_BACKUP% == True (
35
- echo Save system OpenCL.dll: C:\Windows\System32\OpenCL.dll to C:\Windows\System32\OpenCL.dll .%SYSTEM_OPENCL_VER%
36
- copy /Y C:\Windows\System32\OpenCL.dll C:\Windows\System32\OpenCL.dll .%SYSTEM_OPENCL_VER%
40
+ echo Save system OpenCL.dll: %SYSTEM_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER% .%SYSTEM_OPENCL_VER%
41
+ copy /Y %SYSTEM_OCL_ICD_LOADER% %SYSTEM_OCL_ICD_LOADER% .%SYSTEM_OPENCL_VER%
37
42
IF ERRORLEVEL 1 (
38
43
echo !!! Cannot save the original file C:\Windows\System32\OpenCL.dll
39
44
echo !!! Try saving the file manually using File Explorer:
40
- echo !!! C:\Windows\System32\OpenCL.dll to C:\Windows\System32\OpenCL.dll .%SYSTEM_OPENCL_VER%
45
+ echo !!! %SYSTEM_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER% .%SYSTEM_OPENCL_VER%
41
46
echo !!! Or run this script as Administrator.
42
47
set INSTALL_ERRORS = 1
43
48
) ELSE (
@@ -47,17 +52,17 @@ IF %NEED_OPENCL_BACKUP% == True (
47
52
)
48
53
49
54
IF %NEED_OPENCL_UPGRADE% == True (
50
- echo Replace C:\Windows\System32\OpenCL.dll with the new downloaded OpenCL.dll
55
+ echo Replace %SYSTEM_OCL_ICD_LOADER% with the new downloaded %NEW_OCL_ICD_LOADER%
51
56
52
57
rem CHANGE THE FILE ATTRIBUTES. OTHERWISE, IT CANNOT BE REPLACED by regular MOVE, DEL, COPY commands.
53
- PowerShell -Command " & {$acl = Get-Acl C:\Windows\System32\OpenCL.dll ; $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(\" Users\" ,\" FullControl\" ,\" Allow\" ); $acl.SetAccessRule($AccessRule); $acl | Set-Acl c:\Windows\System32\OpenCL.dll ; }"
58
+ PowerShell -Command " & {$acl = Get-Acl %SYSTEM_OCL_ICD_LOADER% ; $AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(\" Users\" ,\" FullControl\" ,\" Allow\" ); $acl.SetAccessRule($AccessRule); $acl | Set-Acl %SYSTEM_OCL_ICD_LOADER% ; }"
54
59
55
60
56
- copy /Y %OCL_RT_DIR% OpenCL.dll C:\Windows\System32\
61
+ copy /Y %NEW_OCL_ICD_LOADER% %SYSTEM_OCL_ICD_LOADER%
57
62
IF ERRORLEVEL 1 (
58
- echo !!! Cannot copy new OpenCL.dll to C:\Windows\System32\OpenCL.dll
63
+ echo !!! Cannot copy %NEW_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER%
59
64
echo !!! Try copying the file manually using File Explorer:
60
- echo !!! %OCL_RT_DIR% OpenCL.dll to C:\Windows\System32\
65
+ echo !!! %NEW_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER%
61
66
echo !!! Or run this script as Administrator.
62
67
set INSTALL_ERRORS = 1
63
68
) ELSE (
@@ -130,8 +135,8 @@ echo.
130
135
IF %INSTALL_ERRORS% == 1 (
131
136
echo Installation finished WITH ERRORS!
132
137
echo See recommendations printed above and perform the following actions manually:
133
- echo 1. Save C:\Windows\System32\OpenCL.dll to C:\Windows\System32\OpenCL.dll .%SYSTEM_OPENCL_VER%
134
- echo 2. Copy %OCL_RT_DIR% OpenCL.dll to C:\Windows\System32\OpenCL.dll
138
+ echo 1. Save %SYSTEM_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER% .%SYSTEM_OPENCL_VER%
139
+ echo 2. Copy %NEW_OCL_ICD_LOADER% to %SYSTEM_OCL_ICD_LOADER%
135
140
echo 3. Add/set the environment variable OCL_ICD_FILENAMES to %OCL_RT_DIR% intelocl64.dll
136
141
echo 4. Copy TBB libraries or create symbolic links in %OCL_RT_DIR% tbb.
137
142
echo 5. Add/set the environment variable PATH to %OCL_RT_DIR% tbb
0 commit comments