EDIT: Sorry, this problem is with Installshield 2010.
I am having this EXACT same problem. This is what you'd call a small/minor upgrade.
I rebuild our software with a higher version number, bump the Installshield Product version, and build the installation.
I run the installation on a system with an older version on it, it tells me its going to upgrade, then does thing (including running updated sql scripts), but it will NOT update EXEs and DLLs in the folder to the newer version.
This is a .NET product, and I swear this worked fine a couple weeks ago, but now I build and it won't update anything.
Last edited by cada0310; 10-22-2009 at 02:35 PM.
Reason: Wrong version
If this is installing .Net components and this is a major upgrade, select the optomized upgrade type on your major upgrade definition. As mentioned above...
In your IDE, under Media > Upgrades, you will see "Prepare setup for upgrade scenarios" and under that, "Upgrade Windows Installer Setup". When you click on that, you will see in the list view a common tab that has a group box labeled "Major Upgrade Settings". In there you will see the radio button option, "Install setup then remove unneeded files". You will find this in the IDE for Basic Msi and InstallScript MSI packages. It is not applicable for InstallScript packages.
For a basic MSI, Major upgrade-
You must define a major upgrade.
You must change the package code and product code (do not change the upgrade code).
You must bump the package version up.
Thanks for your reply. From my last message: "This is what you'd call a small/minor upgrade."
All I've done is add a component (a single file), and rebuild all my dlls and exe with new (higher) version numbers.
The dlls and exes never get updated.
There are a couple of things you might verify if this is a small or minor upgrade-
1. Be sure and follow WI best practices, placing only one object (.dll, .exe, .ocx) in a component, and be sure that it is marked as the key file.
2. Check the component in questions and verify that there is not something accidently selected such as "Never Overwrite".
3. Verify again that the object in question that is not being updates has a higher version. In WI rules, the file will not be replaced unless the version is newer. File Time/Date does not count.
4. For a small upgrade, change only the packge code. For a minor upgrade, change the package code and the product version of the install package, and it is advisable to have a minor upgrade defined.
If all of these things are correct, run a verbose log of the installation during the upgrade and the log will indicate for you why the object in question is not being updated.
Minor upgrade not overwriting files...
I'm having the same problem. I can't seem to get the minor upgrade to overwrite files. I've tried everything. I've even selected "Always Overwrite" in the file properties. I've tried setting the date on the original file to be very old. I've tried using the file hash, not using the file hash. I've tried different version resources. No matter what I do, it just simply will not overwrite the file. I see nothing unusual in the log file. There just has to be some way to figure out what it's looking for. I've checked the language resources. I've checked just about everything and it just seems to not want to do it. Please, any help would be appreciated. I'm thinking I might just disable upgrading and force the user to uninstall and reinstall.