Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

multiple MEDIA?


5 replies to this topic

sheppr1

sheppr1
  • Members
  • 3 posts

Posted 03 December 2004 - 00:19

Hi All,
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!
-Matthew

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 03 December 2004 - 05:02

I'm not sure of a real elegant solution to this problem, but a kidn of hokie one would be to create dummy hidden components to use in indentifying the active media.

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.

user posted image

sheppr1

sheppr1
  • Members
  • 3 posts

Posted 03 December 2004 - 15:07

Thanks for the suggestion I think it may work! I dont care about elegance so much but it would be nice if InstallShield adressed this issue a bit better. I have gotten into the mode of 1 project per Media but after two years and 50+ installer projects later it has gotten cumbersome to create a new installshield project for each patch or update we come out with... The basic script remains the same, save for some minor tweaks so it seems burdensome to me to re create another complete installer.

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.

thanks!
-Matthew

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 03 December 2004 - 16:09

You're welcome for the suggestion.

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.

user posted image

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 06 December 2004 - 19:09

One way to do this in InstallShield 10.5: You can define multiple releases in your project. For each release you can define which components (now called features) will be included in the build, so you could make a full build and a small build that only includes only some of the files. At the same level you can define pre-processor defines for the release, so when you build the release you can customize the script.

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)

sheppr1

sheppr1
  • Members
  • 3 posts

Posted 09 December 2004 - 22:13

Stefan,
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!

-matthew