cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kriz_82
Level 5

Chanined installation and language

Hello,

I trying to created chained MSI installation (Basic MSI). I would like to read the language from the parent package and pass it to the child msi installation.
Im passing INSTALLDIR value to the child msi by typing INSTALLDIR="[INSTALLDIR]" into the Install properties text box, but ProductLanguage does not work this way. I tries

INSTALLDIR="[INSTALLDIR]" ProductLanguage="[ProductLanguage]"

I guess the problem is that INSTALLDIR is a public property and the ProductLanguage is not. In log file i see (Property(S): PRODUCTLANGUAGE = 1045 and below Property(S): ProductLanguage = 1033). So it means public property PRODUCTLANGUAGE was created but what I wanted to achive is to set ProductLanguage property.

According to the help file ProductProperty is a Installation Status Properties. How can I set it in child MSI?

Regards!
Labels (1)
0 Kudos
(5) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

You should apply a language transform to change this property. Try specifying a property TRANSFORMS=1045.mst (or possibly TRANSFORMS=[ProductLanguage].mst) after you include this transform (adjust its path according to your file layout).
0 Kudos
kriz_82
Level 5

It works, thanks.

I used TRANSFORMS=[SETUPEXEDIR]\Packages\MyPackage1\[ProductLanguage].MST

BTW
I added Packages folder as "support files" (under behaviour and logic node). MyPackage1 folder contains MyPackage1.msi and its MST files. Chained MSI is not streamed into parent MSI. Is it the right way to deal with chained MSIs?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I'm not sure that there's a right or wrong way. If you need a tree of files, then support files can't handle it, and you should use the chaining support for streamed files, or perhaps an uncompressed location on your media. However if it's a single file or fits in a single directory, you can certainly use SUPPORTDIR if you like it better.
0 Kudos
Tim_Mayert
Level 9

A Question about this.

We are making our first chained product install and therefore do not yet know all the in's and out's with how it works for languages.

So we have about 4 to 5 products that we want changed in our main parent. All these support multiple languages and therefore each have the .msi and the .mst files that go with each product.

When we add the chained .msi it simply asks where the .msi is that we want to include. So does this automatically link in the .msi and all .mst files or does it simply have the reference to where the .msi file is and therefore as long as the .mst files are in the same folder it will use them?

If that is the case then if the parent install is ran in say French then when it triggers the install of the chained products will they automatically load and use the French .mst file or do we have to make sure the set the following on the Install properties for each chained package:
TRANSFORMS=[location of .msi][ProductLanguage].MST

Thanks,
0 Kudos
Tim_Mayert
Level 9

MichaelU wrote:
I'm not sure that there's a right or wrong way. If you need a tree of files, then support files can't handle it, and you should use the chaining support for streamed files, or perhaps an uncompressed location on your media. However if it's a single file or fits in a single directory, you can certainly use SUPPORTDIR if you like it better.


MichaelU: Sorry for the long description here!!

We were looking at having all the child chained products under a support subfolder structure so that we could reference the child .msi files by [SupportDir]\Support\{Product}. In this folder would be the .msi and .mst files.

Initial installs are fine, other than we have not got the install to use the child tranforms as of yet. But having it this way we have issues with maintenance mode because the support folder is no longer there because the parent .msi file is running from the cashed folder and therefore does not find the other files.

So we decided that to avoid this issue, unless there is a recommended way to handle that, we would try streamed files instead. So this will solve for the maintence/modify issue, but now it again comes back to how to handle the children .mst files. Under the Streamed files: section do we add a new folder to place the child .mst files and if so then how do we get the parent install to trigger the same .mst file that it is running in???

Any help here would be appreciated...
0 Kudos