I have the following line in a .mak
file:
# http://support.microsoft.com/kb/310618
kbddvp.cab: kbddvp32.dll kbddvp64.dll kbddvp.inf launcher.exe
cabarc -m LZX:21 n $@ $**
... which when run, executes as:
cabarc -m LZX:21 n kbddvp.cab kbddvp32.dll kbddvp64.dll kbddvp.inf launc
her.exe
The problem is that cabarc has been deprecated in favor of makecab. I'm trying to figure out how I should modify the .mak
file to run the same code that the cabarc used to run.
I'm pretty sure that I can use:
makecab /D CompressionType=LZX /D CompressionMemory=21
for the -m LZX:21
part, but I'm not sure how I can specify multiple files.
It says in the documentation that I need to create a directives file, which I created as makecab-dir.ddf
:
.OPTION EXPLICIT ; Generate errors
.Set CabinetNameTemplate=kbddvp.cab
.set DiskDirectoryTemplate=
.Set CompressionType=LZX
.Set CompressionMemory=21
.Set UniqueFiles="OFF"
.Set Cabinet=on
kbddvp32.dll
kbddvp64.dll
kbddvp.inf
launcher.exe
I took some lines from this page. Now I'm guessing that I can run:
makecab /F makecab-dir.ddf
... and it would do the exact same thing that the original statement did.
Note: I don't know anything about cab files, I'm just trying to build an open source project.
I'm hoping that someone who is familiar with cab files can double check what I did and make sure I didn't miss anything.
It was hard to find the documentation for both utilites, but I found them here. The files are named CABARC.DOC
and MAKECAB.DOC
.
Now to update the .mak
file, I'm guessing I need to use:
kbddvp.cab: kbddvp32.dll kbddvp64.dll kbddvp.inf launcher.exe
makecab /F makcab-dir.ddf