PDA

View Full Version : ICE60 warning with "always overwrite" non-versioned file



Jonathan
11-30-2011, 08:58 AM
Using ISX2012 for a new version of a product we've released many times before using various older versions of ISX and have noted an ICE60 warning on a text file I install with the "always overwrite" option. I am installing other similar files not using this option and they don't cause the ICE warning.

Also, from a search in the forums I came across this which appears to be the same thing
http://training.acresso.com/showthread.php?t=163340

So, why has ISX2012 decided to add "65535.0.0.0" to the Version column in the File table for a file that has no version?

I'm guessing that I can ignore this and not bother trying to fix it in the MSI file ISX has created? Or is there some change I can make in the ISX project so that the msi it builds doesn't have this ICE60 warning?

Thanks
J

Jonathan
12-01-2011, 05:10 AM
Update: I edited the ise project using Orca and deleted the version number from the File table. The ise still opens & builds ok in InstallShield Express 2012 so I'm assuming I've not broken anything.

If anyone has more experience in this area then please post comments about it.

Thanks
J

DebbieL
12-05-2011, 10:06 AM
When you select the Always Overwrite check box for a file, InstallShield sort of tricks Windows Installer into ignoring the actual version number of the file (and ignoring whether it is a versioned file) by writing that 65535.0.0.0 version in the File table. (At run time, if this file has the same name and target location as one on the target system, Windows Installer considers the version of the file in your installation to be 65535.0.0.0 when it is determining whether to update the target system’s file with the version in your current installation, or to leave the file as is.)

So, when you delete that version number from the .ise file, you nare turning off the Always Overwrite setting.

Jonathan
12-05-2011, 10:53 AM
Hi Debbie,

Thanks for that explanation. So it's a bit of a hack to achieve the "always overwrite", but at least I understand why that special version number gets placed into the column (since nothing can be larger).

But does this still work when the file being installed has no version information? The file I'm trying to "always overwrite" is a text file. Does the installer bother to make the check in such a situation?

If it does that is good, although the upshot will be either I don't "always overwrite" or I accept the ICE60 warning?

Thanks
Jonathan

DebbieL
12-05-2011, 03:31 PM
Yes, Windows Installer will check the version in the File table (65535.0.0.0), and compare it with the version of the file on the target system (no version). A versioned file always wins over an unversioned file, so the installation should overwrite the target system's text file with the newer one in your installation. You can ignore the ICE60 warning.

(P.S. Another way to achieve what you are trying to do--overwrite a text file or other unversioned file--is to use companion files (http://helpnet.flexerasoftware.com/Robo/BIN/Robo.dll?tpc=/robo/projects/installshield18helplib/CompanionFiles.htm), which is a feature that's available in the Premier and Professional editions of InstallShield, but not the Express edition.)

Jonathan
12-06-2011, 04:41 AM
Thanks again Debbie for your help & explanation - I do try to get to the bottom of the ICE warnings even if I can't do anything to eliminate them.

Jonathan