The trick is to get the validation conditions on the transform to be lenient.
The following validation conditions are available for a transform (these are
stored in the transform's summary information stream):
MSITRANSFORM_VALIDATE_LANGUAGE
MSITRANSFORM_VALIDATE_PRODUCT
MSITRANFORM_VALIDATE_UPGRADECODE
Any one of the following version specifications (which would also have a
validation equality flag as well)
MSITRANSFORM_VALIDATE_MAJORVERSION
MSITRANSFORM_VALIDATE_MINORVERSION
MSITRANSFORM_VALIDATE_UPDATEVERSION
You would basically want to not validate any of the transform validation
conditions that ensure product code, upgrade code, product version, and language
matching.
Depending on the types of changes you are making, you may want to suppress all
of the error conditions as well to ensure that the transform can be applied
without failure.
More specifics on the transform summary information stream can be found in the
MsiCreateTransformSummaryInfo API documentation at <
http://msdn.microsoft.com/library/en-us/msi/setup/msicreatetransformsummaryinfo.asp
You can easily accomplish this using the msitran.exe tool <
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msitran_exe.asp >
provided in the Windows Installer SDK.
A no validation suppress all error transform would be generated using something
similar to:
msitran -g simple.msi simple2.msi simple.mst abcdef
Hope this helps,
- Carolyn Napier
Microsoft Windows Installer Team
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.
MSI FAQ:
<
http://www.microsoft.com/windows2000/community/centers/management/msi_faq.mspx>