R.Mueller
Posts: 202
Joined: Thu Aug 02, 2012 3:31 pm

Quick Patch Creation

Hi,

Is there a quicker way of creating patches, when I just want to replace some files?

I know that InstallShield has the option to create a quick patch based on an existing package. You can just provide some new binaries for specific components and you are able to create a msp out of it. Quick and (dirty?).

But the documention of Advanced Installer just knows the more complex way of creating a new msi package: you need the updated binaries, a new MSI, extracting all to multiple folders and then creating the patch out of it. This procedure is very error proven and you need at least 3 aip project files and 4 msi files involved in this procedure (like in our case, when you want to create packages for 32- and 64-bit). Not mentioning the local administrative install to extract the packages and so on.

My idea is something like to extract the original msi package, make a copy of the folder and replace the files I want to patch and finally create a patch out of it. I tried to do so, but I got some weird error messages by MsiMsp.exe. One of the problems seems to be the package code of the second file - i tried to change it in my updated folder with Orca but without success.

So, final questions:
  1. Can it generally work like this?
  2. Is there an easy quick way of creating patches, when I just want to replace a single file?
  3. Is an update of AI functionality planned in the near future to support easier patch authoring?
Thanks for your information

Regards,

R.Mueller
Catalin
Posts: 6600
Joined: Wed Jun 13, 2018 7:49 am

Re: Quick Patch Creation

Hello R. Mueller,

First of all, a patch represents only the diffs between two different versions of the same application and it can only be installed if the older version is already present on the target machine, thus you will always need to have at least two MSIs / Exes in order to create a patch.
Is there an easy quick way of creating patches, ...
The only easy way that I can think of is using the "Install MSI as minor upgrade (if applicable)" option from the "Bootstrapper Options" (Builds page), if your package is of EXE type.
My idea is something like to extract the original msi package, make a copy of the folder and replace the files I want to patch and finally create a patch out of it.
Unfortunately, that is not possible using Advanced Installer.
Is an update of AI functionality planned in the near future to support easier patch authoring?
Unfortunately, we do not have this on our TODO list, since no one asked for this before.

Regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
R.Mueller
Posts: 202
Joined: Thu Aug 02, 2012 3:31 pm

Re: Quick Patch Creation

Hi Catalin,

thanks for your reply. Maybe my initial question was a bit unclear (or unsharp).

A patch is a diff between two MSI packages, this is clear for me. I want to make the process of replacing a single file as easy and as quick as possible, because we want to ship some hotfixes this way to the customer.
My idea is something like to extract the original msi package, make a copy of the folder and replace the files I want to patch and finally create a patch out of it.
This is exactly addressing this problem. Currently we have a team build, which does a complete rebuild of everything and then creating a new msi with Advanced installer. When I use this package and compare it against the originally delivered msi, I will get a patch with at least ~100MB - because each file has been changed.

That is my question: How can I shortcut the procedure, when I know which files explicitly to replace?

The procedure could look like this:
  1. Extract original MSI with administrative install
  2. Make a copy of the folder and replace the file-to-be-patched
  3. Use both folders to create the patch
When I try this out, I am getting an errors in the last step from MsiMsp tool and unfortunately the error message is quite unspecific.

I guess the problem is that the second folder's MSI is basically the original one and does not know about any changes in the structure and furthermore the package code will be the same.

Can I tweak this somehow, e.g. with Orca? How can I let the patch tool know, which file has to be changed?

The reason why i am asking such things is the fact, that our setup is quite huge and I would need to conserve all the files, from that point when the original package was created (and for all versions deployed). I would need to put this copy somewhere, replace the single file in this structure and create a new MSI package, what would be used for the patch. This is a mouthful of manual steps, which are hard to automate somehow.

Regards,

RM
Catalin
Posts: 6600
Joined: Wed Jun 13, 2018 7:49 am

Re: Quick Patch Creation

Hello R. Mueller,

Unfortunately, I am afraid that I am not aware of any workaround which you can use to automate / speedup your process with either Advanced Installer or any other free tool such as Orca.

The only solution I can give you at this moment is to use our predefined support for creating patches.

I have forwarded your request to the development team and we will analyze your suggestion and maybe try to come up with such a new feature in the future.

Unfortunately, for the moment, I can not give you any guarantee nor any estimate.

Thank you for your understanding.

Regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
R.Mueller
Posts: 202
Joined: Thu Aug 02, 2012 3:31 pm

Re: Quick Patch Creation

Ok, thanks.

I will looking forward for such a handy feature.

Regards,

RM
Catalin
Posts: 6600
Joined: Wed Jun 13, 2018 7:49 am

Re: Quick Patch Creation

You're always welcome!

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

Return to “Building Installers”