cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kilcarman
Level 4

Exluding a file from compression in single setup exe installer

Hi

I am building a basic msi project with IS 2010.
I want to build a single setup.exe installer with all files compressed except for one file which I need preserved (i.e. there is a known signature within this file which must be available in the installer exe).

I have previously been able to achieve this using Installscript type project in IS 2008 by separating this file into its own component and setting the per-component compression setting to No. I was also able to set the compression setting for all other components to Yes. When I built my single setup exe installer, I was able to find a known signature from the uncompressed file in the final installer exe.

I have been unable to find a way to do this with the Basic MSI project type in IS 2010 (I've been trying with a Network Compressed media type release)
I have followed the instructions in the above article to exclude my file from the stream compression however this setting does not seem to work.... even if I use *.* in the exclude field, I am still unable to find my known signature in the final installer.



Anyone used this StreamCompression setting successfully? Or anyone have any other ideas on how I could do this?

Thanks.
Labels (1)
0 Kudos
(5) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

StreamCompression is not related to the CAB compression used for the files installed by a Windows Installer package; it instead affects only how items are stored in the setup.exe bootstrap. I don't think we have any options that put just most of the Windows Installer files in the bootstrap; those are pretty much all or nothing. I'm unclear on why you need this file separate. Would it make sense to move it into a prerequisite, whose compression you could handle separately?
0 Kudos
kilcarman
Level 4

Hi Michael

Thanks for your quick response.
To explain why i need the file separate.... this file (lets call it FileA) is one which has a defined signature within it which is recognised by our download server which needs to inject some information into it in place of the signature.

Even though FileA is bundled into our setup.exe with all our other files, the content (byte structure) of this file needs to be preserved within the setup.exe so that our download server will be able to inject its information into the setup.exe at the correct location... and therefore effectively inject the info into FileA.

We were able to do this using the per-component compression setting in the Installscript project type, but because of other unicode related reasons, we need to port to MSI, therefore I need to find a way to do this in MSI.

Does that make sense to you?
Thanks
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

It makes enough sense, although downloading that sort of thing without dedicated software handling it can be painful. 🙂

Have you checked the custom compression settings in the release wizard (Media type: Custom, Release Configuration: Custom)? It doesn't appear to quite offer what you want, but might be workable. It should at least allow you to create a single file in a cab, which could theoretically be manipulated and rebuilt by your download server (but presumably would require updating that code).
0 Kudos
kilcarman
Level 4

Yeah have tried all those Release\Media combinations but can't seem to find a configuration which gives me a single setup exe with partial contents compressions.
Do you know if Support Files are by default compressed and whether there might be an option to not compress these in the setup?
0 Kudos
kilcarman
Level 4

Or is there perhaps a way to not compress the .rul script files? In the Isntallscript project type there is an option to turn on or of script compression (Compress Script in the Releases view) but I don't see this in the MSI project type.
I have tried adding *.rul to the exclude list in the StreamCompression section in settingls.xml but the setup.rul file still seems to get compressed.
Thanks
0 Kudos