PDA

View Full Version : Simple situation can't get working



tpascal
01-14-2011, 01:22 AM
Hi,

I have what I believe to be a very simple situation, yet am having problems getting InstallShield Express 2011 to give me what I need.

My situation is this:

I have built a small windows application (using Delphi 5 if that matters) which contains 3 types of files

1 – the application file itself (app.exe)
2 – word template files (templ1.dot, templ2.dot, templ3.dot)
3 – a data file (data.abs)

I make small changes to the application regularly (once a month or two).

I just keep changing the minor version number
2.19
2.20
2.21
Etc…

I tried to set up InstallShield Express so that the exe file and the *.dot files would ALWAYS overwrite. But that the data.abs file would NEVER overwrite. That seem to work somewhat.

But if I make a quick fix, recompile the application, and then rebuild the installation file, I keep getting an error trying to install it
“Another version of this product is already installed…. “

So I figured I could get it to work, but only if I change the “Product Code” in my “General Information” section…
But from the description in the help, that doesn’t seem like the right answer. The Product Code, it sounds like, should never be changed for my single application.
This fact seems reinforced when I looked at my “Add/Remove programs” and am now seeing multiple instances of my application.

So by changing the Product Code, I was able to get my files installed properly, but I don’t think that is the right way to do it.


Any advice?

WalterT
01-14-2011, 09:45 AM
My guess is that data.abs never overwrites because it gets changed by the application after installation and Windows installer sees it as user data which it never removes. To override this default behavior you have to populate the removeFile table to forcibly remove that file during installation. Type RemoveFile table in InstallShield help search for more info.

Your minor version increase trick (also known as a minor upgrade) should work for applying this installation.

To override that message "Another version of your installation exists...."
Install your msi with the following commandline.
msiexec /fvomus "msiname.msi"

again check in the help to see what /fvomus means

good luck

Walt

tpascal
01-14-2011, 11:16 AM
Thanks Walt!

Actually the data.abs file is behaving exactly as I want it to.

When I make a change to the application, I want the user to be able to install the new version without overwriting their data.abs file.

I'll investigate the msi aspect.

Currently I'm not sure where I'm "installing the msi"... Install Shield builds me a setup.exe file.. and I just run that...

Thanks again though.

Poltron
01-14-2011, 06:57 PM
Thanks Walt!
Currently I'm not sure where I'm "installing the msi"... Install Shield builds me a setup.exe file.. and I just run that...


Media > Releases > Setup.exe tab. "MSI Command-Line Arguments".

tpascal
01-14-2011, 08:47 PM
I can't see that option in the Express version....

Poltron
02-03-2011, 11:38 PM
I guess Express doesn't have that feature.

The setup.exe bootstrapper can pass arguments to msiexec.. do a setup.exe /? and check out the /v argument.