Posted 03 December 2004 - 00:19
Its been a while since I have to confront some install issues but recently a situation came up in which in would be very useful to have 1 installer create include multiple medias.
From a control standpoint I would like very much to have a base installer that installs the base software (BIG_MEDIA). In addition to that I am hoping to be able to, in the same installer, create another media say patch 1 (MEDIA_PATCH1), that only installs a subset of the software, say an executeable that has been updated. I can see how I can specify the components in the MEDIA tab. This gets me close to where I need to go but I also need to be able to tell from the script which MEDIA build it is since I want to dynamically display a different set of dialogs should it be a patch installer etc.
Up to now I have been creating separate installers which is fine but sometimes leads to problems if I am lazy with source control. As its been so long since I have had to deal with Installer issues I was hoping for some quick tips.
Thanks in advance!
Posted 03 December 2004 - 05:02
For example, for the BIG_MEDIA create such a component called "!Media_Big" to include in just that one media and then in your install script call like the function ComponentIsItemSelected to see if it returns a value of zero or one to indicate this component is available. You could then do something similar for MEDIA_PATCH1.
Well hope it helps and good luck.
Edited by Taco Bell, 03 December 2004 - 05:02.
Posted 03 December 2004 - 15:07
As for your solution I could see each media set having a component that would be included in each media build, so big_media would have big_component, patch1_media, patch1_component etc... Now each component could be tested and subsequent user interaction could be somewhat dynamic. I could add and remove components with componentselectItem. Yes..this may work.
Just curious does any other Installshield product address this issue? I am thinking that having one script project create multiple medias would save a lot of development effort and lead to a lot of possible code reuse.
Posted 03 December 2004 - 16:09
However, I'm not sure if another IS product would better address this issue as I solely use IS Pro 6.31. Stefan could probably better answer that question though.
Edited by Taco Bell, 03 December 2004 - 16:10.
Posted 06 December 2004 - 19:09
Another option (I think even in version 6) would be to use Component events. If the component is not included in the build, it's associated events will not fire.
In version 10.5 (I think starting with verison 7) you can also build differential "update" media that only include the files that changed from a previous build.
All of the above applies to InstallScript projects. InstallShield 10.5 can also build Windows Installer (MSI) setups, where things are a bit different (but also possible)
Posted 09 December 2004 - 22:13
Thanks for the reply. I just loaded IS7 which I have handy. Previously I saw no reason to upgrade to 7. We don't have 10.5 yet. In any event it appears 7 seems to support handling different releases of media. Im not sure how full featured it is but I will start investigating this a bit more closely.
Currently I am handling a lot of component events in 6 since I conditionally include elements depending on what is loaded on their system...In the worst case Ill go back and investigate that option a bit more.
Thanks for your help!