- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Install new major version, shows message "Another version of this product is already instal...
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Install new major version, shows message "Another version of this product is already installed."
Follow all suggestions on the upgrade in the release, and nothing seem to allow the install to get past this message.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Firstly make sure that your new version has a higher ProductVersion number than the one you are attempting to upgrade.
The Windows Installer Engine is very specific in its requirements and any deviation from Upgrade best practices can result in unwanted behaviour. Take a look at the following article which provides steps on how to create a Major Upgrade - make sure that you are following each step:
https://community.flexera.com/t5/InstallShield-Knowledge-Base/Create-a-Major-Upgrade/ta-p/3879
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
These steps worked as described. Thank you.
Now, we have .net dll's which all are not incremented during building so they have a static file version #, this is to have static versions on serialized objects.
So the upgrade worked, but did only update the exe and dll's which have new versions in the file attributes, and did added new files.
Is this by design (yes), but is there anyway to have file dates be the determining factor to update files not version?
Thanks
Bruce
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Hey Bruce,
Microsofts Windows Installer Engine follows a strict set of rules to determine if a file should or should not be replaced during an installation.
You can review these for yourself in the "File Versioning Rules" here:
https://docs.microsoft.com/en-us/windows/win32/msi/file-versioning-rules
You can see that if a new file has the same version number and a newer modified date then the file is NOT installed, and this is by default to preserve user data.
You can overwrite this behaviour in Installshield by following these steps:
- In your Installshield IDE go to the "File and Folders" view locate your file.
- Right click the file and select "Properties"
- Check the box "Always Overwrite"
This will increase the file version in the MSI tables (but not on the actual file itself) tricking the Windows Installer engine into thinking it has a higher file version and therefore installing the file.
I hope this helps,
Stuart
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
I am using InstallShield Professional Edition 2019 R3.
This is a [Basic MSI Project]
I went to the Files and Folders, found the file in the right side window, then right click ; properties is disabled.
Is this were the Overwrite always option should be?? Help!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
It looks like you are using dynamic file linking, whilst this is a powerful tool it does come with limitations. As the files are only added when you actually build the project its not possible to alter their properties before.
This means you can not set any properties such as Shared, Permanent, or Never Overwrite for a dynamically linked file.
A list of other limitations can be found here: https://docs.flexera.com/installshield19helplib/helplibrary/DFL-Limitations.htm
The solution here would be to statically add the files.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Excellent information, on setting the Always override.
This works to a point, during the installation I see the new files go down in the folders as expected, but then are being removed.
This is showing up in the Log file, when upgrading. Why the FileRemove() is being called.
MSI (s) (54:A4) [12:13:02:272]: Executing op: ActionStart(Name=RemoveFiles,Description=Removing files,Template=File: [1], Directory: [9])
MSI (s) (54:A4) [12:13:02:272]: Executing op: ProgressTotal(Total=68,Type=1,ByteEquivalent=175000)
MSI (s) (54:A4) [12:13:02:272]: Executing op: SetTargetFolder(Folder=C:\Program Files (x86)\EagleTM\Wings\)
MSI (s) (54:A4) [12:13:02:272]: Executing op: FileRemove(,FileName=WingsClient.exe,,ComponentId={7????89})
MSI (s) (54:A4) [12:13:02:272]: Verifying accessibility of file: WingsClient.exe
MSI (s) (54:A4) [12:13:02:288]: Executing op: FileRemove(,FileName=WingsClient.exe.config,,ComponentId={3????C2})
MSI (s) (54:A4) [12:13:02:288]: Verifying accessibility of file: WingsClient.exe.config
Thanks
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)