Skip to content

Commit

Permalink
btrfs.inf: get working with infverif.exe
Browse files Browse the repository at this point in the history
  • Loading branch information
maharmstone committed Jan 10, 2023
1 parent 767b933 commit b2399b2
Show file tree
Hide file tree
Showing 2 changed files with 141 additions and 42 deletions.
93 changes: 93 additions & 0 deletions src/btrfs-vol.inf
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
;;;
;;; WinBtrfs
;;;
;;;
;;; Copyright (c) 2016-22 Mark Harmstone
;;;

[Version]
Signature = "$Windows NT$"
Class = Volume
ClassGuid = {71a27cdd-812a-11d0-bec7-08002be2092f}
Provider = %Me%
DriverVer = 08/23/2022,1.8.1.0
CatalogFile = btrfs.cat
PnpLockdown = 1

[DestinationDirs]
Btrfs.DriverFiles = 12 ;%windir%\system32\drivers

[Manufacturer]
%Me%=Standard,NTamd64,NTx86,NTarm,NTarm64

[Standard.NTamd64]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Standard.NTx86]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Standard.NTarm]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Standard.NTarm64]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Btrfs_Install]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles

[Btrfs_Install.Services]
AddService = %ServiceName%,2,Btrfs.Service

;
; Services Section
;

[Btrfs.Service]
DisplayName = %ServiceName%
Description = %ServiceDescription%
ServiceBinary = %12%\%DriverName%.sys ;%windir%\system32\drivers\
ServiceType = 1
StartType = 1 ;SERVICE_SYSTEM_START
ErrorControl = 1
LoadOrderGroup = "File System"

;
; Copy Files
;

[Btrfs.DriverFiles]
%DriverName%.sys

[SourceDisksFiles]
btrfs.sys = 1,,

[SourceDisksNames.x86]
1 = %DiskId1%,,,\x86

[SourceDisksNames.amd64]
1 = %DiskId1%,,,\x64

[SourceDisksNames.arm]
1 = %DiskId1%,,,\arm

[SourceDisksNames.arm64]
1 = %DiskId1%,,,\aarch64

;;
;; String Section
;;

[Strings]
Me = "Mark Harmstone"
ServiceDescription = "Btrfs driver"
ServiceName = "btrfs"
DriverName = "btrfs"
DiskId1 = "Btrfs Device Installation Disk"
VolumeName = "Btrfs volume"
ControllerName = "Btrfs controller"
REG_EXPAND_SZ = 0x00020000
90 changes: 48 additions & 42 deletions src/btrfs.inf
Original file line number Diff line number Diff line change
Expand Up @@ -10,64 +10,52 @@ Signature = "$Windows NT$"
Class = Volume
ClassGuid = {71a27cdd-812a-11d0-bec7-08002be2092f}
Provider = %Me%
DriverVer = 08/23/2022,1.8.1
DriverVer = 08/23/2022,1.8.1.0
CatalogFile = btrfs.cat

[DestinationDirs]
DefaultDestDir = 12
Btrfs.DriverFiles = 12 ;%windir%\system32\drivers
Btrfs.DllFiles = 11 ;%windir%\system32

;;
;; Default install sections
;;

[DefaultInstall]
[DefaultInstall.NTamd64]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles,Btrfs.DllFiles
RegisterDlls = shellbtrfs
CopyINF = btrfs.inf
AddReg = shellbtrfs_AddReg
CopyINF = btrfs-vol.inf

[DefaultInstall.Services]
AddService = %ServiceName%,0x802,Btrfs.Service

[Manufacturer]
%Me%=Standard,NTamd64,NTx86,NTarm,NTarm64

[Standard.NTamd64]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Standard.NTx86]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs

[Standard.NTarm]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs
[DefaultInstall.NTx86]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles,Btrfs.DllFiles
AddReg = shellbtrfs_AddReg
CopyINF = btrfs-vol.inf

[Standard.NTarm64]
%VolumeName% = Btrfs_Install, BtrfsVolume
%ControllerName% = Btrfs_Install, ROOT\btrfs
[DefaultInstall.NTarm]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles,Btrfs.DllFiles
AddReg = shellbtrfs_AddReg
CopyINF = btrfs-vol.inf

[Btrfs_Install]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles,Btrfs.DllFiles
RegisterDlls = shellbtrfs
[DefaultInstall.NTarm64]
OptionDesc = %ServiceDescription%
CopyFiles = Btrfs.DriverFiles,Btrfs.DllFiles
AddReg = shellbtrfs_AddReg
CopyINF = btrfs-vol.inf

[Btrfs_Install.Services]
AddService = %ServiceName%,2,Btrfs.Service
[DefaultInstall.NTamd64.Services]
AddService = %ServiceName%,0x802,Btrfs.Service

;;
;; Default uninstall sections
;;
[DefaultInstall.NTx86.Services]
AddService = %ServiceName%,0x802,Btrfs.Service

[DefaultUninstall]
UnregisterDlls = shellbtrfs
DelFiles = Btrfs.DriverFiles,Btrfs.DllFiles
[DefaultInstall.NTarm.Services]
AddService = %ServiceName%,0x802,Btrfs.Service

[DefaultUninstall.Services]
DelService = %ServiceName%,0x200 ;Ensure service is stopped before deleting
[DefaultInstall.NTarm64.Services]
AddService = %ServiceName%,0x802,Btrfs.Service

;
; Services Section
Expand All @@ -82,9 +70,6 @@ StartType = 1 ;SERVICE_SYSTEM_START
ErrorControl = 1
LoadOrderGroup = "File System"

[shellbtrfs]
11,,shellbtrfs.dll,1

;
; Copy Files
;
Expand Down Expand Up @@ -115,6 +100,26 @@ mkbtrfs.exe = 1,,
[SourceDisksNames.arm64]
1 = %DiskId1%,,,\aarch64

[shellbtrfs_AddReg]
HKCR,*\ShellEx\PropertySheetHandlers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F2}"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F0},,,"WinBtrfs shell extension (icon handler)"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F0}\InprocServer32,,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\shellbtrfs.dll"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F0}\InprocServer32,ThreadingModel,,"Apartment"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F1},,,"WinBtrfs shell extension (context menu)"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F1}\InprocServer32,,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\shellbtrfs.dll"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F1}\InprocServer32,ThreadingModel,,"Apartment"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F2},,,"WinBtrfs shell extension (property sheet)"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F2}\InprocServer32,,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\shellbtrfs.dll"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F2}\InprocServer32,ThreadingModel,,"Apartment"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F3},,,"WinBtrfs shell extension (volume property sheet)"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F3}\InprocServer32,,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\shellbtrfs.dll"
HKCR,CLSID\{2690B74F-F353-422D-BB12-401581EEF8F3}\InprocServer32,ThreadingModel,,"Apartment"
HKCR,Directory\Background\ShellEx\ContextMenuHandlers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F1}"
HKCR,Drive\ShellEx\PropertySheetHandlers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F3}"
HKCR,Folder\ShellEx\ContextMenuHandlers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F1}"
HKCR,Folder\ShellEx\PropertySheetHandlers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F2}"
;HKLM,Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\WinBtrfs,,,"{2690B74F-F353-422D-BB12-401581EEF8F0}"

;;
;; String Section
;;
Expand All @@ -127,3 +132,4 @@ DriverName = "btrfs"
DiskId1 = "Btrfs Device Installation Disk"
VolumeName = "Btrfs volume"
ControllerName = "Btrfs controller"
REG_EXPAND_SZ = 0x00020000

0 comments on commit b2399b2

Please sign in to comment.