alf
Posts: 7
Joined: Thu Feb 06, 2020 12:44 pm

Problem building patch

Hello AI-team,

we have a problem building patches for our setup-files. We are using Advanced Installer version 15.9
We use a 4 digit product version, like x.x.x.x and always sign our setups with a certificate.

Our last released version is 6.7.1.5

Every version is built by a self written tool where you can select a zip with changes for our software.
Then the tool lets you decide if you want to build a service pack (full Setup) or a patch.
The tool uses the Advanced Installer to build a service pack / patch and changes the *.aip project of the release on the fly (change product code for a new setup, set target and upgrade for a patch etc.).

Inbetween version releases we have some setups built for test purposes (which are only released internally). Usually the product code changes with these test builds.

We now have a version number of 6.7.1.7 with only minor / minimal changes in some exe files. But it is not possible to build a patch between 6.7.1.7 and our released version 6.7.1.5 which is able to patch our last release.

Before building the patch I open the *.aip-file for this product to ensure that the correct product code (the one from 6.7.1.5) is available.
I think this is very important.

The patch project has the following switches set:
- Allow Product Code mismatches
- Allow Product Version major mismatches
- Include whole files only
- Disable automatic patch sequence information generation

Patch information in the tab "Add/Remove (Control Panel) are set correctly. The classification is set to Service pack.
The digital signature is using the correct certificate and works fine.

In the "Images" section a Family is generated. The Disk ID is 2, the file sequence is 219. I don't really know who has set these setting - maybe our self written build tool, which uses the Advanced Installer for generating setup or patch.

In the Family, upgraded image "Setup" points to the msi v6.7.1.7 and the target image "Setup_1" points to the msi v6.7.1.5.
Under "Validation" the following options are checked:
- Product must match base database
- Upgrade code must match base database
- Product version check: Check major, minor and update versions
- Product version relation: Installed version = base version

When a patch is built (as a Patch.exe), it is not possible to patch our released version 6.7.1.5.
We always get an error saying that the patch couldn't find a patchable version of our software.

Did I miss something? Am I doing something wrong?

We are due to release a patch next week, but I couldn't find the problem. Any help would be very appreciated.

Best regards
alf
Catalin
Posts: 7606
Joined: Wed Jun 13, 2018 7:49 am

Re: Problem building patch

Hello Alf and welcome to Advanced Installer forums,

I can not say for sure why you cannot build the patch.

As I am not quite sure what you meant by this:
When a patch is built (as a Patch.exe), it is not possible to patch our released version 6.7.1.5.
We always get an error saying that the patch couldn't find a patchable version of our software.
could you please forward me a screenshot of the error that you are getting at build time?

Also, in order for me to further investigate this issue, could you please forward me the following resources:

- a copy of the 6.7.1.5 .AIP file

- a copy of the 6.7.1.7 .AIP file

- a download link for the .MSI file built with the 6.7.1.5 .AIP file

- a download link for the .MSI file built with the 6.7.1.7 .AIP file

- a copy of the patch project (created by Advanced Installer)

by e-mail at support at advancedinstaller dot com?

Looking forward to hearing from you.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
alf
Posts: 7
Joined: Thu Feb 06, 2020 12:44 pm

Re: Problem building patch

Hello Catalin,

thank you for the quick reply.

Unfortunately (as I mentioned in my posting) our production process uses a build-tool, which changes the contents of our *.aip projects on-the-fly within the build process. So we normally have only one project file for the "Setup to be built" and one for the "patch to be built".

If I remember correctly the error was probably ERROR_PATCH_TARGET_NOT_FOUND:
"The installer cannot install the upgrade patch because the program being upgraded may be missing or the upgrade patch updates a different version of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch."

Interestingly, the following method seems to work:
Build the released version 6.7.1.5 once again. Then build a 6.7.1.7 (using the same product code from 6.7.1.5) and use the msi from the already signed and released 6.7.1.5 Setup.exe as the target - not (!) the msi from the freshly built 6.7.1.5.

I'll have another go during this week to build a patch from 6.7.1.5 with a new 6.7.1.8 or maybe 6.7.1.9 version and will try this method.
If I run into further problems I'd be glad to get back to you on that topic.

Best regards
Alf
Catalin
Posts: 7606
Joined: Wed Jun 13, 2018 7:49 am

Re: Problem building patch

Hello Alf,

Thank you for your followup on this.
Interestingly, the following method seems to work:
Build the released version 6.7.1.5 once again. Then build a 6.7.1.7 (using the same product code from 6.7.1.5) and use the msi from the already signed and released 6.7.1.5 Setup.exe as the target - not (!) the msi from the freshly built 6.7.1.5.
Please keep in mind that having the same Product Code is a must-have condition wen creating patches.

You can find more information about this in our "Creating Patches" article.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”