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

more than one transform for a chained package?

Hi,

It seems to me I cannot start a chained package with more than one transform.

In the "Chained .msi Packages" panel, I entered the "Install Properties"

TRANSFORMS=Transform1.mst;Transform2.mst

where both Transform1.mst and Transform2.mst are present in the source directory of the chained package (I do not stream the chained package).

This leads to a rollback , the log file saying

MSI (c) (C0:F0) [11:00:48:218]: Command Line: TRANSFORMS=Transform1.mst
MSI (c) (C0:F0) [11:00:48:218]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{085F3C60-56BC-42A6-90AD-0ED2DF3AB37B}'.
MSI (c) (C0:F0) [11:00:48:218]: PROPERTY CHANGE: Adding RecacheTransforms property. Its value is 'Z:\MyPath\ChainedPkg\Transform1.mst'.
MSI (c) (C0:F0) [11:00:48:218]: PROPERTY CHANGE: Adding TRANSFORMS property. Its value is 'Z:\MyPath\ChainedPkg\Transform1.mst'.
MSI (c) (C0:F0) [11:00:48:218]: Product Code passed to Engine.Initialize: ''
MSI (c) (C0:F0) [11:00:48:218]: Product Code from property table before transforms: '{1F0713E9-DC1C-4655-BC8F-C52F09DD53F2}'
MSI (c) (C0:F0) [11:00:48:218]: Product Code from property table after transforms: '{1F0713E9-DC1C-4655-BC8F-C52F09DD53F2}'
MSI (c) (C0:F0) [11:00:48:218]: Product not registered: beginning first-time install
MSI (c) (C0:F0) [11:00:48:218]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
MSI (c) (C0:F0) [11:00:48:218]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (c) (C0:F0) [11:00:48:218]: User policy value 'SearchOrder' is 'nmu'
MSI (c) (C0:F0) [11:00:48:218]: Adding new sources is allowed.
MSI (c) (C0:F0) [11:00:48:218]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
MSI (c) (C0:F0) [11:00:48:218]: Package name extracted from package path: 'ChainedPkg.msi'
MSI (c) (C0:F0) [11:00:48:250]: Package to be registered: 'ChainedPkg.msi'
MSI (c) (C0:F0) [11:00:48:250]: Note: 1: 2262 2: AdminProperties 3: -2147287038
MSI (c) (C0:F0) [11:00:48:250]: Machine policy value 'DisableMsi' is 0
MSI (c) (C0:F0) [11:00:48:250]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (c) (C0:F0) [11:00:48:250]: User policy value 'AlwaysInstallElevated' is 0
MSI (c) (C0:F0) [11:00:48:250]: Product installation will be elevated because user is admin and product is being installed per-machine.
MSI (c) (C0:F0) [11:00:48:250]: Running product '{1F0713E9-DC1C-4655-BC8F-C52F09DD53F2}' with elevated privileges: Product is assigned.
MSI (c) (C0:F0) [11:00:48:250]: PROPERTY CHANGE: Modifying TRANSFORMS property. Its current value is 'Z:\MyPath\ChainedPkg\Transform1.mst'. Its new value: 'Transform1.mst'.
Info 1639.Ungültiges Befehlszeilenargument. Ausführliche Befehlszeilenhilfe Transform2.MST
MSI (c) (C0:F0) [11:00:48:250]: Note: 1: 1708
MSI (c) (C0:F0) [11:00:48:250]: Product: ChainedPkg -- Installation failed.


This looks like the chainer cut off the value of the TRANSFORMS property at the semicolon and treated the part after the semicolon as a new command-line argument.

Then I tried quoting the TRANSFORMS property value, i.e.

TRANSFORMS="Transform1.mst;Transform2.mst"

Again installation rolls back; this time the log file says


MSI (c) (E0:FC) [10:42:02:625]: Looking for file transform: C:\WINDOWS\system32\Transform1.mst Transform2.mst
MSI (c) (E0:FC) [10:42:02:625]: Unable to create a temp copy of transform 'C:\WINDOWS\system32\Transform1.mst Transform2.mst'.
MSI (c) (E0:FC) [10:42:02:625]: Note: 1: 2203 2: C:\WINDOWS\system32\Transform1.mst Transform2.mst 3: -2147287038
MSI (c) (E0:FC) [10:42:02:625]: Couldn't find cached transform C:\WINDOWS\system32\Transform1.mst Transform2.mst. Looking for it at the source.
MSI (c) (E0:FC) [10:42:02:625]: Resolving source.
MSI (c) (E0:FC) [10:42:02:625]: Resolving source to launched-from source.
MSI (c) (E0:FC) [10:42:02:625]: Setting launched-from source as last-used.
MSI (c) (E0:FC) [10:42:02:625]: SOURCEDIR ==> Z:\MyPath\ChainedPkg\
MSI (c) (E0:FC) [10:42:02:625]: SOURCEDIR product ==> {1F0713E9-DC1C-4655-BC8F-C52F09DD53F2}
MSI (c) (E0:FC) [10:42:02:625]: Looking for file transform: C:\WINDOWS\system32\Transform1.mst Transform2.mst
MSI (c) (E0:FC) [10:42:02:625]: Unable to create a temp copy of transform 'C:\WINDOWS\system32\Transform1.mst Transform2.mst'.
MSI (c) (E0:FC) [10:42:02:625]: Note: 1: 2203 2: C:\WINDOWS\system32\Transform1.mst Transform2.mst 3: -2147287038
MSI (c) (E0:FC) [10:42:02:625]: Couldn't find cached transform C:\WINDOWS\system32\Transform1.mst Transform2.mst. Looking for it at the source.
MSI (c) (E0:FC) [10:42:02:625]: Looking for file transform: Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst
MSI (c) (E0:FC) [10:42:02:625]: Unable to create a temp copy of transform 'Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst'.
MSI (c) (E0:FC) [10:42:02:625]: Note: 1: 2203 2: Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst 3: -2147287038
DEBUG: Error 2203: Database: Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst. Cannot open database file. System error -2147287038
1: 2203 2: Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst 3: -2147287038
Fehler bei der Übernahme der Transformationspakete. Stellen Sie sicher, dass die Transformationspfade gültig sind.
Z:\MyPath\ChainedPkg\Transform1.mst Transform2.mst
MSI (c) (E0:FC) [10:42:02:625]: Note: 1: 1708
MSI (c) (E0:FC) [10:42:02:625]: Product: ChainedPkg -- Installation failed.


This looks like the chainer has replaced the semicolon by a blank at some stage before starting the chained package.

So is there any way to install a chained package with more than one transform?

Best regards

Matthias
Labels (1)
0 Kudos
2 Replies
chandu_mca06
Level 4

I guess if we include the mst files in double codes the installer will take entire file as one string and it will try to execute the entire string

Try like this

"Transform1.mst";"Transform1.mst"
0 Kudos
Matthias1967
Level 5

No, this does not work either - the behaviour is like in the first case (1639: invalid command-line argument). The chainer seems to cut off the value of the TRANSFORMS property at the semicolon. Looks like a bug in the IS Chainer, doesn't it?
0 Kudos