NigelShaw
Posts: 58
Joined: Wed Apr 01, 2015 12:45 am

Update - Best or Typical practice

Tue Aug 30, 2022 10:22 pm

Hey

Ive had various threads regarding updates, each one with a specific topical direction. Ive also been through your help files and while i appreciate they are helpful, each help file is specific to its content and i cant really find anything that explains in detail a way to create an initial installer followed up by a update process, So, would you please be able to add or at least respond here with a systematic breakdown of how one should create then manage an install file through its lifecycle as a typical or best practice?

1. First time Install
2. Update. Patch, Upgrade or a new build event?
3. Should we save an install project file for every iteration of new version
etc

This is how i would define
Install - a file that will install the latest version. for example, the first time advanced installer has ever been installed
patch - a file to repair your current version without changing your assembly version. for example, updating a faulty library reference
update - a file that will change your latest installed version to the latest version while keeping any existing settings. for example, 18.0 to 18.5
upgrade - a file that will change the options of the install. for example, Advanced installer from Architect to enterprise, both on the same 18.5

So
If im working with assembly iterations, i would assume an update. That update would contain all of the install files required and be made available to any new user.
If im offering different version types that provided different features, that upgrade would contain a way to differentiate those options within the same assembly version. All upgrades would be within the same assembly version
If there was a small issue that needed a band aid or 'patching up', i would make a patch to fix it within that assembly version

Would i then, be looking at making updates using the same build installer with all files and generating a new product code each time?
Would i need to save each minor version as a new installer copy of the build project?


Thanks

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

Re: Update - Best or Typical practice

Thu Sep 01, 2022 10:58 am

Hello Nigel,
This is how i would define
Install - a file that will install the latest version. for example, the first time advanced installer has ever been installed
patch - a file to repair your current version without changing your assembly version. for example, updating a faulty library reference
update - a file that will change your latest installed version to the latest version while keeping any existing settings. for example, 18.0 to 18.5
upgrade - a file that will change the options of the install. for example, Advanced installer from Architect to enterprise, both on the same 18.5
From what I can see, you got quite the wrong grasp of what these terms mean. Please allow me to explain and hopefully we will be able to better understand.

The installation of your setup basically means copying the files and modifying the system in order to allow your application to correctly work. This has nothing to do with the version. you can either install v1.0 or v100.0, it does not really matter.

Now, an update is the process which will update the files from your setup. There are two type of upgrades:

- a patch

- a major upgrade

Each method has its' advantages and disadvantages.

A MSI file is a database file.

A .MSP file (a patch) is a file that will add information to that MSI file. This is done through the ProductCode property, this being the reason why for patches you do not need to change the ProductCode. The MSP file will basically merge the tables from itself with the tables from the target MSI at install time.

The patch basically represents the diff between two MSI files (e.g. v1 and v2).

One advantage of the patch file is the fact that it's smaller in size.

One disadvantage is the fact that the patch can not be installed by itself.

On the other hand, a major upgrade process looks like this:

- before v2 is installed, it automatically uninstalls v1 from the computer.

Obviously here, one advantage of this is that v2 can be installed as a first-time install, too, you do not need the previous version in order to install it.

One disadvantage would be the fact that the update increases in size, compared to a patch.

Hopefully you now better understand these concepts and the above information answers your further questions.

Regarding this:
Would i need to save each minor version as a new installer copy of the build project?
The answer is yes, it is recommended that you do that.


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

NigelShaw
Posts: 58
Joined: Wed Apr 01, 2015 12:45 am

Re: Update - Best or Typical practice

Thu Sep 01, 2022 2:15 pm

Hey

Ok i understand.

Thanks

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Update - Best or Typical practice

Fri Sep 02, 2022 8:10 am

You're always welcome!

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”