Patch Install

Got a problem you cannot solve? Try here.
kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Patch Install

Postby kadourah » Thu Dec 13, 2012 10:40 am

Hi,
We are trying to setup our first Patch install and need clarification on few items, so here is the scenario:

1. We built our first install, we are using web med media blocks, and that works great.
2. Installed the first msi on a test machine.
3. We built the patch, and produced a single file which I'm assuming has the changed files.
4. We run the patch, but we are prompted with an "Uninstall" first

The question is we are trying to invoke an update and not an uninstall, so found the setting "Change Revision Code Automatically Upon Rebuild" mentioned in the help, now, should we uncheck this setting? and does that have any other drawback? and will that solve our issue?

Thank you,
Cal

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Thu Dec 13, 2012 11:39 am

Dear User,

I suspect you modified some project settings as; PRODUCTCODE, UPGRADECODE or project VERSION.

Please take a look to the folowing topics;
http://forums.installaware.com/viewtopic.php?f=2&t=8847&hilit=+patch
http://forums.installaware.com/viewtopic.php?f=2&t=8619&hilit=+patch

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Re: Patch Install

Postby kadourah » Thu Dec 13, 2012 12:26 pm

Hi Francesco,
OK, so here is what I did :

1. I removed all prior patch project references.
2. I created new install
3. I installed it on a test machine
4. I then updated the install under Patch Section and referenced the full install to create a patch.
5. Built the patch
6. I then run the patch, and yet I'm still faced with an uninstall first.

Keep in mind I didnt' change the PRODUCTCODE, UPGRADECODE or project VERSION between the first install and the patch install.

Am i missing something? I only want to to do an update when the patch run and not an uninstall and and update?

Any ideas are highly welcome :)

thanks,
Cal

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Thu Dec 13, 2012 1:18 pm

Dear Cal,

please have a look at the attached project that demostrates patch build functionality.

Please note, the attached files already contains the builded output files and as well the patch build. If you want to rebuild the patch output file, you must update the used patch reference path with one which reflect your local environment.

Hope this helps you.

Regards
Attachments
Patch.rar
(5.08 MiB) Downloaded 1312 times
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Re: Patch Install

Postby kadourah » Thu Dec 13, 2012 1:34 pm

Thank you for you for your response, so, I ran the first install which installed the application then I ran the patch and it also "did uninstall", so my question is this the expected behavior?

What I want it to do is run in "maintenance mode" and not uninstall the entire program.

Thank you,
Cal

kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Re: Patch Install

Postby kadourah » Thu Dec 13, 2012 3:05 pm

Maybe Patch install is not what I should be using, basically my intent is incrementally update/add files without doing an uninstall. Can that be done using one installer?

thanks,
Cal

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Fri Dec 14, 2012 3:48 am

Dear Cal,

you should run the executable file under the patch build folder "..\Patch\Version1010\Patch" and not the one under the release folder "..\Patch\Version1010\Release\Single".

Otherwise you run an update which requires Uninstall - Install sequence.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Re: Patch Install

Postby kadourah » Mon Dec 24, 2012 11:07 am

Thanks Francesco,
I might be missing something, so in the attached example you provided there are two projects and indeed the setup runs OK the when I run the patched and it does update the files.

So, in my current setup I have only one install project since I will be issuing continues patches and it doesn't make sense to have separate projects for every update. I checked the project settings such as PRODUCTCODE, UPGRADECODE or project VERSION, and they all seem to not be changing. Is there a way to diagnose why it would do a uninstall/Install vs an update?

I hope my question makes sense :)

Thanks,
Cal

kadourah
Posts: 12
Joined: Thu Oct 11, 2012 2:22 pm

Re: Patch Install

Postby kadourah » Tue Dec 25, 2012 10:09 am

OK, so I may have a found a solution but I need a confirmation this is the correct way. I unchecked "Change revision code automatically upon rebuild" and I built the patch, then once I run the patch it brings the Repair screen without uninstall first.

Would that approach work?

Thanks,
Cal

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Thu Dec 27, 2012 5:25 am

Dear Cal,

you should not change your project revision code generation settings.
Having identical product codes but different revision codes between installer packages indicates that one of the packages is an upgrade.
This is the reason why currently, your package it not reconized as an upgrade and it goes through with maintenace mode displaying the Repair screen.
For more information about Revision code please refer to "The Meaning of Product and Revision Codes".

It is always a good pratice to keep separate projects for the base installation and patch. With this I'm not saying to have separate projects for every patch update that you release, but at least, you should have a separate project for the base project and another one for the patch/update release.
This will assure you to be able to correct any possible error that could happen over a product that you already have distributed.

For what you are telling me, I really suspect that exist a possible problem with the way you used to produce your patch project, but it is not easy to find out what it is causing your issue, if you haven't anymore the possibility to have access to the original base project you used.

To summarize, the required steps to produce a patch project correctly are;

- 1. The setup locic must be the same across your projects.
To be more clear, the patch project must be the exact copy of the base project.
If for example, in your base project you install File A and File B and with the patch you replace file B, the installation of file A must be still present in your patch project.

- 2. The project name, Product code, Upgrade code and Version number, must be exactly identical in all patches projects with that ones you used in your base project.

- 3. Each patch project must have the reference to the full build of any previous version for which the patch is related ( in InstallAware Project patch refernces).

If you have:

- Project 1 (base project)
- Project 2 (patch project)
- Project 3 (patch project)

The patch relation references will be:

- Project 1 - No references
- Project 2 - Reference to Project 1 full build
- Project 3 - Reference to Project 1 and Project 2 full build

If you do not follow the above rules, your patch project will not resolve correctly the binaries differences.

- 4. The "Always Cache Setup Sources (enables easy patching)" control in all your projects build settings, must be checked (not filled). This must be applied in every project (base and patches projects - please refer to IA documentation).

- 5 Path project have to be used for minimal update/changes only.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

brunderj
Posts: 19
Joined: Mon Aug 06, 2012 7:05 pm

Re: Patch Install

Postby brunderj » Mon Feb 11, 2013 10:10 pm

Dear Francesco,

This is a great summary, but I need a little clarification on a couple of your Patch steps:

1) The setup logic must be the same across your projects.
- Does this mean that the script(s) must be the same across each project also?
- Do you need the original msi file? (I edited the original script and recompiled (no build) before archiving the original web deploy setup folder)
- Does this preclude one from Adding or Deleting any files in the setup?

2) The project name, Product code, Upgrade code and Version number, must be exactly identical in all patches projects with that ones you used in your base project.
- If all these must be the same, does this must mean I can't use a patch to upgrade to a new version?
- If yes, then what is the proper way to build an update that changes the version number of the program?

Thanks in advance!

John

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Tue Feb 12, 2013 10:15 am

Dear John,

1) The setup logic must be the same across your projects.
- Does this mean that the script(s) must be the same across each project also?

yes the exact copy.

- Do you need the original msi file? (I edited the original script and recompiled (no build) before archiving the original web deploy setup folder)
- Does this preclude one from Adding or Deleting any files in the setup?

You need to add to the patch reference list, any previous version builded (MSI or EXE setup packages) for which the patch must be applied.

2) The project name, Product code, Upgrade code and Version number, must be exactly identical in all patches projects with that ones you used in your base project.
- If all these must be the same, does this must mean I can't use a patch to upgrade to a new version?
- If yes, then what is the proper way to build an update that changes the version number of the program?

You can't use the patch to upgrade to a new product version, always base project version must be used.
You can use a custom variable to keep track of the version. You could store it under Registry and then read it from your application.
However the product version available in Control Panel -> ARP can't be changed by the patch.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

brunderj
Posts: 19
Joined: Mon Aug 06, 2012 7:05 pm

Re: Patch Install

Postby brunderj » Tue Feb 12, 2013 8:00 pm

Thanks Francesco. I'm actually starting to understand this a bit better.

1) Based upon your answer about the scripts question, if I had to change the main MSICode script to correct an error in my original installation code, then are you saying that I MUST use a maintenance update, and NOT a patch, to update my installation?

2) I use IA 10, so I just want to make sure I understand which fields these are:
- PRODUCTCODE: Found in both the Project Options dialog and the Project Properties page of the Designer under the same name.
- UPGRADECODE: Only found in the Project Options dialog as "Upgrade Products with Product Code" field. NOTE: This is NOT the same thing as the REVISION CODE.
- PROJECT VERSION: Is this the same as PROGRAM VERSION, which is found in both the Project Options dialog and the Project Properties page of the Designer?

I just want to make sure we are using the same terminology...Please correct anything I got wrong!

Thanks,

John

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Patch Install

Postby FrancescoT » Wed Feb 13, 2013 8:22 am

Dear John,

1) Based upon your answer about the scripts question, if I had to change the main MSICode script to correct an error in my original installation code, then are you saying that I MUST use a maintenance update, and NOT a patch, to update my installation?

Yes it is suggested.

PRODUCTCODE: Found in both the Project Options dialog and the Project Properties page of the Designer under the same name.

Yes it is.
UPGRADECODE: Only found in the Project Options dialog as "Upgrade Products with Product Code" field. NOTE: This is NOT the same thing as the REVISION CODE

Yes, the UPGRADECODE is only available with the Project Options dialog (SHIFT+CTRL+F11).
The REVISIONCODE is used to identify uniquely a setup package (it doesn't have nothing to do with any other project code)
You can have InstallAware automatically update this code every time you rebuild your setup project using the Build Settings window(recommended).

PROJECT VERSION: Is this the same as PROGRAM VERSION, which is found in both the Project Options dialog and the Project Properties page of the Designer?

Yes it is. But it is reported as "Product Version" in both IA interfaces.

Regards.
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: Google [Bot] and 103 guests