Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • 0

Deice.exe/Ice.exe compression


I'm trying to build my own installer for a Doom wad like the Shareware days.

So far as I understand, most of the installers came with files like DEICE.EXE, DOOM1_1.1, DOOM1_1.2, DOOM1_1.DAT and INSTALL.BAT.

I can open and modify the installer easily with notepad by just opening INSTALL.BAT and DOOM1_1.DAT.

My issue is to replace DOOM1_1.* files which are compressed files in LZH/LHA format separated in parts to fit a Floppy Disk, I can view their content with 7zip but not modify/replace them.

I tried to use ICE v1.21 that you can find in Doomworld downloads without understanding well how it works, I run it on Dosbox.

I just need to change what the installer extracts, that way I can insert my Doom custom wad. Doesn't seem hard but I don't have enough knowledge.
This is intended just for personal use.

Share this post

Link to post

4 answers to this question

Recommended Posts

  • 1
17 minutes ago, TotalTS said:

I can compress the files but I can't separate them in parts

You can literally do that with a hex editor.


Or with a terminal command like Unix's split. I'm not sure what the DOS equivalent is. I remember the days when I'd download stuff at the university, split them onto my packs of floppy disks, and then merge them back on my Windows PC at home with copy /b file.a + file.b + file.c file.tgz...




A quick forward on the "De-ICE" installer: The De-ICE installer works by ingesting a .DAT file in the same directory that gives it instructions on how to continue. In the .DAT file are a few critical pieces of information:

"PATH" - the default installation path

"SIZE" - the number of bytes to read

"EXPSIZE" - the approximate, rounded-up size of the expanded files

When DEICE executes, it will begin reading files of the same name (but not extension) as the .DAT file to the installation directory. When there are no bytes remaining to read, the user is prompted for the next disk. DEICE will continue to read bytes until it has read the number of bytes specified in the "SIZE" field of the original .DAT file. At this point, DEICE will request that disk 1 be inserted to continue the instructions from "INSTALL.BAT". What DEICE is doing is recreating an LZH Self-Extracting Archive by concatenating the files on the disks into a single exe file. When the resulting .EXE file is run, the game's files are extracted and the LZH archive is deleted.


So yeah, what you need to do is to make a self-extracting LZH archive, split it into chunks, and create a .DAT file that will let DEICE know to merge the files back and then run it.

Share this post

Link to post
  • 0

You'll probably want to download a copy of the DOS version of LHa and read its documentation to figure out how to create a self-extracting .exe archive.


However, if your plan is to distribute your own WAD file and require a DOS installer I'd strongly encourage you to reconsider. While cute in nostalgia terms it's likely to make your mod very annoying to install since modern versions of Windows can't even run 16-bit DOS programs.

Share this post

Link to post
  • 0

The version that the installer displays LHA SFX 2.13S. I've downloaded LHA213E.EXE, not sure if it's the same version but I think there will be no issues.
I can compress the files but I haven't found how to separate them in parts.
I do not intend to distribute, it's just for personal use.

Here's a sample of how the screen looks, sadly it's just text, it doesn't work as intended yet:


Edited by TotalTS

Share this post

Link to post
  • 0
On 4/13/2020 at 6:40 PM, Gez said:

You can literally do that with a hex editor.

Thanks! I did it with HxD and separate the files in 1424 KB just like the old DOOM files did.

Now I got it, first I needed to apply the command A in LHA, therefore change the filename to LZH, then reopen LHA and use the command S to make the self-extracting LZH archive. And then edit it in HxD and split it in parts.
Of course, once it's done change the .DAT with SIZE and EXPSIZE.

Now it works very well, thanks a lot!

Edited by TotalTS

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now