StrmExt.dll on x64 Windows
Some years ago it was decided at Microsoft that their (then) new filesystem would have something which would become known as Alternate Data Streams. I won't go into too much detail as there are already well-written discussions of what ADSes are and what they can be used for. Interested persons should consult with Google. Suffice it to say that ADSes are largely unknown outside of geekdom and fairly uncommon topics of discussion even among geeks. In fact, there's no built-in tool for Windows that even allows you to see ADSes (correction: under Windows Vista and newer the dir command added a new switch to show ADSes,) let alone manipulate them unless you happen to know the exact name of the stream you're looking for and it's impossible to find this out without some extra tool.
There are a number of these tools out there. Some of them come from Microsoft directly like SysInternals' Streams.exe utility. Even so, since ADS use is practically non-existant these tools are all-too-often left behind when the Next Big Thing changes how things work in Windows. In my case, the tool was the StrmExt Explorer extension from Microsoft and the Big New Thing was 64 bit Windows.
The StrmExt Explorer extension added a "Streams" tab to the standard File Properties window. I like it because it's so lightweight and because I don't need to start up another program just to look at ADSes; Explorer is always running anyway.
The StrmExt.dll file available from Microsoft bears a timestamp of February 4, 2000 (at 5:01PM) which means that it probably hasn't been updated or changed at all in more that 11 years. At the time this program was written Windows XP was still more than a year and a half from being released and everyone was using either a DOS-based version of Windows (like Windows 98 or Windows ME) or Windows NT. Windows 2000 was released less than two weeks after this DLL was compiled.
Much has changed since then. At that time personal computers were just finishing the leap from 16 bits to 32 bits and the first x86-compatible 64-bit version of Windows was more than 5 years in the future. It's only natural that the author of this DLL didn't plan for dealing with a 64 bit system.
So, as many power users have likely done, I faced this problem: I just installed a 64 bit version of Windows on my shiny new computer but some of my favorite gizmos didn't work anymore. All the system software in 64 bit versions of Windows are native 64 bit applications, which includes Windows Explorer, and 64-bit Explorer does not like 32-bit extensions (another of my favorite Explorer extensions, MD5 Context Menu, suffered the same fate.)
Luckily, the archive containing the DLL also included its source, a rarity among Microsoft products, even their free tools. It just so happens that I have a copy of Visual Studio 2005 laying around, so I tried loading up the circa 2000 project file. Lo and behold it worked, VS converted everything to a more modern project file and I was left with a blinking cursor in the IDE. At this point I should note that I don't actually know how to use Visual Studio. I prefer different languages and IDE's than the ones Microsoft provides (just a preference.)
So, I started mucking around in the menus* and found the Build Configuration Manager, where I was able to change the platform from x86 to x64. From there it was just a matter of building the project and registering the resulting DLL as an Explorer extension.
For reasons unknown to me, though, only the "Debug" configuration would compile for me. As a result, the 64 bit version I made is several times larger than its original 32 bit counterpart. You can downoad the 64 bit version here.
*It is a scientific fact that 94.68% of all computer-related troubles can be solved by randomly clicking in menus.
Write a comment
Posts: 5
Reply #7 on : Wed April 18, 2012, 01:55:13
Posts: 5
Reply #6 on : Thu February 16, 2012, 13:41:44
Posts: 5
Reply #4 on : Fri February 10, 2012, 18:32:46
Posts: 5
Reply #3 on : Fri February 10, 2012, 18:25:37
Posts: 5
Reply #1 on : Wed January 11, 2012, 09:11:43
Posts: 3
Reply #8 on : Fri April 20, 2012, 17:59:33