cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
davidang
Level 4

Overwriting an old installation

Using Installshield 2009 Installscript MSI, i want to update some quite old installation (installed with InstallScript 5) on a target system.

Even though Components-> Never Overwrite (=No), some files which have newer version or newer date don't get overwriten.

Is there anything i am not aware of?

Thanks in advance
Labels (1)
0 Kudos
(10) Replies
TimStVCS
Level 7

David, I have always gone into the properties of each file that I want to make sure gets overwritten and checked the "Always Overwrite" checkbox. This seems to be the only reliable way to accomplish what you are trying to do.

Good luck!

Tim
0 Kudos
davidang
Level 4

Hi Tim,
Thanks for your suggestion. I am using Dynamic File Linking and there are over 1000 files which i have to install.
There is no "Always Overwrite" option for Installscript MSI Porjects.
David
0 Kudos
abrasha
Level 4

0 Kudos
abrasha
Level 4

0 Kudos
abrasha
Level 4

0 Kudos
davidang
Level 4

abrasha wrote:

Solution is to define REINSTALLMODE property:
REINSTALLMODE=amus


The Problem with REINSTALLMODE=amus is that it overwites all the files regardless of being user modified or not. I still have some user files which shouldn't be overwritten.

Using REINSTALLMODE=omus doesn't work either. Even the older files with lower versions don't get replaced!
0 Kudos
TimStVCS
Level 7

Hello David, you are correct about no always overwrite setting when using dynamic file linking. I should have been clearer in my response and said that this option is only available when you are not using dynamic linking. Fortunately, I have a much smaller number of files that I am installing and can get away with not using dynamic linking.

Abrahsa's post regarding the REINSTALLMODE should work as well. Take a look in the help documentation about this property and the amus setting that is recommended.

Best of luck!

Tim
0 Kudos
abrasha
Level 4

As I remember MSI verifies these rules (REINSTALLMODE) only for "key files".
That means if "key file" should be overwritten, all files of this component will be overwritten too; if "key file" should not - no files of this component will be copied.

Problem is to know which of files will be defined by InstallShield like "key file".
Verify what is defined in "Dynamic File Link Settings" dialog.
It has important checkbox "Dynamic File Linking Settings" - there are many information in help about this..

I hope it will help
0 Kudos
davidang
Level 4

abrasha wrote:
As I remember MSI verifies these rules (REINSTALLMODE) only for "key files".
That means if "key file" should be overwritten, all files of this component will be overwritten too; if "key file" should not - no files of this component will be copied.


Why is such a simple action so complicated?!

I have about 50 folders and subfolders with over 1000 files. Each component has 10s of independent dlls in its subfolders (no specific key file can be defined).

All i want is to replace older files, "based on version or time stamp"!
0 Kudos
abrasha
Level 4

I think it's a better way is to use static linking and create component per every file.
You can use Component Wizard -> "Create components for me using the best practices". It creates component per every binary file.
0 Kudos