cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Alibaba
Level 6

Chained Install with downloader as child

Hi Folks,

I read about chained installs in the new whitepaper (didn't finish yet). Is it possible to have a downloader as child install in a chained install? How can I do this? Has anyone experience with this?

Thanks for answers
Alibaba
Labels (1)
0 Kudos
(6) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

It's possible to download the chained install with custom code in the "main" package, but the chaining implementation we have so far expects a raw .msi file to be available at a specified local (or perhaps local UNC) path. If downloading is more important than the transaction, you may want to consider creating a prerequisite. If the transaction is more important, I could submit a feature request to add downloading support, but I couldn't make any guarantees about when we could implement it.
0 Kudos
Alibaba
Level 6

Hi Michael and thank you for answering. If I understood right I can download the chained install with CA, but only as raw msi. What do you mean with transaction?
In general(independent of chained install): what is the best way to call a setup from another if the called should be downloaded?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Chained installs take part of a single transaction; this means they all succeed or all fail together. If all participating packages are authored correctly, this in turn means that the machine is fully updated, or unchanged, respectively.

For ease of authoring, if you have to download something, I would recommend an InstallShield prerequisite. How conditional you need it to be will help you decide whether to use it as a Setup Prerequisite or a Feature Prerequisite. However this pulls the package out of the transaction, and doesn't support uninstalling it as part of your "main" package's uninstall (instead you can use the ARP, etc.).

So the best approach really depends on what needs you have, what authoring skills you have or have time to learn, and which parts are more important.
0 Kudos
msalmo
Level 2

Michael,
I have a follow up I'm hoping you can help with. In my situation, the downloading portion is the important aspect since we need to maintain a division of the way things are distributed. So for me, I think MSI chaining is out as they need to be packaged with the parent.

The pre-req model is nice, but it seems to force the pre-req check and action prior to the installation of any files. Ideally, I would like to install my parent installer's files prior to the pre-req installation(counter intuitive, I know).

So the question is, what other methods exist for calling a child installer that needs to be downloaded?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Yeah, if you need your main installation's files to be installed before this other set, the prerequisite model is insufficient (unless of course you can invert it, and make your main install a prerequisite for a helper...)

However, while there is no provided support for downloading the chained msi and its files, the files don't need to be there until the end of the execute sequence; similarly you only have to tell it where things are going to be, as they're not even checked until that time. So you could decide on a location, possibly via a property you fill in earlier in the sequence, and then write a custom action which downloads the code to that location per the same conditions that choose whether to install it. There's also a chance that providing an http://... location for the MSI run-time path would allow it to work with MSI's built-in web downloading code (I've not verified either way), but I'm not certain I'd suggest that.

If none of those work, could you provide a few more details about exactly what you're trying to accomplish, or your motivations, so I can better determine if our chaining support is a reasonable fit and could be enhanced to do what you need?
0 Kudos
Alibaba
Level 6

I want to reanimate this thread. Until now we used the Prerequisite method because here I can use the built-in download mechanism. This works fine but the handicap is that you cannot uninstall the prerequisite within the (silent) uninstall of the parent package.

So I would like to make a feature request for using chained .msi Installation with a downloader as chained .msi (if this is possible).

For me it is important to have one transaction and a built-in download functionality. Also I will use a downloader setup as chained .msi because it's language independent.

This topic is very important for our company because we would like to make a lot of custom setups that all are downloading and installing always the newest version of our main product as chained .msi.

If this could be realized in the next version of IS this would be a reason for us to upgrade from IS 2009.
0 Kudos