Hey all,

I'm busy building MSI's for the school district I work for and unfortunately buying another product is currently out of the question, so I'm using WinInstall LE 2k3 for anything that doesnt come natively as an MSI. Unfortunately, it appears that the "discovery" function of WinInstall LE creates a separate component for each file/registry entry it detects. For a CorelDraw 8 install, this turns out to be an ENORMOUS amount of components. Also, some of the components it detects are for files that I don't want in the MSI, and so sometimes I run into the component warning in eventlog because (I believe) the key path for a particular component doesnt exist.

In addition, I would have to believe that with this particular method, Windows Installer would be scanning each of these key paths every time the application is executed, making for immense unneeded hard drive access when launching the program.

Any suggestions? Anyone know of a way to take an existing MSI and condense it down into a couple of components with all the other files being "carried along"?

0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


You can't just put everything into a couple of components - that’s crazy talk!... read this:
Introduction to Windows Installer Components

You might be able to change the component rules WinInstall follows. It probably set to 'one file per component'. I don’t use WinInstall (thank god) so I’m no sure where you would change that - or even if you can.

Answered 06/19/2007 by: fuz_kitten
Second Degree Blue Belt

Please log in to comment
you're chasing ghosts here, i think. If one component per file would be a performance problem, it would have been detected years ago. This "file access" ends in a well setup system right in the cache, as it only checks for stuff, which is contained in the MFT.
The "condense to couple" of components would definitely not work, because there is a hard coded rule in Windows Installer, that each no empty directory must have at least one component. And Corel has more than a couple of dirs!
To go back to your problem with erasing files: You have to make sure, that the component gets a new keyfile, when you have to delete it (We all do!). But this should be done by WinInstall.
As i recall from my beginners days years back, WinInstall isn't actually good in separate 'noise' from the things that should really go into the package. Therefore almost all of the packages captured, contain things that shouldn't be there. You have to go through it and clean it out, especially profile stuff.

BTW: We all have this problem, even with the better tools, but they offer more options to do it (semi) automatically. But you always have to know what you are doing.
Regards, Nick
Answered 06/19/2007 by: nheim
Tenth Degree Black Belt

Please log in to comment