Simple situation can't get working
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
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.
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
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.
Media > Releases > Setup.exe tab. "MSI Command-Line Arguments".
Originally Posted by tpascal
I can't see that option in the Express version....