Skip to content

Consider using ProjFS instead of Dokan for virtual drives #1104

@BobVul

Description

@BobVul

This is possibly a long-term issue, as ProjFS is still very new (optional feature in Win10 v1809). Maybe better in a year's time, but I bring it up now because migrating would only become more difficult as the current Dokan approach matures.

ProjFS is more or less Microsoft's version of FUSE. It's effectively a first-party supported version of what Dokan does.

Pros:

  • First-party support from Microsoft, no need to install/update a third-party driver
    • Therefore you don't need to ship kernel-mode components for Windows
  • Should work by default within a folder, no need to have a separate drive (letter)
  • Used by VFSForGit, a fairly large project

Cons:

  • Requires a recent version of Windows (Win10 v1809, so no LTSB support yet) -- possibly not a huge issue because virtual drives are very new to NextCloud too
  • No real users other than Windows/VFSForGit at the moment
    • Though the VFSForGit project does provide a kext for macOS. Again you have the issue of it not being first-party supported.
    • There's also a prototype for ProjFS on top of FUSE for Linux.
  • Installation/activation of ProjFS currently requires enabling a Windows optional feature, i.e. it's not enabled by default yet
  • This would likely be a major change. I don't know how much Dokan code could be ported, or how big the effort would be.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions