LTR Data logo

Tools and utilities for Windows

Some of my programs listed here are written many years ago and some are new, but most of them are now recompiled with MSVC++ compiler. Source code for the utilities and many other small test applications are available here as a 7-zip archive, www.7-zip.org.

Click to recommend this site:

Tweets by @LTRData

This page contains software 5 star rated by Brothersoft, GearDownload and Programosy, Editor's Choice and mirror by Instalki.pl. Mirror also hosted by ComputerBild.
Brothersoft 5/5
        stars GearDownload Programosy 5/5
        stars

You can use and redistribute the utilities and source code as you like, but remember to link back to this site or my e-mail address and always attach any following text file when you redistribute the utilities. A big ZIP file with compiled exe-files for all utilities listed here and some more is available here (1.3 MB) or in 7-zip format here (423.4 KB).

Most of the programs here are compressed into ZIP files. ZIP files can be uncompressed in Windows XP and Windows Server 2003 but earlier versions of Windows require a third-party ZIP tool, like the freeware 7-zip or a free console tool like the GNU version of unzip.exe.

Please note! The applications are not tested in all possible environments. The author shall not be held responsible for what the applications actually do when they are used. If you have any ideas or modifications of source code you would like to share, please send me an e-mail. The tools published here are free with a very flexible open license. It is for example no problem to include any of the tools in a commercial product, as long as copyright information specifies that parts of the software belongs to me with some kind of reference, such as a web link, to http://www.ltr-data.se or this page. You do not have to make the source code available to your customers.

Donations
Programs listed here are free to download and use. To make it possible to continue with this and pay for web site, software signing certificates and other costs a donation is always greatly appreciated. For information about possible ways to donate money, please follow this link.

Links from Google. Not about my products, but might be of interest:


On this page

Advice and consultation available
Need advice for programming projects or need a C/C++, Visual Basic 6 or .NET C#/VB programmer? Advice how to optimize and simplify administration of computers and networks? Have some kind of hard-to-solve problem with computers, networks, drivers, applications etc? Maybe I can help you. Send me an e-mail: olof@ltr-data.se or MSN to ol@ltr-data.se or call me at +46 70 345 89 52 or Skype: live:ol. (I speak Swedish, English, Danish and Norwegian.)


Links to other projects

Many useful ports of GNU utilities to Win32 by Karl M Syring are available at UnxUtils sourceforge site.

Many useful open source Windows NT driver projects by Bo Brantén.

Other useful tools and interesting source code using undocumented native API:s and an Ext2 filesystem for NT project by Adrey Shedel.


Click here for update history for this page (last update 08 February 2014)


All file dates are in ISO date format, YYYY-MM-DD. This makes the list easier to sort.

ImDisk Virtual Disk Driver
Current version 1.7.6 built 25 October 2013

ImDisk is a virtual disk driver for Windows NT/2000/XP/Vista/7/8 or Windows Server 2003/2008/2012. It can create virtual hard disk, floppy or CD/DVD drives using image files or system memory. The install package installs a console-mode control program called imdisk.exe and a Control Panel applet. After install is finished, type imdisk without parameters for syntax help or double click the ImDisk icon in the Control Panel. It also adds a menu item in Windows Explorer so that you can right-click on a file to mount it as a virtual disk drive. Users of mdconfig in FreeBSD will probably be familiar with the command line syntax of imdisk.exe. The driver, service and control program can be uninstalled using the Add/Remove programs applet in the Control Panel. No reboot is required for installing or uninstalling.

An additional driver, awealloc, in this install package supports memory allocation beyond 4 GB limit on 32 bit Windows through address window extension, AWE.

The ImDisk driver supports forwarding I/O requests to third-party image file format handlers or to services on other computers on the network. This makes it possible to boot a machine with NTFS partitions with a Live-CD and use the included  devio tool to let ImDisk on another computer running Windows on the network mount the NTFS partition on the machine with a faulty NTFS partition. This way you can recover information and even run chkdsk on drives on machines where Windows does not boot. There are also instructions about how to use devio under Windows on
Claus Valca's blog. About the install package
The install package is created using 7-zip sfx stubs and includes an .inf install script. No reboot is required after installing or uninstalling. The install package works on Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 and Windows 8, on both 32-bit and 64-bit versions.

The install package now automatically starts the driver at end of setup
This means that no additional actions should be required before using ImDisk, even on Windows Vista, Windows Server 2008, Windows 7 or Windows 8 with UAC turned on.

Reviewed by Tekzilla
There is a Tekzilla review of ImDisk on Youtube:


5/5 star rating by Programosy.pl and Editor's Choice by Instalki.pl. Certified free from virus and malware by SoftPedia.
Programosy 5/5
        stars

SoftPedia


ImDisk Toolkit
The ImDisk Toolkit is a complete package that adds a more modern and intuitive user interface to ImDisk. ImDisk Toolkit offers features like automated creation of memory disks at system startup and mounting many different image file formats. It is developed and maintained by user "v77" at the reboot.pro forum. It is available for download here.

64 bit compatibility
64-bit versions share source code with the 32-bit version. All features and most limitations are the same in the 64-bit and 32-bit versions. One difference however, is that the 64-bit versions do not have any practical size limits for virtual disks backed by memory.

64 bit drivers are now digitally signed with a certificate trusted by Microsoft.
This means that ImDisk now works
Windows Vista, Windows Server 2008, Windows 7 or Windows 8 even without running it testsigning mode.

Special note for Windows NT 3.51
The .inf file used in the install process is not compatible with Windows NT 3.51. To install on NT 3.51 you can extract the files in the packages using 7-zip and then manually create the driver keys in the registry or using a SCM control tool like sc.exe in the Windows NT Resource Kit. On later versions of Windows you just run the package and it will install everything automatically.

Source code
Source code for all of ImDisk, including a server-part for *nix like systems and .NET/COM API library, is available as a 7-zip compressed file here (186.6 KB). The Windows driver, command line tool and Control Panel applet parts of the source code can be built in the Windows 2000 build environment in the latest WDK and the *nix parts can be built with for example gcc. .NET components are built in Visual Studio 2010, you can use Visual Basic Express 2010 if you want to view and modify the source code in a free version of Visual Studio.

API
API functions are available for C/C++, COM and .NET clients. If you want to call functions for creating/removing/querying virtual disks from your own program you can #include the file inc\imdisk.h in your C/C++ source files and link the cpl\i386\imdisk.lib library. Read inc\imdisk.h in source archive for documentation about C/C++ usage. If you would like information about how to write compatible server-end software in C/C++ you can take a look at the I/O packet structures in inc\imdproxy.h.

A class library DLL for COM and .NET developers is available as a separate wrapper DLL. You can download that DLL here or an archive including the actual DLL along with import libraries and registry files for COM usage here. Look here for on-line documentation about .NET API. There are also, as usual, xml files with method/parameter descriptions available to each assembly file.

License
I have received some e-mails with questions whether or not it is okay to include this driver in a commercial product. The answer is yes, just like all other tools I publish here. However, note that a few lines of code are under the GNU GPL license. More specifically, the driver code related to floppy emulation. Some of the driver code is also ported to Windows NT from the FreeBSD 'md' driver.

This means that if you modify the code and/or include it in your own product, it all needs to be redistributed under GPL, including source code. If you wish to avoid GPL requirements, such as the need to redistribute source code, you would therefore need to remove all floppy emulation related code from the driver. I will be happy to do such modifications for you to make the code comply with your license requirements. Just send me an e-mail!

Questions?
There is a sub-forum at Reboot.pro for discussions about ImDisk Virtual Disk Driver and other tools published here.
Answers to frequently asked questions are collected in this thread.


Zero and Random device driver - updated 30 July 2012

The Zero and Random device driver creates two device objects, \Device\Zero and \Device\Random and a symbolic link to each of these under \DosDevices so that they are reachable from Win32 applications using the syntax \\.\zero and \\.\random. The devices work like /dev/zero and /dev/random in *nix like environments. Zero produces zero characters and Random produces random characters in the read buffers. When written to both of the device objects act like a Null device, that is just accepting and ignoring the data in the write buffer. The drivers can e.g. be used with the classic dd tool or with my rawcopy tool to fill files, devices etc with zero or random characters, e.g. to wipe out the contents of a hard drive.

The install package installs the driver and loads it into the kernel and setup for automatic load when Windows starts up. The driver can be uninstalled using Add/Remove programs applet in the Control Panel.

About the install package
The install package is created using 7-zip sfx stubs and includes an .inf install script. No reboot is required after installing or uninstalling. The install package works on Windows NT 3.51/NT 4.0/2000/XP/Server 2003/Vista/Server 2008, both 32-bit and 64-bit versions.

64 bit drivers are now digitally signed with a certificate trusted by Microsoft.
This means that this driver now works
Windows Vista, Windows Server 2008 and Windows 7 even without running it testsigning mode.

Special note for Windows NT 3.51
The .inf file used in the install process is not compatible with Windows NT 3.51. To install on NT 3.51 you can extract the files in the packages using 7-zip and then manually create the driver keys in the registry or using a SCM control tool like sc.exe in the Windows NT Resource Kit. On later versions of Windows you just run the package and it will install everything automatically.

Source code
Source code for this driver is available as a 7-zip compressed file here (3.0 KB). The source code can be built in the Windows 2000 build environment in the latest WDK.


Small command line utilities

Works on Windows NT/95/98/ME/2000/XP/2003 unless the description says something else. Some of them also run on Windows 3.x with Win32s but then without displaying anything because Win32s on Windows 3.x has no console support.

These binaries are compiled with the free version of Microsoft Visual C++. They are not linked with the standard C or C++ libraries that comes with this compiler, instead they are linked with a dynamic library I call minwcrt (Minimal Windows C Run-Time Library) linking them to crtdll.dll instead of msvcrt.dll. This makes them run in all versions of Win32 without additional dll files. This is also the reason why the exe files are very small. Source for this library is available as part of the source archive mentioned in the top of this document.

Small utilities with graphical user interface (or with no user interface at all)

Works on all versions of Win32 unless the description says something else. This includes at moment Windows 95/98/ME/NT/2000/XP/2003 and Windows 3.x with Win32s installed.

These binaries are compiled with the free version of Microsoft Visual C++. They are not linked with the standard C or C++ libraries that comes with this compiler, instead they are linked with a dynamic library I call minwcrt (Minimal Windows C Run-Time Library) linking them to crtdll.dll instead of msvcrt.dll. This makes them run in all versions of Win32.

.NET command line utilities

These applications have recently been rebuilt in Visual Basic 2010. They run in Windows 98/ME/2000/XP/2003/Vista and they require .NET Framework 2.0 or later to be installed first. If they don't work and you have not installed .NET Framework 2.0 or later you can download and install it from Microsoft's website.
.NET tools with graphical user interface

These applications have recently been rebuilt in Visual Basic 2010. They run in Windows 98/ME/2000/XP/2003/Vista and they require .NET Framework 2.0 or later to be installed first. If they don't work and you have not installed .NET Framework 2.0 or later you can download and install it from Microsoft's website.

Back to LTR Data homepage