A bug with the GenerateTransform method?
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.
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
Answers (9)
Please log in to answer
Posted by:
spartacus
15 years ago
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
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
Posted by:
anonymous_9363
15 years ago
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...
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...
Posted by:
Guigui76
15 years ago
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
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
Posted by:
anonymous_9363
15 years ago
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.
Posted by:
captain_planet
15 years ago
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.
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.
Posted by:
Jamie B
15 years ago
Posted by:
Guigui76
15 years ago
Posted by:
jmcfadyen
15 years ago
Posted by:
captain_planet
15 years ago
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 theCreateTransformSummaryInfo method to populate the summary information stream."
[;)]
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
[;)]
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.