diff --git a/build/VStudio/installer/Product.wxs b/build/VStudio/installer/Product.wxs
index 295ed120..c8ea5e16 100644
--- a/build/VStudio/installer/Product.wxs
+++ b/build/VStudio/installer/Product.wxs
@@ -22,7 +22,7 @@
$(var.MyProductName).Launcher
- SYSTEM\\CurrentControlSet\\Services\\$(var.MyProductName).Launcher\\Services
+ Software\$(var.MyProductName)\Services
Software\$(var.MyProductName)
#define PROGNAME "WinFsp.Launcher"
-#define REGKEY LAUNCHER_REGKEY
BOOL CreateOverlappedPipe(
PHANDLE PReadPipe, PHANDLE PWritePipe, PSECURITY_ATTRIBUTES SecurityAttributes, DWORD Size,
@@ -441,7 +440,8 @@ NTSTATUS SvcInstanceCreate(HANDLE ClientToken,
goto exit;
}
- RegResult = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"" REGKEY, 0, KEY_READ, &RegKey);
+ RegResult = RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"" LAUNCHER_REGKEY,
+ 0, LAUNCHER_REGKEY_WOW64 | KEY_READ, &RegKey);
if (ERROR_SUCCESS != RegResult)
{
Result = FspNtStatusFromWin32(RegResult);
diff --git a/src/launcher/launcher.h b/src/launcher/launcher.h
index 27ffe37f..06e1e869 100644
--- a/src/launcher/launcher.h
+++ b/src/launcher/launcher.h
@@ -21,7 +21,8 @@
#include
#include
-#define LAUNCHER_REGKEY "SYSTEM\\CurrentControlSet\\Services\\WinFsp.Launcher\\Services"
+#define LAUNCHER_REGKEY "Software\\WinFsp\\Services"
+#define LAUNCHER_REGKEY_WOW64 KEY_WOW64_32KEY
#define LAUNCHER_STOP_TIMEOUT 5500
#define LAUNCHER_KILL_TIMEOUT 5000
diff --git a/tools/diag.bat b/tools/diag.bat
index f9b04194..240431bc 100755
--- a/tools/diag.bat
+++ b/tools/diag.bat
@@ -2,8 +2,8 @@
setlocal
-echo WINFSP INSTALLATION DIRECTORY
-reg query HKLM\SOFTWARE\WinFsp /reg:32
+echo WINFSP INSTALLATION DIRECTORY AND LAUNCHER REGISTRATIONS
+reg query HKLM\SOFTWARE\WinFsp /s /reg:32
echo.
echo WINFSP DLL REGISTRATIONS
@@ -12,10 +12,6 @@ reg query HKLM\SYSTEM\CurrentControlSet\Services\WinFsp.Np\NetworkProvider
reg query HKLM\SYSTEM\CurrentControlSet\Services\EventLog\Application\WinFsp
echo.
-echo WINFSP LAUNCHER REGISTRATIONS
-reg query HKLM\SYSTEM\CurrentControlSet\Services\WinFsp.Launcher\Services /s
-echo.
-
echo WINFSP FSD CONFIGURATION AND STATUS
sc query WinFsp
sc qc WinFsp
diff --git a/tools/fsreg.bat b/tools/fsreg.bat
index afb875eb..c762f724 100644
--- a/tools/fsreg.bat
+++ b/tools/fsreg.bat
@@ -3,7 +3,7 @@
setlocal
setlocal EnableDelayedExpansion
-set RegKey=HKLM\SYSTEM\CurrentControlSet\Services\WinFsp.Launcher\Services
+set RegKey=HKLM\Software\WinFsp\Services
if not X%1==X-u (
set unreg=0
@@ -16,9 +16,9 @@ if not X%1==X-u (
if X!fscmdl!==X goto usage
if not exist !fsexec! goto notfound
- reg add !RegKey!\!fsname! /v Executable /t REG_SZ /d !fsexec! /f
- reg add !RegKey!\!fsname! /v CommandLine /t REG_SZ /d !fscmdl! /f
- if not X!fssecu!==X reg add !RegKey!\!fsname! /v Security /t REG_SZ /d !fssecu! /f
+ reg add !RegKey!\!fsname! /v Executable /t REG_SZ /d !fsexec! /f /reg:32
+ reg add !RegKey!\!fsname! /v CommandLine /t REG_SZ /d !fscmdl! /f /reg:32
+ if not X!fssecu!==X reg add !RegKey!\!fsname! /v Security /t REG_SZ /d !fssecu! /f /reg:32
) else (
set unreg=1
@@ -26,7 +26,7 @@ if not X%1==X-u (
if X!fsname!==X goto usage
- reg delete !RegKey!\!fsname! /f
+ reg delete !RegKey!\!fsname! /f /reg:32
)
exit /b 0