Hello,

I'm trying to make a transform using WindowsInstaller object but i have a problem with the GenerateTransform method :

Every thing is going well untill i test the generated MST and i get the message :
'Error applying transforms. Verify that the specified transform paths are valid.'
The path is valid, i can edit the MST with adminStudio without any problem.

Generating any MST of any MSI with the Microsoft SDK sample WiGenXfm.vbs ends to the same error.

It seems that the microsoft method generate invalid transforms...
Does anyone knows about the problem?

Thank you by advance.
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
On the machine where you are running the WiGenXfm.vbs script, what is the installed version of Windows Installer (msiexec / ? will tell you).

Now check the schema value (held in the summary information) for each of your source MSI and changed MSI. If either specify a later release of Windows Installer than that installed on your machine, then this could be one cause of the problem.

Other possible reasons for this error might include :

(i) Transform already exists on the machine, try using another name for the transform.
(ii) The product for which you are trying to generate the transform is already
installed on the machine - use Add/Remove programs to remove and then retry
the script.

Regards,

Spartacus
Answered 07/08/2008 by: spartacus
Black Belt

Please log in to comment
0
Without wishing to be rude, one only has to look at the date/timestamps (Feb 2003) on the SDK scripts to figure that any issues would *probably* have been highlighted and fixed by now.

Remember also that those scripts aren't intended (IMV) for production use: they are *samples*, guiding you in what can be done. The first thing to add to any production version of them, for example, is a raft of 'If File(whatever)/Folder(whatever) Exists' error traps...
Answered 07/09/2008 by: VBScab
Red Belt

Please log in to comment
0
Thanks for reply,

I'm working with windows installer v.3.01.4000.1823 and the schema value for each MSI is 110.
But i wonder why AdminStudio v6 is able of generating a valid MST with those MSIs while WindowsInstaller.installer cant.

I have found a post of another packager who is having the same problem with this method but no answer is given.

Of course i'm not using directly this sample for production i used it only to verify if the problem was with my script or with the method.
The sample WiGenXfm.vbs is old but this is the only way i found to generate a transform by scripting. And since msdn can not help, samples are the only way to learn how to use those methods.

Do you know another way to generate a transform from two MSI by scripting or with a command line?

Maybe with InstallShied API ISWiObject Object ? but i haven't figured out how...

Thanks by advance for any help you will give


Guillaume
Answered 07/09/2008 by: Guigui76
Yellow Belt

Please log in to comment
0
I have a copy of a script used at another client I worked for which used this method to add a bunch of standard properties to each package so it does work. PM me an email address and I'll upload it to SednUIt.com then send you the link, if you're interested. Of course, there'll be a whole bunch of irrelevant stuff in there but it'll show you the sequence used, at the very least.
Answered 07/09/2008 by: VBScab
Red Belt

Please log in to comment
0
I would imagine you need to populate the Summary Information Stream of the transform.

Solution:
Underneath the line which says:
Dim different:different = database2.GenerateTransform(database1, transform) : CheckError

Add a new line like this:
database2.CreateTransformSummaryInfo database1,transform,0,0

Check the Windows Installer help documentation for information regarding parameters.
Answered 07/09/2008 by: captain_planet
Third Degree Brown Belt

Please log in to comment
0
Do you know another way to generate a transform from two MSI by scripting or with a command line?

MsiTran.Exe from the SDK.
Answered 07/09/2008 by: Jamie B
Orange Senior Belt

Please log in to comment
0
Thanks every body, it was because empty Summary Information Stream (thx captain_planet).Now my script is working :)

And thanks also for the other solutions in case it wouldn't have worked ;)
Answered 07/15/2008 by: Guigui76
Yellow Belt

Please log in to comment
0
nice pick up Captain_planet, can i ask how you knew that ?

just experience or was there a piece on info on this post which gave it away ? I dont see any reason how you knew that. just curious as the info could be useful.
Answered 07/15/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Thanks, John. I knew due to a fair bit of experience in creating scripts to streamline a few common packaging processes we have here.

When I initially set out to create these scripts, I just used the help documentation extensively. Under 'Database.GenerateTransform' the second paragraph says:

"If the transform is to be applied during an installation you must use the CreateTransformSummaryInfo method to populate the summary information stream."

[;)]
Answered 07/16/2008 by: captain_planet
Third Degree Brown Belt

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