Patch appears to apply, but doesnt update anything.

Peter McDonald's picture

Hello,

We have a problem with a patch. It has been built in the normal way with Upgrade Sync and the patch wizard. I have to say at this point that we are trying to distibute a new control in this patch. I'm not sure if this is ideal but creating a full MSI installer will cause issues with our clients, so a patch is the preferred option. I can see using Orca that all of the files are present in the MSP and all appears well.

The verbose log analyser shows me the following errors :-

MSI (c) (60:E4) [03:28:31:901]: Note: 1: 2235 2:  3: ExtendedType 4: SELECT `Action`,`Type`,`Source`,`Target`, NULL, `ExtendedType` FROM `CustomAction` WHERE `Action` = 'WiseStartup.1E1B06A1_0A5A_4017_848F_3B01FB8AD06C'
MSI (c) (60:98) [03:28:31:917]: Invoking remote custom action. DLL: C:\DOCUME~1\PMCDON~1\LOCALS~1\Temp\MSI4C.tmp, Entrypoint: Startup
MSI (c) (60:98) [03:28:32:214]: Leaked MSIHANDLE (52) of type 790541 for thread 2124
MSI (c) (60:98) [03:28:32:214]: Note: 1: 2769 2: WiseStartup.1E1B06A1_0A5A_4017_848F_3B01FB8AD06C 3: 1
DEBUG: Error 2769:  Custom Action WiseStartup.1E1B06A1_0A5A_4017_848F_3B01FB8AD06C did not close 1 MSIHANDLEs.
Internal Error 2769. WiseStartup.1E1B06A1_0A5A_4017_848F_3B01FB8AD06C, 1
There are several other '2769' errors in the log, this is the first :-
MSI (c) (60:04) [03:28:41:917]: Leaked MSIHANDLE (102) of type 790540 for thread 2512
MSI (c) (60:04) [03:28:41:917]: Leaked MSIHANDLE (100) of type 790540 for thread 2512
MSI (c) (60:04) [03:28:41:917]: Leaked MSIHANDLE (95) of type 790541 for thread 2512
MSI (c) (60:04) [03:28:41:917]: Note: 1: 2769 2: SetPatchMode 3: 3
DEBUG: Error 2769:  Custom Action SetPatchMode did not close 3 MSIHANDLEs.
Internal Error 2769. SetPatchMode, 3
We tried taking the new control out and the patch applied the other changed components.

If anyone has any help or advice it will be gratefully accepted!

Many thanks,

Pete.

EdT's picture

What exactly is your problem?

The log samples you have posted, which refer to events where msihandles are not closed, are not uncommon in MSI logs in my experience, and are unlikely to have anything to do with your issue.

So can you supply additional information on the content of your patch - for example, are you referring to an ActiveX control or something else?

Effectively, are you trying to update content that is USER specific ?

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

VBScab's picture

I don't know about others, but...

...I can't recall ever putting a new component in a patch. Perhaps it's the erstwhile programmer in me or maybe my age but, to my mind, a patch is designed to alter existing components. New components belong in an update package, a new MSI. I cannot for the life of me think why a client would have an issue with that.

BTW, is the new component in an existing feature or a new one? If the latter, I don't think you can patch like that: patches get applied to existing features only, IIRC.

Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.

EdT's picture

Subfeature

VBScab is correct - you cannot add a new feature using a patch. Any NEW content in a patch needs to be in a new component, and the component can be in a new SUB-feature.
The help file MSI.CHM is a good reference for patching and upgrading topics - just search on "Patch".

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Peter McDonald's picture

Futher Information

Guys,

Thanks for the help thus far, here is some more detail of the problem as I thought the 'errors' were the issue!

We are attempting to distibute a later version of a 3rd party OCX.

Prior version of MSI contains V13 of 3rd party control and our software compiled against it. This 3rd party control is in a merge module.

Later version of MSI contains V15 of 3rd party control and our software compiled against it. The v13 modules has been removed and replaced with v15 merge modules.

Patch has been created between the two installes using UpgradeSync & Patch Wizard.

The patch appears to apply succesfully, in that it completes and does not display any errors. However, no software has been updated. The errors in my first post appear only in the verbose log.

If I remove the v15 merge modules, and replace with the original v13. The patch applies and correctly updates our software with the later version.

Hope that clarifies things, any further ideas??

Thanks in advance,

Pete.

EdT's picture

More confused than before

Quote: "If I remove the v15 merge modules, and replace with the original v13. The patch applies and correctly updates our software with the later version.

So having deployed your original V13 application, you take your MSI and replace the V15 merge modules with V13 merge modules and create a patch, which then updates your software correctly. HUH??  It updates it from V13 to V13? 
Or are you saying that replacing the V15 with V13 merge modules correctly updates your software with the later version? How does that work - putting the V13 merge modules back surely cannot update successfully with the later V15 merge modules which have been removed.

I'm obviously being dense but having read the above several times, it makes no sense whatsoever.

So let's go back to the concept of getting a verbose log generated, and look for the install states of the various components.

Alternatively, stop working on a patch for the moment, and create the update as a full upgrade and see if you can get that to work. At least once you get the full upgrade working you will know you have a good base from which to go for a patch.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Peter McDonald's picture

Thanks all the same!!

Thanks for your help, but I think you are right, we will abandon adding the new control to the patch and save the control upgrade for a full installer release in the future..

Thanks again!

Pete.

EdT's picture

If it ain't totally broke

I'm all for an easy life.
As you say, if there is no compelling reason to go for an upgrade right away, then deferring the change until the next full release can only serve to minimise the hassle factor.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.