I had a strange problem with the WiX installer on a Windows 8 machine. When I click on msi, I get the message "This action only applies to products that are currently installed." Running msi with logging shows the following:
=== Verbose logging started: 3/11/2014 9:46:49 Build type: SHIP UNICODE 5.00.9600.00 Calling process: C:\WINDOWS\system32\msiexec.exe === MSI (c) (20:C4) [09:46:49:933]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg MSI (c) (20:C4) [09:46:49:934]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg MSI (c) (20:40) [09:46:49:956]: Resetting cached policy values MSI (c) (20:40) [09:46:49:956]: Machine policy value 'Debug' is 0 MSI (c) (20:40) [09:46:49:956]: ******* RunEngine: ******* Product: myinstaller.msi ******* Action: ******* CommandLine: ********** MSI (c) (20:40) [09:46:49:976]: Machine policy value 'DisableUserInstalls' is 0 MSI (c) (20:40) [09:46:50:014]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2 MSI (c) (20:40) [09:46:50:766]: SOFTWARE RESTRICTION POLICY: Verifying package --> 'E:\myinstaller.msi' against software restriction policy MSI (c) (20:40) [09:46:50:766]: Note: 1: 2262 2: DigitalSignature 3: -2147287038 MSI (c) (20:40) [09:46:50:766]: SOFTWARE RESTRICTION POLICY: E:\myinstaller.msi is not digitally signed MSI (c) (20:40) [09:46:50:778]: SOFTWARE RESTRICTION POLICY: E:\myinstaller.msi is permitted to run at the 'unrestricted' authorization level. MSI (c) (20:40) [09:46:50:793]: Cloaking enabled. MSI (c) (20:40) [09:46:50:793]: Attempting to enable all disabled privileges before calling Install on Server MSI (c) (20:40) [09:46:50:799]: End dialog not enabled MSI (c) (20:40) [09:46:50:799]: Original package ==> E:\myinstaller.msi MSI (c) (20:40) [09:46:50:799]: Package we're running from ==> C:\Users\PATRI_~1\AppData\Local\Temp\50d229a.msi MSI (c) (20:40) [09:46:50:804]: MSI_DBG: Provided descriptor less than minimum size MSI (c) (20:40) [09:46:50:807]: APPCOMPAT: Compatibility mode property overrides found. MSI (c) (20:40) [09:46:50:808]: APPCOMPAT: looking for appcompat database entry with ProductCode ''. MSI (c) (20:40) [09:46:50:808]: APPCOMPAT: no matching ProductCode found in database. MSI (c) (20:40) [09:46:50:849]: MSCOREE not loaded loading copy from system32 MSI (c) (20:40) [09:46:50:859]: Machine policy value 'TransformsSecure' is 0 MSI (c) (20:40) [09:46:50:859]: User policy value 'TransformsAtSource' is 0 MSI (c) (20:40) [09:46:50:860]: APPCOMPAT: looking for appcompat database entry with ProductCode ''. MSI (c) (20:40) [09:46:50:860]: APPCOMPAT: no matching ProductCode found in database. MSI (c) (20:40) [09:46:50:860]: Transforms are not secure. MSI (c) (20:40) [09:46:50:860]: PROPERTY CHANGE: Adding MsiLogFileLocation property. Its value is 'E:\installlog.txt'. MSI (c) (20:40) [09:46:50:860]: Command Line: CURRENTDIRECTORY=E:\ CLIENTUILEVEL=0 CLIENTPROCESSID=800 CURRENTMEDIAVOLUMELABEL=? MSI (c) (20:40) [09:46:50:860]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{9C098FBE-3C8F-452D-A0C4-B543717B6E3D}'. MSI (c) (20:40) [09:46:50:861]: Product Code passed to Engine.Initialize: '' MSI (c) (20:40) [09:46:50:861]: Product Code from property table before transforms: '' MSI (c) (20:40) [09:46:50:861]: Product Code from property table after transforms: '' MSI (c) (20:40) [09:46:50:861]: Failing install, missing product code This action is only valid for products that are currently installed. E:\myinstaller.msi MSI (c) (20:40) [09:46:50:862]: Note: 1: 1708 MSI (c) (20:40) [09:46:50:863]: Product: -- Installation failed. MSI (c) (20:40) [09:46:50:865]: Windows Installer installed the product. Product Name: . Product Version: . Product Language: . Manufacturer: . Installation success or error status: 1605. MSI (c) (20:40) [09:46:50:871]: MainEngineThread is returning 1605 === Verbose logging stopped: 3/11/2014 9:46:50 ===`
The odd thing is that the same installer works fine on a win7 machine, and the slightly older version of the installer works on a win8 machine. I am not sure why the product code is empty, since it has a valid guid on win7.
Does anyone have any idea why I am getting this error?
EDIT: Using Orca, I see that the ProductCode property for MSI is set to a valid GUID
EDIT2: by replacing the GUID in the product code using Orca with Guid from a different version of the installer, I can make it work, but when creating from WiX with ProductCode = '*' it does not work, although the manual that gets into the product code seems to be correct .
source share