PDA

View Full Version : Patch



UpWritePress
06-22-2004, 06:11 PM
Excuse me for the stupid question, but do I need to have an MSI installation to create a patch for a release project?

I'm about to release a product, I built the installer using a regular Installscript Project Type (seemed to go smoothest for me with the cutomizing and such).

Am I able to create a patch for this type of project? Or do I need to be building MSI projects... and if so, would it be advisable/easy to convert what I have now to a MSI project? And if so, would using a Installscript MSI project allow me to just use all the code I'm using now in my project?)

Sorry, just never really understood (or tried to find out) how I could make small updates for a released program.

Thanks for any insight,
Jason

Martina
09-17-2004, 02:35 AM
Hi,

I have exactly the same question. Do you know the answer already?

Martina

max_moyseyenko
02-11-2005, 10:48 AM
It looks like there is still no direct answer from IS guys on this question...
Apparently they don't have this ability which is bad for us...

Max

MichaelU
02-11-2005, 03:18 PM
InstallScript doesn't have the same idea of Patches that MSI does. However it does support both of the important aspects: updating only a portion of the files and other data, and packaging only the updated portions.

What you want is to build a "differential (http://helpnet.installshield.com/Robo/BIN/Robo.dll?tpc=/robo/projects/installshield10-5helplib/DifferentialRelease.htm)" media. Just make the changes to your project and build a new release, selecting the differential setting. The differential setting is actually just an optimization to the size of the distributed file; without it the file acts much like a MSI minor upgrade does in that it can also install the fresh product.

(the link is to InstallShield 10.5's help topic, but the important concepts here are the same in DevStudio 9)

max_moyseyenko
02-14-2005, 09:25 AM
I see... Thanks Michael.
Let me rephrase my question. I'd like to know what is the best way to display in Add/Remove all the fixpacks applied to the product.
E.g.: There is a product PRODUCT_A installed and displayed in Add/Remove. And there are some patches (fixpacks) applied to this product. Is there a way to display in Add/Remove all the Fixpacks applied to the main product?

The only way I see it right now is to create a comletely new IS project with different GUID. But may be there is some better way to do this?

MichaelU
02-14-2005, 11:54 AM
That's definitely the easiest way, although you may run into interesting interactions between applying updates and running older versions in repair mode. The problem being that the Windows model of program updates doesn't conveniently play will with the model you desire, and InstallScript installs primarily follow the Windows model.

My only other idea (that gets really messy really quickly) would be to add extra keys under the Uninstall Key as part of an upgrade version which I described above. These entries would just launch your main installer/uninstaller with various extra command line parameters. It would then examine CMDLINE and proceed appropriately. However "proceeding appropriately" would rapidly involve rewriting all the nasty parts of the installer which you were previously depending on IS to write for you.