After some time struggling with patches I am quite confused now.
Here is my situation: Based of an installation with our main installer, I want to patch it later to a newer version. Hence I need to test this now. The main goal is, to deliver small patches to the client, which are installable without UAC prompt (for that I already found out what is LUA patching and howto enable it ...).
First I created an AI project, containing 3 different build types (Client, Server and a special Viewer output type). Except the Viewer, all output types are 32-/64-bit mixed packages. The Viewer is 32-Bit only and can be skipped for this task. Then I found out, that I can't use merge modules or synchronized folders for the installer, because they would confuse the file sequence numbers and avoid proper patching (nice to get this known at this point, it costs me some time to work around that). After reading through some manuals and guides from both AI and MS web sites, I still a little bit confused by the patch and howto author and do patching in general. Needless to say, that later all packages later needs to be created automatically by the build server.
Lets assume, that I start from version 11.0.1 of the product (this is the target version). This gets installed with one of the installer of the main project mentioned above. Then I want to patch this program to version 11.0.2 (this is the upgraded version). Hence I create a new patch project, add under "Images" a new family with some name, then the new upgraded image 11.0.2 and then the target image 11.0.1. This seems to be correct and I am able to update with the resulting patch 11.0.2.msp one of the build outputs of the main project.
My questions are starting with some rarely documented options of the patch project. What e.g. means:
- * Patch Details --> Patches to replace: Do I have to replace every previous patch?
* Images -> Family: For what are families are useful?
* Images -> Family -> Media Property Name, Disk, ID, File Sequence Start: Do I have to touch this? What is this useful for?
* Images -> Upgraded -> Patch Package: What is this for?
* Patch Sequence: For what is this being used?
* Media -> Patch Source List: What is this for?
Is it possible to add additional install conditions?
And finally: Do I need to create an individual patch package for each of the 4 major msi packages, I get with above mentioned main installer (server+client, x86+x64)?
I have seen in Orca, that each patch has also its own Patch Code (like the package code for msi packages). Can I reuse the same project file for all upcoming patches and just update it to the latest version, or is this not a recommended way to use it?
I know, these are a lot of questions, thanks for helping anyway!
Regards,
RM