cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
MRKiscaden
Level 5

New install not replacing old files.

I have a Basic MSI project that when run the install does not replace the old files from a previous (much older) installation. This install is not packaged as a Major Upgrade but instead just copies the new files on top of the older files. There are no registry entries for the older install.

However instead of copying the new files, the old files are left in place, and the new files are not copied in as well. This does not happen on all systems, but on enough for it to be a serious problem. What is going on?

Here is are some excerpt from the verbose log:

[CODE]MSI (s) (0C:3C) [13:13:05:657]: Executing op: FileCopy(SourceName=ix.xml,SourceCabKey=_7B4CF5E21A0694D418096C11A4FD7016,DestName=ix.xml,Attributes=16384,FileSize=22128,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=162252964,HashPart2=1864712529,HashPart3=633118944,HashPart4=1907547772,,)
MSI (s) (0C:3C) [13:13:05:657]: File: C:\Program Files\manager\htdocs\help\StatisticsRefMan_Windows\wwhdata\java\ix.xml; To be installed; Won't patch; No existing file
[/CODE]

[CODE]MSI (s) (0C:3C) [13:12:31:610]: Executing op: FileCopy(SourceName=MS0CF9~1.TAB|MSExchangeES.tab,SourceCabKey=_8AF911BC45CA7D8B76FCB7E631F7201D,DestName=MSExchangeES.tab,Attributes=16384,FileSize=1926,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=-1533271415,HashPart2=-989833612,HashPart3=1962791562,HashPart4=1876807964,,)
MSI (s) (0C:3C) [13:12:31:610]: File: C:\Program Files\manager\etc\tab\MSExchangeES.tab; Won't Overwrite; Won't patch; Existing file is unversioned and unmodified - hash matches source file
[/CODE]
Labels (1)
0 Kudos
(6) Replies
Sairen
Level 7

Can you attach more of the log? Those two lines aren't enough to diagnose much, at least for me...
One thing you might want to be aware of on a minor upgrade like this is that you can't remove components.
Look in the log for a line about "SELMGR" and see what it says.
0 Kudos
grparsec
Level 7

I had the same problem with files not getting replaced by minor upgrade. Those files were dinamically linked together and I had the "Use Best Practice" option checked. Once I unchecked that, my files got replaced and I still don't know why!!!
0 Kudos
MRKiscaden
Level 5

I figured out the problem by talking to Install Shield support on the phone. If the file created and modified dates differ on the target machine, MSI will not replace the files thinking it is a user modified file, and thus should not be upgraded. In our case the files were modified, but should be replaced anyway. According to Acresso, there is no override for this functionality.

The solution is to write a custom action that deletes all of the target files before installing the new files.
0 Kudos
Sairen
Level 7

Actually, it's pretty simple to override this behavior. In the properties dialog of the file itself, you can override default version. Add a 1.0.0 version to a file, and it will always be overwritten. I do this all the time with our config files.
Might be an option for you.
0 Kudos
Reureu
Level 10

grparsec wrote:
I had the same problem with files not getting replaced by minor upgrade. Those files were dinamically linked together and I had the "Use Best Practice" option checked. Once I unchecked that, my files got replaced and I still don't know why!!!


Hi,

I have the same problem, using files that are dynamically linked.
Could you please tell me where you can deactivate this "Use Best Practice" option?

Regards
0 Kudos
mdmst12
Level 3

one option you could try is setting the property REINSTALLMODE = amus which will overwritte all older files with new ones. by default the REINSTALLMODE on an upgrade is set to omus which means only newer VERSIONED files will get overwritten. unversioned files windows installer will not overwrite thinking they are data files manipulated by the user.
0 Kudos