the following problem is beyond my knowledge:
On my Windows machine I'm trying to uninstall the application.
Uninstaller reported that I need to close TotalCommander before continuing.
The application I want to uninstall has nothing to do with TotalCommander.
The only thing that connects my application and TotalCmmander is the library named msvcp120.dll that is used by both my aplication and TotalComader.
The difference is that TotalCommander uses the msvcp120.dll located in system directory (c:\Windows\Wystem32\msvcp120.dll) and my application uses library with the same name in completely different directory (c:\Users\john\AppData\Local\Ares\TestApp\msvcp120.dll). I have checked this in ProcessExplorer.
I've checked both TotalCommander and my application - both of them really load the library from different locations.
In my installer (I'm using Wix) I tried to disable InstallValidate action, but have ran into additional problems.
What I want to try now is to find out why am I being asked to close TotalComander when it has no obvious connection with the aplication I want to uninstall.
The following is the part of msi log file:
MSI (s) (C0:3C) [09:46:22:634]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1603
Info 1603.The file C:\Users\john\AppData\Local\Ares\TestApp\msvcp120.dll is being held in use by the following process: Name: explorer, Id: 4032, Window Title: '(not determined yet)'. Close that application and retry.
MSI (s) (C0:3C) [09:46:22:635]: Note: 1: 2205 2: 3: Error
MSI (s) (C0:3C) [09:46:22:635]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1603
Info 1603.The file C:\Users\john\AppData\Local\Ares\TestApp\msvcp120.dll is being held in use by the following process: Name: TOTALCMD64, Id: 11352, Window Title: '(not determined yet)'. Close that application and retry.
MSI (s) (C0:3C) [09:46:22:635]: Note: 1: 2205 2: 3: Error
MSI (s) (C0:3C) [09:46:22:635]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1603
Info 1603.The file C:\Users\john\AppData\Local\Ares\TestApp\msvcp120.dll is being held in use by the following process: Name: TestApp, Id: 12056, Window Title: '(not determined yet)'. Close that application and retry.
Here I can see that the C:\Users\john\AppData\Local\Ares\TestApp\msvcp120.dll library is reported as being held by explorer, TotalCommander and my TestApp, but I'm asked to close only TotalCommander.
Thanks for any answer.
Related
I have a problem getting a wix installer to do a major upgrade when the previous versions installer was made by a different toolkit. I have my product defined like this:
<Product Version="!(bind.FileVersion.baustatik.exe)" Id="*"
Name="DIE Anwendungen"
Language="0"
Codepage="1252"
Manufacturer="D.I.E. Software GmbH"
UpgradeCode="6DCA3BAD-77E9-41AE-8F72-B92DE136C499">
<Package InstallerVersion="400"
Compressed="yes"
InstallScope="perMachine"
InstallPrivileges="elevated" />
<MajorUpgrade
AllowDowngrades="no"
AllowSameVersionUpgrades="no"
DowngradeErrorMessage="Es ist bereits eine neuere Version von [ProductName] installiert." />
..... other stuff
The above produces an msi. That msi is chained inside a bundle. The bundle is defined like this:
<Bundle Name="DIE Anwendungen"
Version="!(bind.packageVersion.The32bitMsi)"
Manufacturer="D.I.E. Software GmbH"
UpgradeCode="6DCA3BAD-77E9-41AE-8F72-B92DE136C499"
HelpUrl="https://www.die.de/impressum"
Copyright="Copyright D.I.E. Software GmbH"
HelpTelephone="0800 343 2255"
UpdateUrl="https://www.die.de/downloads.aspx"
IconSourceFile="$(var.SolutionDir)applications\xfalt\xfalt.loader\baustatik.ico"
AboutUrl="https://www.die.de">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LogoFile="res/banner.png"
ThemeFile ="res/ClassicTheme.xml"
LocalizationFile="res/ClassicTheme.wxl"
SuppressOptionsUI="yes"
LicenseUrl=""/>
</BootstrapperApplicationRef>
I have verified that
- i'm using the same upgrade code
- i'm building a new product code (*) for every update
- I'm using the same language-id (language_neutral: 0)
- !(bind.FileVersion.baustatik.exe) produces the version info that i expect
When i build the setup like this, install, increase the version number, build and install (all using wix), the major upgrade takes place.
When i install the setup for a previous version (one that was build using 'advanced installer') - where the upgrade code was the same - and next install a newer version where the setup was build using wix, the major upgrade does not work. i.e.: No files or startmenu entries from the previous version are beeing removed and i end up with 2 entries in control panel.
Any suggestions what might be causing this ?
(Edit)
I did what Bogdan suggested. The full log, however, did not have any helpful information.
FindRelatenProducts:
MSI (c) (8C:88) [17:34:20:741]: Doing action: FindRelatedProducts
MSI (c) (8C:88) [17:34:20:741]: Note: 1: 2205 2: 3: ActionText
Aktion 17:34:20: FindRelatedProducts. Nach verwandten Anwendungen wird gesucht
Aktion gestartet um 17:34:20: FindRelatedProducts.
Aktion beendet um 17:34:20: FindRelatedProducts. Rückgabewert 1.
... and later:
MSI (s) (2C:04) [17:34:24:762]: Doing action: FindRelatedProducts
MSI (s) (2C:04) [17:34:24:762]: Note: 1: 2205 2: 3: ActionText
Aktion gestartet um 17:34:24: FindRelatedProducts.
MSI (s) (2C:04) [17:34:24:762]: Skipping FindRelatedProducts action: already done on client side
RemoveExistringProducts gives:
Aktion gestartet um 17:34:24: RemoveExistingProducts.
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2205 2: 3: Error
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 22
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2205 2: 3: Error
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 23
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2205 2: 3: Error
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 16
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2205 2: 3: Error
MSI (s) (2C:04) [17:34:24:841]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 21
Aktion beendet um 17:34:24: RemoveExistingProducts. Rückgabewert 1.
Concerning perUser/perMachine:
In my (wix)package (see code) i have "InstallScope='perMachine'" and in the "AdvancedInstaller" i have "Installation Type: per machine only" - i assume this is the same thing.
Any other ideas?
(EDIT 2)
I have done as PhilDW suggested and opened the upgrade tables for the old and the new msi using orca. I did find the following.
Old msi:
New msi:
However, i do not know what to make of that. Given that information, does anybody know what i have to put in my wix code in order to upgrade the old msi ?
The major upgrade could fail even if the upgradecode is the same, if the install type of the package is different (per user or per machine - this happens a lot) or if the install language is different (which you already checked).
You can install the new MSI and create a verbose log while you do this, then search the log for RemoveExistingProducts and FindRelatedProducts. Next to one of these standard actions you will find an explicit message about why the upgrade is skipped.
Bogdan is on the right track. However the log would indicate if there was a related product installed, and it would show its ProductCode and say something about the other context, and those things are not in the log. That means you'll need to look directly at the Upgrade table in the MSI file to make sure that the version checking is correct in the minimum/maximum fields. There's nothing in the posted data I can see verifying the actual version of the older product and the versions that the Upgrade will search for. It also wouldn't hurt as a sanity check to see that you actually have an Upgrade table in your MSI. Docs here:
https://msdn.microsoft.com/en-us/library/windows/desktop/aa372379(v=vs.85).aspx
You may as well check that the languages match with the older product, and that the Attributes don't have OnlyDetect set (unlikely, but being thorough).
It's also not clear to me that you have incremented ProductVersion in the first three fields, another requirement for a major upgrade.
There are some odd things that can cause issues. WiX forces uppercase Guids at build time, as required for ProductCode. I have come across issues when the original product was installed with lowercase ProductCode or UpgradeCode, and that was because it seems that some of the searches related to these are case-sensitive. Unlikely, however.
The way I have solved it was setting the predefined REINSTALL and REINSTALLMODE properties manually like this...
<Product>
<!-- ... your code ... -->
<SetProperty Id="REINSTALL" Value="ALL" After="FindRelatedProducts">Installed AND REMOVE<>"ALL"</SetProperty>
<SetProperty Id="REINSTALLMODE" Value="omus" After="FindRelatedProducts">Installed AND REMOVE<>"ALL"</SetProperty>
<!-- ... your code ... -->
</Product>
... where omus refers to these codes:
o : Reinstall if the file is missing or is an older version.
m : Rewrite all required registry entries from the Registry Table that go to the
HKEY_LOCAL_MACHINE
or
HKEY_CLASSES_ROOT
registry hive.
u : Rewrite all required registry entries from the Registry Table that go to the
HKEY_CURRENT_USER
or
HKEY_USERS
registry hive.
s : Reinstall all shortcuts and re-cache all icons overwriting any existing shortcuts and icons.
You can also use e or a instead of o:
e : Reinstall if the file is missing, or is an equal or older version.
a : Force all files to be reinstalled, regardless of checksum or version.
(Taken from Microsofts development center here)
The answer is: For some strange reasons, the Upgrade-Code that is listed in my version of the 'Advanced Installers' UI, is NOT the actual upgrade-code. Using orca revealed the one from the UI (which I was using) as well as a different one (which was not shown in the UI).
Changing the upgrade code in the wix source so it uses the "other" Upgrade-Code worked.
Note: I could not find Orca on microsoft.com. MSDN has several references to it, and it's supposed to be part of the Windows SDK, but it's not. I used an alternative download site which still had a copy.
I am trying to install AtmelStudio 7 on Windows 7, but the installation stopped after some time. The following error message is shown:
An error occured
AVR8 Device Support
What i tried so far:
I took also a quick look at Atmel-FAQ, but the suggested solution (call as-installer-*.exe SHELLCOMMAND=/NoWeb /NoRefresh /NoRestart) did result in the same error message.
I scanned the log messages, but failed to find something helpful.
Remove all Atmel components and drivers by using the Windows uninstall mechanism
Question
Has anybody an idea how to get AtmelStudio 7 installed?
Update
I solved the installation problem as follows:
The error indicated that the IDE installation is corrupt chances are the registry keys are messed up.
1) Go to a command prompt and run the following command
wmic product where "vendor like 'Atmel%'" get Name, Version
This will list the product which are part of the machine and comes from Atmel. If it lists either 'Atmel Studio IDE 7.0' or 'Atmel Studio Development Environment' chances are component is not uninstalled properly.
2) In order to clean up the above component use a third party utility(http://www.revouninstaller.com/revo_uninstaller_free_download.html) to remove the above components from the system.
Note: In order for Revo Uninstaller to list the above components go to Tools->Options->Show System components and check it.
3) After the clean up of the above component and registry to verify the clean up succeeded run the following command again.
wmic product where "vendor like 'Atmel%'" get Name, Version
If the clean up was successful it should not list 'Atmel Studio IDE 7.0' or 'Atmel Studio Development Environment'.
4) Now you can install Atmel Studio.
I also had the error after having uninstalled Atmel Studio 7.0.582.
Unfortunately, it messed up the registry, such that I could not use the "wmic" program (it just does not anything for an eternity).
After some hours of searching, I found this Microsoft tool for fixing install/uninstall issues:
https://support.microsoft.com/en-us/help/17588/fix-problems-that-block-programs-from-being-installed-or-removed
Using that is easy and the steps described above very similar:
Choose "Problems with uninstalling" (or something like that)
Find and select either 'Atmel Studio IDE 7.0' or 'Atmel Studio Development Environment'
Apply the corrections
After that, I was able to install AS 7.0.1006 sucessfully.
Here I have the same failure on a laptop running win7
When I checked the log files found the following error, but I still have not been able to fix it...
Property(S): INSTALLLEVEL = 1
Property(S): SOURCEDIR = C:\ProgramData\Package Cache\{C327F1B0-01E9-45BB-AE07-AD204C992A31}v7.0.922\
Property(S): SourcedirProduct = {C327F1B0-01E9-45BB-AE07-AD204C992A31}
Property(S): ProductToBeRegistered = 1
MSI (s) (58:48) [13:08:41:248]: Note: 1: 1708
MSI (s) (58:48) [13:08:41:249]: Note: 1: 2205 2: 3: Error
MSI (s) (58:48) [13:08:41:249]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1708
MSI (s) (58:48) [13:08:41:249]: Note: 1: 2205 2: 3: Error
MSI (s) (58:48) [13:08:41:249]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1709
MSI (s) (58:48) [13:08:41:249]: Product: AVR8 Device Support — Installation failed.
MSI (s) (58:48) [13:08:41:250]: Windows Installer installed the product. Product Name: AVR8 Device Support. Product Version: 7.0.922. Product Language: 1033. Manufacturer: Atmel. Installation success or error status: 1603.
MSI (s) (58:48) [13:08:41:255]: Deferring clean up of packages/files, if any exist
MSI (s) (58:48) [13:08:41:255]: MainEngineThread is returning 1603
MSI (s) (58:D4) [13:08:41:259]: RESTART MANAGER: Session closed.
MSI (s) (58:D4) [13:08:41:259]: No System Restore sequence number for this installation.
=== Logging stopped: 7/3/2016 13:08:41 ===
MSI (s) (58:D4) [13:08:41:264]: User policy value 'DisableRollback' is 0
MSI (s) (58:D4) [13:08:41:264]: Machine policy value 'DisableRollback' is 0
MSI (s) (58:D4) [13:08:41:264]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (58:D4) [13:08:41:267]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (58:D4) [13:08:41:268]: Restoring environment variables
MSI (s) (58:D4) [13:08:41:269]: Destroying RemoteAPI object.
MSI (s) (58:50) [13:08:41:269]: Custom Action Manager thread ending.
MSI (c) (FC:64) [13:08:41:282]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (FC:64) [13:08:41:283]: MainEngineThread is returning 1603
=== Verbose logging stopped: 7/3/2016 13:08:41 ===</code><br/>
Maybe these resources helps you.
https://support.microsoft.com/en-us/kb/834484
http://www.avrfreaks.net/comment/1922756#comment-1922756
If anybody knows what's going wrong, please let us konw !
Thanks !
Another issue that happened to me is hanging the installation at
Atmel Studio Development Environment Applying
Details: Initializing environment
And the useful solution is killing the AtmelStudio.exe (*32) process which was apparently running in the background as part of the installation process.
The following link is where I found the solution:
http://www.avrfreaks.net/comment/1918991#comment-1918991
And finally after some seemingly scary steps...!
I'm having trouble installing our software on certain machines when installing our .msi built in VS2015.
Without VS2015, I get this in the log file:
MSI (s) (24:64) [11:21:22:095]: Doing action: InstallFinalize
Action 11:21:22: InstallFinalize.
Action start 11:21:22: InstallFinalize.
MSI (s) (24:64) [11:21:22:095]: User policy value 'DisableRollback' is 0
MSI (s) (24:64) [11:21:22:095]: Machine policy value 'DisableRollback' is 0
Action 11:21:22: RollbackCleanup. Removing backup files
MSI (s) (24:64) [11:21:22:585]: Creating MSIHANDLE (13) of type 790536 for thread 8036
MSI (s) (24:74) [11:21:22:595]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIAE3F.tmp, Entrypoint: _KSTInstallSC#4
MSI (s) (24:74) [11:21:22:595]: Generating random cookie.
MSI (s) (24:74) [11:21:22:645]: Created Custom Action Server with PID 1160 (0x488).
MSI (s) (24:5C) [11:21:22:765]: Running as a service.
MSI (s) (24:5C) [11:21:22:775]: Hello, I'm your 32bit Elevated Non-remapped custom action server.
CustomAction _3F7B94EF_231A_421E_BF8B_C0760F3B266E returned actual error code 1157 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (24:74) [11:21:22:975]: Closing MSIHANDLE (13) of type 790536 for thread 8036
MSI (s) (24:64) [11:21:22:975]: Note: 1: 1723 2: _3F7B94EF_231A_421E_BF8B_C0760F3B266E 3: _KSTInstallSC#4 4: C:\Windows\Installer\MSIAE3F.tmp
MSI (s) (24:64) [11:21:22:975]: Note: 1: 2262 2: Error 3: -2147287038
MSI (c) (8C:0C) [11:21:22:975]: Note: 1: 2262 2: Error 3: -2147287038
DEBUG: Error 2835: The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,
Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action _3F7B94EF_231A_421E_BF8B_C0760F3B266E, entry: _KSTInstallSC#4, library: C:\Windows\Installer\MSIAE3F.tmp
MSI (s) (24:64) [11:21:25:796]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (24:64) [11:21:25:796]: Product: KST -- Error 1723. There is a problem with this Windows Installer package. A DLL required for this install to complete could not be run. Contact your support personnel or package vendor. Action _3F7B94EF_231A_421E_BF8B_C0760F3B266E, entry: _KSTInstallSC#4, library: C:\Windows\Installer\MSIAE3F.tmp
I have looked in Visual Studio and there are no custom actions that match anything in the log file.
Something to note, after installing VS2015 on a test PC, the installation worked fine, so it's definitely missing a DLL or something. But installing VS2015 on all of our clients' machines isn't practical.
Is there any way I can package the files needed along with the msi? And if so, how can I find the name of the depended DLL files?
Depending on how you built this package, there's probably a better way to track this down in the project. But let's pretend we received this package and want to make it work despite it being faulty.
You know the entry point is _KSTInstallSC#4, which gives you something to look for in the Target column of the CustomAction table in the built MSI using your favorite MSI editing program. The record in that table should refer with its Source column to a row in the Binary table that contains the DLL. Once you extract that DLL, you can use any tool that shows you dependencies, such as Dependency Walker, CFF Explorer, or even dumpbin /imports.
As for how to fix it, on a single machine just install the dependency. But to fix it in the package, you will probably have to change how the DLL is being built. For instance, you might make it import the C++ runtime statically so it has no unusual external run time dependencies.
You've done something related to the KST product, it's a C++ application that apparently you're running as a custom action, either deliberately or through including a merge module. Error 1157 indicates a failure to load, so it must have a dependency on at least one other Dll that isn't installed.
Judging by the GUID appended (3F7B94EF_231A_421E_BF8B_C0760F3B266E) to the custom action name I would say you have a merge module included into your package/project, that runs this custom action, just as Phil mentioned.
I had the same issue just recently, and in my case it was Windows Defender that had a false positive on that tmp-file that is mentioned in the MSI log as the DLL that it can't find. Defender identified it as a virus and removed the file before MSI package could use it.
So, try disabling Defender/any other Antivirus software and try again.
For me helped answer by Michael Urman
I compilled library in VS2019 in Release mode so in library dependences I saw vcruntime140.dll (pic. from CFF Explorer) and this DLL I could find in C:/Windows/System32 . This librares you can install through C++ Redistributable packedges.
For more explanation of problem - in previous I compilled project in Debug mode and as dependency in DLL I saw vcruntime140D.dll - and on machine without VS I got error Error 1723 on my Custom Action
We have created a WIX installation MSI that installs certificates to machine store. It installs a root certificate (GoDaddy Class 2 Certification Authority) to the Trusted Root Certification Authorities. It works for most of machines, but it fails some machines. We suspected the group policy restrictions(
http://technet.microsoft.com/en-us/library/cc754841.aspx), but the change did not resolve the problem. Below is a WIX definition and a portion of the log file that shows where the error occurs.
<DirectoryRef Id="ApplicationDirectory">
<Component Id="G.Root.Cert" Guid="{C6672075-1BFB-4158-86B4-8DD6D26BBC12}">
<CreateFolder />
<iis:Certificate Id="GoDaddy.Class2.Certificate"
Name="GoDaddy Class 2 Certificate"
Request="no"
StoreLocation="localMachine"
StoreName="root"
Overwrite="no"
BinaryKey="GoDaddy.Class2.Binary"
/>
</Component>
MSI (s) (B4:08) [11:58:21:952]: Executing op: CustomActionSchedule(Action=RollbackAddMachineCertificate,ActionType=11521,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:08) [11:58:21:953]: Executing op: ActionStart(Name=AddMachineCertificate,,)
Action 11:58:21: AddMachineCertificate.
MSI (s) (B4:08) [11:58:21:953]: Executing op: CustomActionSchedule(Action=AddMachineCertificate,ActionType=11265,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (B4:40) [11:58:21:980]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI3EE3.tmp, Entrypoint: AddMachineCertificate
MSI (s) (B4:D0) [11:58:21:981]: Generating random cookie.
MSI (s) (B4:D0) [11:58:21:982]: Created Custom Action Server with PID 9920 (0x26C0).
MSI (s) (B4:90) [11:58:22:042]: Running as a service.
MSI (s) (B4:90) [11:58:22:043]: Hello, I'm your 32bit Elevated custom action server.
AddMachineCertificate: Deleting certificate that begin with friendly name: GoDaddy Class 2 Certificate_wixCert_
AddMachineCertificate: Adding certificate: GoDaddy Class 2 Certificate_wixCert_1
AddMachineCertificate: Error 0x80070005: Failed to add certificate to the store.
MSI (s) (B4!0C) [11:58:22:173]: Note: 1: 2205 2: 3: Error
MSI (s) (B4!0C) [11:58:22:173]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 26352
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 26352. The arguments are: -2147024891, ,
MSI (s) (B4!0C) [11:58:27:816]: Note: 1: 2205 2: 3: Error
MSI (s) (B4!0C) [11:58:27:816]: Note: 1: 2228 2: 3: Error 4: SELECT Message FROM Error WHERE Error = 1709
MSI (s) (B4!0C) [11:58:27:816]: Product: Netsmart VR BA Prerequisites -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 26352. The arguments are: -2147024891, ,
AddMachineCertificate: Error 0x80070005: Failed to install certificate.
AddMachineCertificate: Error 0x80070005: Failed to install per-machine certificate.
CustomAction AddMachineCertificate returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 11:58:27: InstallFinalize. Return value 3.
MSI (s) (B4:08) [11:58:27:961]: User policy value 'DisableRollback' is 0
MSI (s) (B4:08) [11:58:27:962]: Machine policy value 'DisableRollback' is 0
MSI (s) (B4:08) [11:58:27:972]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1163681610,LangId=1033,Platform=0,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
We are puzzled as to what causes this problem. If you have any idea as to what causes this problem, it would be greatly appreciated.
Thanks.
We ran into the same problem, and sometimes it was because the user had the key already in the personal store. WiX doesn't seem to be smart enough to overwrite the key from other stores of a "higher" level (or overwrite at all -- not sure if it is a bug or not).
I would check to see if that certificate was already installed at the user level.
I had a similar problem with installing Basler Pylon 5.x software which uses WiX installer. With some help of Joe's answer I confirmed the failing machine had the certificate Microsoft Root Certificate Authority 2011 installed without a friendly name.
So I set the correct friendly name (MicrosoftRootCertificateAuthority2011.crt_wixCert_1) with this powershell command and the install succeeds:
(Get-ChildItem -Path Cert:\LocalMachine\Root\8f43288ad272f3103b6fb1428485ea3014c0bcfe).FriendlyName = 'MicrosoftRootCertificateAuthority2011.crt_wixCert_1'
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.
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.
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.
Another solution that worked for me was:
Select your Setup project in the VS solution and press F4 to show the properties window
Change GUID for ProductCode and UpgradeCode by clicking the button at right of this values. A new modal window will appear and you only have to press button 'new code'
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)
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