Hello guys,

Well basically that's my question. If I have a package that for some reason has 3 MST files, is there an execution order or some sort of priority that's attributed the MST's? I'm looking for some sort of official position on the matter, so any help you may supply will be greatly appreciated.

I'm going to keep looking around Google in the mean time!

Thanks!

Stephane
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Yes they are applied on top of each other in the order of the command line. So in this example:

msiexec /i appname.msi transforms=settings1.mst;settings2.mst

Any matching launch condition set in settings1.mst would be overridden by those in setting2.msi

If you use InstEd you can layer your transforms up and see the final result.

Cheers,
Rob.
Answered 07/10/2008 by: MSIPackager
Third Degree Black Belt

Please log in to comment
0
Thank you sir! That answers that!
Answered 07/10/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
Hello guys,

I have to bump this issue to the top, because we're not sure if this is normal.

Just for the sake of the example, let's say we have a MSI with Support Information URL "A" in Add Remove Program.
We build a MST on that MSI, in which we populate Support Information URL "A" in Add Remove Program, based on the MSI we have, which is normal.
Finally, our generic MST has a Support Information URL "B" in Add Remove Program.

So if I type out:

msiexec /i "blabla\MSI.msi" transforms="MST.mst, Generic.mst" /qb

The information in ARP for Support information is "B".

Now, I uninstall the product.
Reinstall using:

msiexec /i "blabla\MSI.msi" transforms="Generic.mst" /qb

Support Information is STILL "A", even tough my generic MST states "B". Is this normal? It's as if the MSI has priority over my transform file.

Any ideas?
Answered 07/25/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
Stephane, as ever, run your install with a verbose log. You will see whether the properties are being changed or not.
Answered 07/25/2008 by: VBScab
Red Belt

Please log in to comment
0
Hello Ian,

Doesn't seem to be changed, all I see is the following:

Property(s); ARPURLINFOABOUT = http://www.barcap.com/Futures

Instead of the custom property I have in my generic MST. And for some odd reason, there's no trace of my generic MST in the log file which I find odd... I'll keep looking into it.
Answered 07/25/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
?!? If there's no mention of the transforms in the log file, they weren't applied.

Post the command line you entered.
Answered 07/27/2008 by: VBScab
Red Belt

Please log in to comment
0
Hi Stephane,
your command line isn't working like this.
Try: msiexec /i "blabla\MSI.msi" TRANSFORMS="MST.mst;Generic.mst" /qb

Don't know exactly, if the upper case is necessary, but the semicolon definitely is.

Regards, Nick
Answered 07/27/2008 by: nheim
Tenth Degree Black Belt

Please log in to comment
0
ORIGINAL: nheim
Don't know exactly, if the upper case is necessary
[red faced]How did we miss THAT howler? TRANSFORMS is a specially-handled Public property and as such must be in upper-case or else it will be ignored.
Answered 07/28/2008 by: VBScab
Red Belt

Please log in to comment
0
Hey guys,

Since I wasn't sure if I had typed it in CAPS or not, I went and retried it. Still, that doesn't work.

What I check is the following property:
ARPHELPTELEPHONE: +44 (0) 20 7773 3460 which MY custom MST changes to: (514) ***-**** / (866) ***-****

So... I searched my log file for that property, and the only mention of the property I see is:
Property(S): ARPHELPTELEPHONE = +44 (0) 20 7773 3460

I was mistaken last friday as the MST is in my log file, I had missed it.

So, I'm still stumped in the issue. If need me, I can copy the whole Log file, maybe I missed out on something.
Answered 07/28/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
Stephane,

http://msdn.microsoft.com/en-us/library/aa372085(VS.85).aspx

The second sentence says:
The installer applies the transforms in the same order as they are listed in the property.

In which transform are the properties changed and, if in the first, does the second also contain the same property, but with the original value?
Answered 07/28/2008 by: VBScab
Red Belt

Please log in to comment
0
Hello Ian,

Well in this test case, the property in question, I only launched my MSI with my generic MST. So, my command line is:

msiexec /i "F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\Futures_Trading_2.5.msi" TRANSFORMS=F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst /qb /L*v c:\log1.txt

So, my property ARPHELPTELEPHONE is originally in my MSI set to +44 (0) 20 7773 3460. I would of expected it to be changed at run time in my BNC.MST file, since in there, the same property reads (514) ***-**** / (866) ***-****.

So, to make a long answer short, both the MSI and the MST contain the same property, with different values.
Answered 07/28/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
...and your log DEFINITELY shows the transform being applied?
Answered 07/28/2008 by: VBScab
Red Belt

Please log in to comment
0
Aye...

Here's a paste of each time "BNC.MST" is found in my log file:
MSI (s) (E8:44) [08:15:37:949]: Looking for file transform: F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst
[...]
MSI (s) (E8:44) [08:15:37:981]: Original transform ==> F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst
[...]
MSI (s) (E8:44) [08:15:37:981]: SOFTWARE RESTRICTION POLICY: Verifying transform --> 'F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst' against software restriction policy
[...]
MSI (s) (E8:44) [08:15:37:981]: SOFTWARE RESTRICTION POLICY: F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst is not digitally signed
[...]
MSI (s) (E8:44) [08:15:37:996]: SOFTWARE RESTRICTION POLICY: F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst is permitted to run at the 'unrestricted' authorization level.
[...]
MSI (s) (E8:44) [08:15:38:012]: Command Line: TRANSFORMS=F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst CURRENTDIRECTORY=G:\ CLIENTUILEVEL=2 CLIENTPROCESSID=1556
[...]
MSI (s) (E8:44) [08:15:38:012]: PROPERTY CHANGE: Adding TRANSFORMS property. Its value is 'F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst'.
[...]
MSI (s) (E8:44) [08:15:38:027]: TRANSFORMS property is now: F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst
[...]
MSI (s) (E8:44) [08:15:55:981]: Processing cached transform: C:\Documents and Settings\fauberst\Application Data\Microsoft\Installer\{BDE67C8A-6630-11D5-B3D8-00508BF1F452}\BNC.Mst
[...]
MSI (s) (E8:44) [08:15:55:996]: Registering cached transform: *26*Microsoft\Installer\{BDE67C8A-6630-11D5-B3D8-00508BF1F452}\BNC.Mst
[...]
Property(S): TRANSFORMS = F:\DEV\Tresorerie\Futures_Trading_2.5\EN\SMS\BNC.Mst
*************************************************************************************

Anything here that rings a bell that I may have missed?
Answered 07/28/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
Yup, that's pretty clear! :) OK, in that log you should see:

PROPERTY CHANGE: Modifying ARPHELPTELEPHONE property. Its current value is '+44 (0) 20 7773 3460'. Its new value: '(514) ***-**** / (866) ***-**** '.

One thing that struck me...the '/' in the changed property value. What happens if you change that to a proper text value, e.g. "or"? I'm thinking that *maybe* the engine is treating that slash character as an escape character or something and, seeing it in the value, causes the change to be ignored.
Answered 07/28/2008 by: VBScab
Red Belt

Please log in to comment
0
Ok,

Still no go :-( I don't see the mentionned line in my log file. The ARPHELPTELEPHONE appears only once in my log file, and it's exactly like I mentioned above: Property(S): ARPHELPTELEPHONE = +44 (0) 20 7773 3460. I tried removing the slashes and putting nothing in it's place. Still no go.

It's almost as if Windows Installer takes some properties from the MSI and others from the MST. For example, contact information is written properly, but that's about it.

Now, I'm willing to try and modify my universal MST via another method if need be. Should I create an empty MSI file and compile it on that?
Answered 07/28/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
For some reason, the MST isn't transforming that property. If you're absolutely certain that the MST does indeed have that property and it has a new value, I would delete it and re-create it. It sounds nonsensical but I am no longer surprised that fixes which ought not to make sense actually do fix issues. It could be, for example, that a space has crept into the property name, making it either ' ARPHELPTELEPHONE' or 'ARPHELPTELEPHONE '.

BTW, if you load up the MSI into Orca or InstEdit then apply your transform, the tables which have changes will be highlighted and the changed values, too. That will save you some time. The two major MSI-authoring tools also have similar functionality but Orac/InstEdit will be quicker.
Answered 07/28/2008 by: VBScab
Red Belt

Please log in to comment
0
Is there some way I could force a creation of some properties? Or maybe some sort of FORCE repair?Like a check if property exists, and RECREATE it even if it does?...

Desperate times calls for desperate measures I guess.
Answered 07/28/2008 by: Fau
Senior Purple Belt

Please log in to comment
0
TRANSFORMS is a specially-handled Public property and as such must be in upper-case or else it will be ignored.

Ian, this isn't the case - at least not in later versions on windows installer from v3 onwards

Try it with lowercase a "transforms=" - they will still be applied...
Answered 07/28/2008 by: MSIPackager
Third Degree Black Belt

Please log in to comment
0
ORIGINAL: MSIPackager

TRANSFORMS is a specially-handled Public property and as such must be in upper-case or else it will be ignored.

Ian, this isn't the case - at least not in later versions on windows installer from v3 onwards

Try it with lowercase a "transforms=" - they will still be applied...



I did not know that, I have always used it in uppercase. Ta for the update!
Answered 08/05/2008 by: Thegunner
Second Degree Green Belt

Please log in to comment
Answer this question or Comment on this question for clarity