mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 16:33:02 -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
|