PDA

View Full Version : Modifying a CAB file with IsCAB



ben93800
07-27-2005, 12:57 PM
Hello,

I would like to replace a file inside an existing cab file. (Instead of recreating a new install project, the original install project is lost ...)

Here is my command line to create the text file containing the list of files in the cabfile :
iscab data1.cab -i"fileout.ini" -l

I obtain an error :

Error: Could not initialize compression engine
Le module spÚcifiÚ est introuvable.

The same command works with an other CAB file, the previous CAB has been created in February 2003, so it was with an old version of installshield. (8.0 ?)

Does IsCAB is backward compatible with an older installshield version ?

Any idea ?

Thank you for your help,

Ben.

Stefan Krueger
07-28-2005, 07:21 AM
In the InstallShield workd there are two completely different and incompatible types of CAB files:

The ones that MSI projects use are also compatible with Windows (can be opened with Windows explorer and Microsoft's CAB utilities), and can also be opended with tools such as WinZIP. iscab is NOT for this type of CAB.

The ones that InstallScript projects use (and that have been introduced with InstallShield 5 I think). They are not compatible with the above mentioned files, they only use the same extension. iscab was created specifically to modify these CAB files.

Since you posted in the Windows Installer section of the forum I guess you have the first type of CAB files. Note that information about the files inside the CAB (such as version and size) is also stored in the MSI file so you may need to update this as well. Also you must nit change the sequence of the files in the CAB.

ben93800
08-02-2005, 12:25 PM
Well, maybe the wrong forum, my CAB is not compatible with explorer or winzip. I need ZipScan to open it for instance.

I will try an other forum. Thank you Stefan for your answer.

Ben.

sbrinkmeyer
08-02-2005, 01:15 PM
short answer no

explanation is
you need a custom thing to add that file to the cab and if you can't make your install checksum match that new information the install won't run.