@@ -7,18 +7,20 @@ echo ### 1. Save and update OpenCL.dll available in the system
77echo ###
88set TMP_FILE = %TEMP% \install.bat.tmp
99
10+
11+ set SYSTEM_OCL_ICD_LOADER = C:\Windows\System32\OpenCL.dll
12+ set NEW_OCL_ICD_LOADER = %OCL_RT_DIR% \OpenCL.dll
1013set INSTALL_ERRORS = 0
1114
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
1316set /p DOWNLOADED_OPENCL_VER = < %TMP_FILE% 1
14- echo Downloaded OpenCL.dll verison: %DOWNLOADED_OPENCL_VER%
1517
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
2022
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
2224 set /p NEED_OPENCL_UPGRADE = < %TMP_FILE% 3
2325 set /p NEED_OPENCL_BACKUP = < %TMP_FILE% 3
2426) else (
@@ -27,17 +29,20 @@ IF EXIST C:\Windows\System32\OpenCL.dll (
2729 set NEED_OPENCL_BACKUP = False
2830)
2931
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%
3237echo .
3338
3439IF %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%
3742 IF ERRORLEVEL 1 (
3843 echo !!! Cannot save the original file C:\Windows\System32\OpenCL.dll
3944 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%
4146 echo !!! Or run this script as Administrator.
4247 set INSTALL_ERRORS = 1
4348 ) ELSE (
@@ -47,17 +52,17 @@ IF %NEED_OPENCL_BACKUP% == True (
4752)
4853
4954IF %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%
5156
5257 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% ; }"
5459
5560
56- copy /Y %OCL_RT_DIR% OpenCL.dll C:\Windows\System32\
61+ copy /Y %NEW_OCL_ICD_LOADER% %SYSTEM_OCL_ICD_LOADER%
5762 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%
5964 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%
6166 echo !!! Or run this script as Administrator.
6267 set INSTALL_ERRORS = 1
6368 ) ELSE (
@@ -130,8 +135,8 @@ echo.
130135IF %INSTALL_ERRORS% == 1 (
131136 echo Installation finished WITH ERRORS!
132137 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%
135140 echo 3. Add/set the environment variable OCL_ICD_FILENAMES to %OCL_RT_DIR% intelocl64.dll
136141 echo 4. Copy TBB libraries or create symbolic links in %OCL_RT_DIR% tbb.
137142 echo 5. Add/set the environment variable PATH to %OCL_RT_DIR% tbb
0 commit comments