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

Chained MSI, Temp location and MSP Patch

Hello,

I have a 3rd party application (msi) and a corresponding patch file (msp). I need to schedule the installation of both right after my own setup. I chose to use the WIndows Installer 4.5 Feature regarding the chaining of MSI's.

So I added the 3rd party MSI as a chained MSI in the releases area. I allowed InstallShield to stream the file. Next, I added the msp file to the streamed files list. To install the patch together with the MSI I tried extending the Install Properties for the Chained MSI with the following information:

PATH=patchfile.msp

This didn't work. I examied the logfile and found out that the Windows Installer actually didnt find the patch file when trying to install the 3rd party msi. I had a close look at the actual location of the msp and found out that its beneath [LocalAppDataFolder]Temp\{GUID}\

And here's my problem. What does that GUID come from? It seems to be a different one everytime the setup runs.

Is there some sort of Property to get it? Or do I have to find another way to achieve what I need to do?

Please help me... 😉

Regards,
Chris.
Labels (1)
0 Kudos
(9) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Are both these files using InstallShield's streaming support? If so, you could try specifying your own subfolder ahead of time, using a run-time path of [TempFolder]{MyGuidOrWhatever}\patchfile.msp, or you might try using the supportfiles, and specifying [SUPPORTDIR]\file.msi and [SUPPORTDIR]\patchfile.msp (but this might get a little weird with the sequence interleaving done in chained installs potentially removing the files too early).
0 Kudos
Tronex
Level 4

Hi Michael,

My problem is, that I need to incorporate the patch file (msp) into my MSI and install it AFTER I installed another MSI (chained).

Now I found out that with this particular 3rd party app, I cannot specifiy the msp to be installed together with the msi.

The path then would be installed by using a commandline like msiexec /p. However, of course I cannot use that from within my setup because I cannot run any other Windows Installer session except for when I use the chaining.

The chaining however is only capable of installing files (msiexec /i). Is there ANY way to make the chainer install an MSP file so that I can simply add the MSI as another chained "MSI"?

Regards,
Chris.
0 Kudos
Tronex
Level 4

Until ISChain is able to incorporate patches as well as installing MSI's, I will use the setupbld.exe tool from the Windows Installer XML Toolset to put everything together.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

A command line like msiexec /p patch.msp should be equivalent to one like msiexec /i base.msi PATCH=patch.msp, so in theory this is possible. However the current chaining support doesn't offer anything for making this easy, and the default behavior of skipping packages that are already installed would make this even more difficult since you'd have to set a flag directly in the table. I've submitted #IOC-000079413 to track adding the ability to chain a patch during an MSI 4.5 transaction, but we'll have to do some more research to make sure it's even allowed. In the meantime, I'm glad you found a workaround you're happy with.
0 Kudos
Tim_Mayert
Level 9

Michael, have you heard any more about chaining MSP (Patch) files in a chained install package?

We are looking at creating a Suite package that contains many msi projects that we want to chain together in to this suite package.

So some of the questions we are still looking for answers to before making the choice to got with chaining or not are:
Does chaining handle Web Download

Does chaining support minor upgrades - this one IS responsed and said that minor upgrades were not supported.

So then if minor upgrades were not supported then does chaining handle patch deployment. So If we release version 1.0 of the Suite and then we release 1.0 SP1 then can we create a suite package that will simply deploy the .msp patch files for the individual package?

So if you can help out here I would appeciate your thoughts.

Thanks,
0 Kudos
Tim_Mayert
Level 9

Since it is the command line that is calling the msi's is there a way that we could modify this command line before the call so that we could then have patches or minor upgrade installs?

I thought I saw an article where someone was doing that, but I can not seem to find it again.

So if anyone knows of a way to modify the msi chaining command line so that it can call patch files (.msp) or minor upgrades then can you let me know?

Thanks,
0 Kudos
Mescalero
Level 7

Hello, is there any update as to whether patches can be chained?

I have a situation similar to Tim's: we would like to distribute a service pack as one tidy Update.exe file rather than multiple Update.exes for each installation.

Thanks for any help.
0 Kudos
Tim_Mayert
Level 9

Mescalero, I have still not heard anything back on this as of yet. We are still in the process of generating out first Chained suite product, but after we release that then we'll be working on serivce packs and at that time it would be great if we had the information where the chain could push out the patch (minor upgrade .msi) or the full .msi file, depending on if they have the previous version installed or not, to handle this case...

If you do anymore information could you let me know?

Thanks,
0 Kudos
Mescalero
Level 7

Hi Tim,

Absolutely, I'll let you know if I learn anything new on this. Thanks for your response...
0 Kudos