Reputation: 143
Rather bizarre behavior I've started having with our automated builds. I have a very simple, windows service .msi (built in Visual studio 2010) that is compiled on our central build/repo server, gets uploaded to our dev server, and is then remotely installed from the build/repo server (command-line via ssh using plink) on the dev server.
This was working for a long time until recently the automated builds started failing 100% of the time. The verbose installation logs for the msi state that "A newer version of this product is already installed." I remoted into the dev server, checked the msi, and had no problem manually installing it myself on the server (via command-line and GUI). I then uninstalled the service from the "Programs & Features" window, verified the files and entries were deleted, tried again to install it remotely from the build server, and got the exact same error again. The service just doesn't install remotely because it thinks a newer one is still installed (even though I already uninstalled it), but I can do it manually myself.
EDIT
Adding some of the log text.
Action start 15:47:16: AppSearch.
MSI (s) (B8:F0) [15:47:16:265]: Doing action: FindRelatedProducts
Action ended 15:47:16: AppSearch. Return value 1.
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
MSI (s) (B8:F0) [15:47:16:267]: Using cached product context: User non-assigned for product: BA4139E4B48F8264ABFF918A7B583A0B
Action start 15:47:16: FindRelatedProducts.
MSI (s) (B8:F0) [15:47:16:267]: PROPERTY CHANGE: Adding NEWERPRODUCTFOUND property. Its value is '{4E9314AB-F84B-4628-BAFF-19A8B785A3B0}'.
MSI (s) (B8:F0) [15:47:16:268]: Doing action: ERRCA_CANCELNEWERVERSION
Action ended 15:47:16: FindRelatedProducts. Return value 1.
MSI (s) (B8:F0) [15:47:16:269]: Note: 1: 2235 2: 3: ExtendedType 4: SELECT `Action`,`Type`,`Source`,`Target`, NULL, `ExtendedType` FROM `CustomAction` WHERE `Action` = 'ERRCA_CANCELNEWERVERSION'
Action start 15:47:16: ERRCA_CANCELNEWERVERSION.
MSI (s) (B8:F0) [15:47:16:269]: Product: Product.Services -- Unable to install because a newer version of this product is already installed.
Unable to install because a newer version of this product is already installed.
Action ended 15:47:16: ERRCA_CANCELNEWERVERSION. Return value 3.
Action ended 15:47:16: INSTALL. Return value 3.
Upvotes: 5
Views: 15360
Reputation: 21
If you select setup file in Solution Explorer and press F4 you will get properties of Setup file. Set property "DetectNewerVersion" as false and Reinstall
Best of Luck
Upvotes: 1
Reputation: 1042
Another solution that worked for me was:
Keep in mind that previous installations will remain in the Windows registry and you should uninstall them. This is only in case you have same GUID for different VS setup due to a mistake (for example using a setup template)
Upvotes: 2
Reputation: 5860
I was receiving the same exact error as @Tom was getting: "- Newer version already installed"
I was able to fix by following these exact steps: 1. Run the MSI with verbose logging enabled
msiexec /i "{Path to msi}.msi" /L*V "c:\myLog.log"
2. Open the log file that was produced from the above command and copy the GUID that is shown in the line
FindRelatedProducts: Found application: {FB0B54D2-9C47-4196-BF0E-B6EEBF754E22}
Using the copied GUID, run the following command
msiExec /x {FB0B54D2-9C47-4196-BF0E-B6EEBF754E22}
At this point, the old service was uninstalled and I then proceeded to install the service with MSI without any issues. Hope this helps.
Upvotes: 10
Reputation: 8563
MSI (s) (B8:F0) [15:47:16:267]: PROPERTY CHANGE: Adding NEWERPRODUCTFOUND property. Its value is '{4E9314AB-F84B-4628-BAFF-19A8B785A3B0}'.
It sounds like there is an old version of the install on the machine somewhere even though it may not show up in Programs and Features. I would try the following to see if it fixes your problem:
Try uninstalling via commandline msiexec /x {4E9314AB-F84B-4628-BAFF-19A8B785A3B0}
Search for the product code {4E9314AB-F84B-4628-BAFF-19A8B785A3B0}
in the registry to see if there are remnants of a previous installation. If you find that product code, you can try manually deleting those entries (AT YOUR OWN RISK) to see if that solves your problem.
Upvotes: 8