|
|
#1 (permalink) |
|
Guest
Posts: n/a
|
I have what I think is a very basic question about MSI transforms and
MSI patches. I am working with a "Basic MSI" installer (no boot strapper) that was authored in InstallShield 2009. The installer is very simple, probably one of the most straight forward installers I have ever worked with. We have built and released a series of "old style" patches against the Gold version of the installer and the patches apply correctly. The patches are pure superseding patches. Interesting things to note in the .pcp file for the patches are: Properties Table: SEQUENCE_DATA_GENERATION_DISABLED == 1 (We manage patch sequencing via the "ListOfPatchGuidsToReplace", and that is set correctly in our build scripts.) TargetImages Table: ProductValidateFlags is <blank>. (This is, I think, a bug in our build scripts. I expected this to be 0x922.) I am now building a transform that will be applied to the Gold installer for new deployments and the 'transformed' gold version needs to accept the patches. This is where I am running into problems. I can build a transform (using my utility, described below) that can be viewed in Orca and applied successfully while installing Gold. What doesn't work, however, is patch application over the 'transformed' image. Here is a snippet from the patch log file that shows the error: MSI (s) (E0:7C) [11:26:38:950]: Note: 1: 2318 2: C:\Config.Msi \PFB2.tmp MSI (s) (E0:7C) [11:26:38:966]: Note: 1: 2302 2: 0 MSI (s) (E0:7C) [11:26:38:966]: Note: 1: 1328 2: C:\Config.Msi \PTAE.tmp 3: -1072807676 MSI (s) (E0:7C) [14:51:59:184]: Product: MyProduct 2.0.1.6 -- Error 1328.Error applying patch to file C:\Config.Msi\PTAE.tmp. It has probably been updated by other means, and can no longer be modified by this patch. For more information contact your patch vendor. System Error: -1072807676 In the interest of removing variable from the equation, I have reduced the changes in the transform to the introduction of a single new Property that is not referenced in the initial installer or the patch. The error still happens. I build the transform using a custom C#/C++ utility that does a bunch of complicated Notes database stuff before launching into the MSI API's to create the patch. I am currently using zero for the validation flag and the error condition flag in the call to CreateTransformSummaryInfo (this is an attempt to turn off any validation that might be getting in the way of the patch.) I would like to go back to strict validation on the transform for the final version. What am I missing? I am sure that this is a simple mismatch between the validation flags on the transform and the patch, and I have the good fortune of controlling the source and build scripts for both. Anyone have any clues or hints for me? Thanks, Dave |
|
|
|
#2 (permalink) |
|
Guest
Posts: n/a
|
<sound of crickets...>
For the record, this issue is now resolved. I opened an incident with Microsoft and they identified this as a bug in an old version of mspatchc.dll and/or patchwiz.dll and/or msimsp.exe, not an issue with the way I am building the transform (or patch). Downloading the version 7 of the MSI SDK and recompiling my patch fixed my issue. If anyone should stumble across this post because they have a similar problem then I would recommend updating to the latest SDK. Thanks, Dave On Aug 25, 4:07*pm, "Installer Factory, LLC" <dkbro...@gmail.com> wrote: > I have what I think is a very basic question about MSI transforms and > MSI patches. > > I am working with a "Basic MSI" installer (no boot strapper) that was > authored in InstallShield 2009. *The installer is very simple, > probably one of the most straight forward installers I have ever > worked with. *We have built and released a series of "old style" > patches against the Gold version of the installer and the patches > apply correctly. *The patches are pure superseding patches. > > Interesting things to note in the .pcp file for the patches are: > * * Properties Table: SEQUENCE_DATA_GENERATION_DISABLED == 1 (We > manage patch sequencing via the "ListOfPatchGuidsToReplace", and that > is set correctly in our build scripts.) > * * TargetImages Table: ProductValidateFlags is <blank>. *(This is,I > think, a bug in our build scripts. *I expected this to be 0x922.) > > I am now building a transform that will be applied to the Gold > installer for new deployments and the 'transformed' gold version needs > to accept the patches. *This is where I am running into problems. > > I can build a transform (using my utility, described below) that can > be viewed in Orca and applied successfully while installing Gold. > What doesn't work, however, is patch application over the > 'transformed' image. *Here is a snippet from the patch log file that > shows the error: > > * * MSI (s) (E0:7C) [11:26:38:950]: Note: 1: 2318 2: C:\Config.Msi > \PFB2.tmp > * * MSI (s) (E0:7C) [11:26:38:966]: Note: 1: 2302 2: 0 > * * MSI (s) (E0:7C) [11:26:38:966]: Note: 1: 1328 2: C:\Config.Msi > \PTAE.tmp 3: -1072807676 > * * MSI (s) (E0:7C) [14:51:59:184]: Product: MyProduct 2.0.1.6 -- > Error 1328.Error applying patch to file C:\Config.Msi\PTAE.tmp. *It > has probably been updated by other means, and can no longer be > modified by this patch. *For more information contact your patch > vendor. *System Error: -1072807676 > > In the interest of removing variable from the equation, I have reduced > the changes in the transform to the introduction of a single new > Property that is not referenced in the initial installer or the > patch. *The error still happens. > > I build the transform using a custom C#/C++ utility that does a bunch > of complicated Notes database stuff before launching into the MSI > API's to create the patch. *I am currently using zero for the > validation flag and the error condition flag in the call to > CreateTransformSummaryInfo (this is an attempt to turn off any > validation that might be getting in the way of the patch.) *I would > like to go back to strict validation on the transform for the final > version. > > What am I missing? *I am sure that this is a simple mismatch between > the validation flags on the transform and the patch, and I have the > good fortune of controlling the source and build scripts for both. > Anyone have any clues or hints for me? > > Thanks, > > Dave |
|