Guide Index Quick Links

INF Writing Tutorial

Created on March 10, 2023

You might be asking right now what an INF file is. Essentially, it's a type of plain text file used by Windows primarily to execute setup routines which can be easily modified. It reuses the syntax established by the INI format, but has a few additional rules depending on which program or operating system is using it.

The INF format, from what I know, first appeared in the Windows 3.x lineup. The syntax it uses is different from that used by Windows 95 and later versions.

For this tutorial, I'll be focusing on the Windows 95 syntax. This is the format which modern Windows versions derive from, adding to the format to accomodate the needs of newer systems. Because Windows 95 primarily relies on the 16-bit setup engine SETUPX.DLL for installing things, I will be covering some necessary steps for getting around the 8.3 filename limit which are not needed in Windows NT (or by invoking a 32-bit setup engine in Windows 9x, possibly).

Now, why is it valuable to know how to create INF files? Since it only requires writing a text file and gathering any files you need, INF files make it easy to create installation routines for the software you need to load, or to deploy your own customized system configuration to multiple computers.

Furthermore, with the help of a tool called IExpress from Microsoft, you can even create self-extracting archives which automatically execute your INF for easier distribution on the internet or some form of physical media.

Learning to modify INF files is what made projects like Windows 95D Lite possible, as static remastering of an operating system like Windows 95 involves modifying and adding in tons of text files in this format.

I've also written a small command line program, Infsect, which can be used to modify INF and INI files from the command line. It's primarily useful in batch scripts, and even has the capability of requesting user input to write something to an INF file. The program is still undergoing development a little bit at a time, but should now be in a state where it can neatly integrate into batch scripts where appropriate.

Ready to get started? We'll start off with the most essential basics producing easily visible results, and work our way up from there. It'll get cool eventually!


flatrute - March 17, 2023 at 10:29 AM

There are a few specification documents on the compression algorithm which in theory would let me be able to build a replacement that scales better on modern systems but I am so busy in college at the time I am typing this...

1 comment on this page

Sort: Ascending | Descending

Leave a Comment

Name: (required)

Website: (optional)

Maximum comment length is 2000 characters.
First time? Read the guidelines

Enter the text shown in the image: