Page 1 of 1
To patch or not to patch, that is the question...
Posted: Thu Mar 15, 2007 8:41 pm
by Greyeye
I have a commercial application that is about 7 megs total for the downloadable installer .exe. It also has two additional web blocks for the .net framework and Windows Installer. My problem is that I need to fix a small bug in the version 1.01 code. I have created a version 1.02 that has the fix in it. I built the installer project, added a reference to the previous installer and created the patch. The patch is 5 megs and does not actually update the original application, for reasons that I have not yet figured out.
However, my only reason for patching, especially if the patch is almost as big as the original installer, is to keep the users license file intact. Is there a way that I can uninstall the previous version and install the new version and leave the users license file untouched in the target directory? I am still somewhat new at using InstallAware and I depend on the visual side of things. If the answer lies in script, please be gentle and explain the process....Thanks a lot for the help...
Greyeye
Posted: Fri Mar 16, 2007 5:38 am
by MichaelNesmith
How about something a LOT simpler:
1. Start empty project
2. Read Registry to obtain your $TARGETNIR$ (and bail if not found)
3. Add your app as support file
4. Direct copy from $SUPPORTDIR$ to $TARGETDIR$ using kernel32.dll->CopyFileA thru Call DLL Function
Should be a lot smaller, too

Posted: Fri Mar 16, 2007 11:05 am
by Greyeye
Wow....That does sound like what I want to do....I could basically replace one dll and the exe files with new ones in the target directory by copying them over the old ones. However, a lot of what you just said is greek to me. I am going to start researching the key words that I am not familiar with, such as $TARGETNIR$ (maybe DIR?) and how to read the registry from InstallAware. If you have the time, a more in-depth step by step would really be appreciated....Thanks again.
Greyeye
Posted: Fri Mar 16, 2007 12:31 pm
by Gizm0
Greyeye wrote:Wow....That does sound like what I want to do....I could basically replace one dll and the exe files with new ones in the target directory by copying them over the old ones. However, a lot of what you just said is greek to me. I am going to start researching the key words that I am not familiar with, such as $TARGETNIR$ (maybe DIR?) and how to read the registry from InstallAware. If you have the time, a more in-depth step by step would really be appreciated....Thanks again.
Greyeye
Hey, what's wrong with Greek?

I can see no greek in Michael's post

Posted: Fri Mar 16, 2007 1:51 pm
by Greyeye
Nothing is wrong with Greek at all...I just can't read it and don't have an Greek>English dictionary on hand....I am working on researching the "Greek" using the help file and forums. The biggest stumbling block so far is what I am searching the registry for.....Thanks.
Greyeye
Posted: Wed Mar 21, 2007 10:10 pm
by Greyeye
Michael,
I did not build any registry keys into my application in its 1.0 version. What would I be looking for as I read the registry in this case? I did some file association so there are registry entries for that...Can you give me some specific examples of reading the registry and how to do this as well as how to add your app as a support file and the direct copy method? I just need some examples of this in action. I have not had much luck searching the forum or the help files for examples. Thanks.
Greyeye
Posted: Fri Mar 23, 2007 11:00 am
by MichaelNesmith
Sorry, $INSTALLDIR$.
Use the Check Registry, Read Registry, Write Registry commands for registry operations.
Use Terminate Install to end setup.
And so on - check the commands palette on the left!