LBW: Installing Interix

LBW requires Interix, a.k.a. Services for Unix, a.k.a. Subsystem for Unix Applications, a.k.a. Microsoft Unix.

This is a Microsoft product that nobody's ever heard of. It provides a rather decent if dated Unix system that runs side-by-side with win32, on top of the Windows NT kernel. It comes with all the usual development tools, like gcc, make, a full set of Unix command line utilities and daemons, etc. LBW development is done on Interix.

It's free and easy to install, but it is irritatingly fiddly.

Windows XP

Download Services for Unix 3.5. It's about 220MB, but we're only going to install a small part of it.

Run the executable. It'll decompress into a folder. Then run the installer in that folder. It'll ask you a series of questions:

It may take a while at the 'configuring security services' stage --- let it run, it'll get there in the end.

Once finished, it'll make you reboot.

Windows XP Home

Interix does not install out of the box on XP Home, because Microsoft apparently think you're too cheap.

However, it's trivially easy to hack the installer to work. You will need a hex editor.

First, download and decompress the Services for Unix installer as described above. Then, load the SfuSetup.msi file into your hex editor. Search for:

NOT (VersionNT = 501 AND MsiNTSuitePersonal)

Change the 501 to 510 and save.

You can now proceed with the installation as described above.

Windows Vista

I don't know --- I don't have access to a Windows Vista machine. I think it's like Windows 7 (see below). I do know that Interix is only available on Vista Pro and Vista Ultimate systems.

If you get Interix working on Vista, please let me know so I can update this page!

Windows 7

Note: LBW does not work on Windows 7 yet!

Interix is built in, but disabled.

To enable it, go to Control Panel -> Programs and Features and check the 'Subsystem for Unix-based Applications' and turn it on. You'll have to reboot.

[If you want to do LBW development, you'll need to do more than this --- ask on the mailing list.]