cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
david-it
Level 2

How to update files in a .cab

Hello,

I am a newbie with IS2010 and I have some questions...

I have repackaged an application (Msi + Transform(mst)), all is working fine but :
1 - some files I had to add to the package must copied in two directories, I have got 1 .cab file in which theses files are duplicated.
2 - I had to modify on of these files, I have done it using 'files and folders', now I have a new .cab with this new file (2 cab with the old files and 1 cab with the new file), so now the package is containing a .msi + .st + 3.cab (containing files that we don't need anymore).

Is there a way to :
- have only 1 file in the .cab when this same file is duplicated in 2 directories
- update the originals cab with only the fles we need ...

I hope you understand what I mean..

Thank you in advance !
David.
Labels (1)
0 Kudos
(2) Replies
Tetsuo
Level 4

Hi

Each file in your .cab file needs a reference in the File Table. For that reason I don't think you'll be able to get one file in a cab file extracted to two different folders as you can only list one directory for each file in the File Table.

As for updating the existing .cab; not impossible (you'll need to find a tool that will let you edit .cab files -e.g. Microsoft have an SDK), but i wouldn't recommend this approach.

Personally, for repackaging an app I steer away from compressed cab source files where possible. I'd first create an admin install point from the MSI:
(msiexec /a ). This will give you an MSI source folder with the extracted files and MSI.

In your InstallShield Transform 'Files and Folders', create your additional required folder structure and just drag and drop the file from your MSI source folder into your new folder in 'Files and Folders'. InstallShield should do the rest. Cleanest way i can think of without scripting..
0 Kudos
david-it
Level 2

Hello,

thank you very much for your answer.
I definitively think that you are right, I am going to work like you when I will have to repackage an application, it will be less difficult to update files if i don't have multiple .cab... in my package.

Thank you again...
0 Kudos