mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-31 03:58:38 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
| @echo off
 | |
| 
 | |
| REM This script is used to fix GitHub issue #162:
 | |
| REM     https://github.com/winfsp/winfsp/issues/162
 | |
| REM
 | |
| REM It works as follows:
 | |
| REM
 | |
| REM     - Creates a junction called `amd64` inside the `WinFsp\bin` directory
 | |
| REM that points back to the directory.
 | |
| REM
 | |
| REM - Updates the registry `ProviderPath` of the WinFsp Network Provider to
 | |
| REM point to `...\bin\%PROCESSOR_ARCHITECTURE%\winfsp-x64.dll`.
 | |
| REM
 | |
| REM It requires Administrator privileges in order to run.
 | |
| 
 | |
| setlocal
 | |
| setlocal EnableDelayedExpansion
 | |
| 
 | |
| set RegKey="HKLM\SOFTWARE\WinFsp"
 | |
| set RegVal="InstallDir"
 | |
| reg query !RegKey! /v !RegVal! /reg:32 >nul 2>&1
 | |
| if !ERRORLEVEL! equ 0 (
 | |
| 	for /f "tokens=2,*" %%i in ('reg query !RegKey! /v !RegVal! /reg:32 ^| findstr !RegVal!') do (
 | |
| 		set InstallDir=%%j
 | |
| 	)
 | |
| )
 | |
| if not exist "!InstallDir!" (echo cannot find WinFsp installation >&2 & goto fail)
 | |
| 
 | |
| set RegKey="HKLM\SYSTEM\CurrentControlSet\Services\WinFsp.Np\NetworkProvider"
 | |
| set RegVal="ProviderPath"
 | |
| 
 | |
| if not X%1==X-u (
 | |
| 	echo fix #162
 | |
| 
 | |
| 	if not exist "!InstallDir!bin\amd64" mklink /j "!InstallDir!bin\amd64" "!InstallDir!bin"
 | |
| 
 | |
| 	reg add !RegKey! /v !RegVal! /t REG_EXPAND_SZ /d "!InstallDir!bin\%%PROCESSOR_ARCHITECTURE%%\winfsp-x64.dll" /f
 | |
| 
 | |
| ) else (
 | |
| 	echo undo fix #162
 | |
| 
 | |
| 	if exist "!InstallDir!bin\amd64" rmdir "!InstallDir!bin\amd64"
 | |
| 
 | |
| 	reg add !RegKey! /v !RegVal! /t REG_SZ /d "!InstallDir!bin\winfsp-x64.dll" /f
 | |
| 
 | |
| )
 | |
| 
 | |
| exit /b 0
 | |
| 
 | |
| :fail
 | |
| exit /b 1
 |