Slashdot Mirror


Microsoft Open-Sources Original File Manager From the 1990s So It Can Run On Windows 10 (theverge.com)

An anonymous reader quotes a report from The Verge: Microsoft is releasing the source code for its original Windows File Manager from nearly 28 years ago. Originally released for Windows 3.0, the File Manager was a replacement for managing files through MS-DOS, and allowed Windows users to copy, move, delete, and search for files. While it's a relic from the past, you can still compile the source code Microsoft has released and run the app on Windows 10 today. The source code is available on GitHub, and is maintained by Microsoft veteran Craig Wittenberg under the MIT license. Wittenberg copied the File Manager code from Windows NT 4 back in 2007, and has been maintaining it before open sourcing it recently. It's a testament to the backward compatibility of Windows itself, especially that this was originally included in Windows more than 20 years ago.

14 of 173 comments (clear)

  1. Longevity of code/interface by david.emery · · Score: 3, Insightful

    It's a testament to the backward compatibility of Windows itself, especially that this was originally included in Windows more than 20 years ago.

    Gee, that would date this code to about the same time we were doing the POSIX standards that codified a (then) 20 year old Unix interface.

    1. Re:Longevity of code/interface by bill_mcgonigle · · Score: 3, Insightful

      Well, most of the files have the commit message "Original WinFile sources plus changes to build with VS" so it's not exactly source-compatible. The API might be but that's also how we get DDE & OLE vulnerabilities in modern code, etc. There are trade-offs.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Longevity of code/interface by DamnOregonian · · Score: 4, Interesting
      The fucking fuck?

      There is an obscene amount of POSIX compliant code that breaks without 64-bit specific fixes. I know because I have to fix it at work.

      And don't get me started on DLL - possibly the worst design decision in all of Windows (and that's saying a lot!), particularly given how DLLs proved to be a massive attack vector on Windows systems.

      Yes, dynamic libraries were such a bad idea.
      Increased attack surface? ya, youbetcha. Trade-off? You try running 150 processes on a machine with full software stacks without sharing memory pages, and let me know how that works for you. I've done my share of hackery with linux shared objects too. There was always a trade-off in them, and Microsoft neither invented that tradeoff, or had a worse implementation of it than anyone else. They're simply the most visible.

  2. Re:Not a big deal by Anonymous Coward · · Score: 3, Insightful

    Microsoft's Windows file manager was crap enough when it was current that I paid for a third-party alternative.

    The things it has going for it over today's file manager include:
    - only focused elements are highlighted (can't count how many times I've deleted the wrong files because of focus being somewhere other than where it appeared to be -- files A was highlighted but Windows was actually focused on file B; I tapped Del to delete A but Windows deleted B)
    - show file extensions (not even an option to hide them! what feckwit has left "hide extensions" the default for so many years?)
    - distinguishable UI elements: buttons are clearly buttons, scroll bars are always visible, etc.
    - overall not-flat UI

  3. Still not better than Norton Commander by bigmacx · · Score: 5, Informative

    ...THE reference file management tool for PC geeks

    https://en.wikipedia.org/wiki/Norton_Commander

    I still use Midnight Commander on Linux from time to time, especially for quick side-by-side file/dir moves (the viewing of diff's between them is nice) and searching for content inside lots of files

    https://en.wikipedia.org/wiki/Midnight_Commander

    1. Re:Still not better than Norton Commander by thelexx · · Score: 3, Insightful

      Preach it brother. Midnight Commander is the best. Thunar and the like are pretty, but work gets done with mc.

      --
      "Gold still represents the ultimate form of payment in the world." - Alan Greenspan, 1999
    2. Re:Still not better than Norton Commander by Anonymous Coward · · Score: 4, Informative

      XTree Gold was much better

  4. Re:Port to iOS please by jenningsthecat · · Score: 4, Insightful

    Please!!!

    I wish they'd release the source for the file manager that came with Win98 and Win2K, and I wish somebody would port it to Linux. The only decent Linux file manager I've found is Dolphin, and its deps are pretty much all of KDE core, which is huge - especially when compared with the XFCE environment I'd be using it in. I want a file manager with an integrated search function that will actually search inside files for a specified text string. Right now I use the Gnome search tool. It isn't integrated into the file manager, it's buggy, and its UI sucks, but it's the best available, short of installing the bloated and bling-laden KDE. Pretty much the only thing I miss about Windows is the File Manager. Well, except for the fact that Windows applications use File Manager for their load and save functions, which makes the interface much more consistent from one application to the next. Having a mix of GTK2, GTK3, and program-specific file dialogs like those in Libre Office, is just sucky.

    --
    'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
  5. Re:Port to iOS please by LinuxIsGarbage · · Score: 3, Insightful

    Pretty much the only thing I miss about Windows is the File Manager.

    I really don't think it's that great.Then again I usually have to struggle to keep it as "details", no thumbnails, no metadata, show extensions, shows hidden files, please don't hang when I right click a file and it loads who knows how many extra handlers.

    Well, except for the fact that Windows applications use File Manager for their load and save functions, which makes the interface much more consistent from one application to the next. Having a mix of GTK2, GTK3, and program-specific file dialogs like those in Libre Office, is just sucky.

    One downside is it's a little too rich for its own good. I remember back in the day under poor attempts to lock down a machine by hiding explorer, "run" from start menu, my computer, etc could be circumvented by opening the open window of an allowable application, and navigating to cmd.exe/command.com.

    One upside is in WinPE / WinRE that doesn't have access to a file manager, you can open notepad from the cmd window, open the open dialog, and get a bare bones explorer window for basic file management.

  6. Re:Port to iOS please by rogoshen1 · · Score: 4, Insightful

    i never understood why windows defaults to "hide extensions for known file types" -- in what god damn universe is that a GOOD idea?

  7. Re:Port to iOS please by klashn · · Score: 3, Informative

    In a universe where the 99% ruin it for the 1%. Hide file extensions for 99% of people that don't need them, let the 1% un-check the box.

  8. Why Windows hides file extensions by steveha · · Score: 3, Informative

    i never understood why windows defaults to "hide extensions for known file types"

    I agree it was never a good idea. IMHO it was done because the file extensions are ugly.

    On the Mac, every file has a "resource fork" (I guess on OS X it's no longer properly a "resource fork" but there is something equivalent) and the type of the file is coded in a spot that the OS knows how to read but which the user doesn't see. So the user types any name, and the icon is the right icon and the user just sees the icon and the chosen name.

    On Windows and Linux, the file systems don't have this "resource fork" idea, so the obvious place to encode the type of file is the extension. But the extension is user-visible.

    Linux uses the techniques pioneered in UNIX to just identify a file no matter what its name is. If it's an ELF binary, it will start with certain bytes arranged a certain way; if it's a LibreOffice document, it will start with different bytes, etc. It's trickier but more reliable: you can rename a LibreOffice document to not have its extension any more, and your file manager can still do the right thing when you double-click on it.

    But Windows just uses the extension.

    Well, hiding the extension makes Windows more like the Mac. The icon is correct, the user just sees the filename chosen by the user, life is great.

    But users are used to seeing extensions and don't worry about them much. And there was a form of attack where a Trojan Horse file would have a name like "Important Document.doc.exe" and hope the user would open it. If Windows hides the extension, then just the ".exe" part is hidden, and the user just sees "Important Document.doc" (and as I said the user is used to seeing extensions and doesn't freak out that most documents have no visible extension but this one does).

    These days, by default, Windows hides "system" directories and anything else that an uninformed user shouldn't touch. If I have to use Windows, I make sure to turn on seeing file extensions, disable hiding system directories, etc.

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:Why Windows hides file extensions by DamnOregonian · · Score: 3, Interesting

      On Windows and Linux, the file systems don't have this "resource fork" idea

      Funny enough, NTFS has supported the idea since inception. But extensions weren't broke, so weren't fixed. And not to mention would have been sucky for any software relying on file extensions.

      Also funny, OSX now does it by hiding extensions and interpreting the metadata inside of a folder.

  9. Re: Port to iOS please by Bert64 · · Score: 4, Insightful

    Pre-OSX MacOS didn't use file extensions at all... The filesystem used a separate metadata fork to determine file type, and wasn't reliant on something as arbitrary as the file name.

    For a system which depends upon and makes decisions based upon the file extension, hiding them is stupid, and for a system that makes no use of the file extensions hiding them (if even present at all) is irrelevant.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!