Windows Installer "This action is only valid for products that are currently installed" - "MSI_DBG: Provided descriptor less than minimum size"
Solution 1
I have finally figured out that this was caused in the process of transferring the installer from my win7 machine to the win8 machine via flash drive. I transferred the same file via a network drive and of course it worked fine. Apparently the guid in the product code, or perhaps the entire installer, got corrupted on the flash drive some how causing the error.
Thank you to all that looked into this for me, I appreciate your time and apologize for the strange error!
Solution 2
Just a couple of suggestions: 1. Valid guid includes it being all uppercase, so in case Windows 8 has tightened the rules, check that. 2. The appcompat overrides imply that there is some app compatibility thing going on, such as pretending that the system is (for example) Windows 7 or XP to have it install because otherwise it won't install on 8. Or Windows is faking that internally. See if the MSI file has some compatibility settings in Properties->Compatibility. That may be honking things up somewhere.
Solution 3
Did you log in with different users and work on or install the package on the Windows 8 machine? If so, the first thing I would do is to try the setup on a fresh Windows 8 machine. If it works, uninstall immediately, and let us know the result.
You should also check the existing Windows 8 machine and look in Add/Remove Programs to determine if your package is listed there. There could be numerous copies or nothing at all - your package does not contain ALLUSERS=1, which means it could be installed per-user by default. Try to uninstall any entries there.
See here for a per-user issue occuring in SCCM: http://social.technet.microsoft.com/Forums/en-US/b0ff996e-9235-4682-8b28-71011e84fe7e/uninstall-program-using-msi-error-exit-code-is-1605-the-execution-status-is-failurenonretry?forum=configmgrswdist
Solution 4
When searching the internet for "Failing install, missing product code" there are several other entries for this, all have return code 1605.
Unfortunately, I could not read a definite solution or reason out of this. The only thing in common, is that all deal with .msm files. We remember: .msm files (merge modules) have no own ProductCode and are not alone installable. Only .msi files are installable.
My guess: Either in the process something tries to install a merge module directly, or there are build errors while merging the merge moduls, which lead to ths problem.
patrickbadley
Developer. Architect. Team Lead. Building software solutions in Columbus, Oh. Sports enthusiast, Adventure seeker
Updated on June 04, 2022Comments
-
patrickbadley almost 2 years
I've encountered a strange issue running a WiX installer on a windows 8 machine. When I click the msi I get the message "This action is only valid for products that are currently installed". Running the 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 the same installer works fine on a win7 machine and a slightly older version of the installer works on the win8 machine. I am not sure why the product code is empty since it has a valid guid on win7.
Does anyone have any insight as to why I'm getting this error?
EDIT: Using Orca I can see that the ProductCode Property of the MSI is set to a valid GUID
EDIT2: By swapping out the GUID in the Product code using Orca with a Guid from another version of the installer, I can get it to work, but when building from WiX with ProductCode='*', it's not working even though the guid that gets put in the product code seems valid.
-
patrickbadley about 10 yearsThe productcode is a valid guid (checked with Orca). I checked the compatibility properties and it did not have any set. I tried setting it use compatibility with previous version of windows and I get the same error.
-
patrickbadley about 10 yearsThis happens when I just double click the installer, so it should do an install. But when I add logging I use this command line call msiexec /i "myinstaller.msi" /L*V installlog.txt. I've edited the question with full log
-
Philm about 10 yearsPls. see my new answer concerning .msm files in special. And: 1. Try to use a msiexec command line (alread with admin rights) and tell us the full line incl. file name you used, please. 2. Validate your MSI, please, e.g. with Orca –
-
PhilDW about 10 yearsThe 1605 error in this case is ERROR_UNKNOWN_PRODUCT "This action is only valid for products that are currently installed." not the disk space one.
-
patrickbadley about 10 yearsThere is another user set up on the machine, but they never ran this installer. Besides that it is a fresh win8 machine. Note that it is occurring on 2 different win8 machines, but works fine on a win7 machine. The package is not currently installed in Add/Remove programs. I looked at your link and I think this is different because of the log file saying Product Code = ''. All of the examples in your link have actual product codes.
-
patrickbadley about 10 yearsI'm not sure what your source on 1605 being no disk space available. From MSDN: ERROR_UNKNOWN_PRODUCT 1605 This action is only valid for products that are currently installed. I copied msi to c drive that has over 10 gigs of free space and run from there and still fails. I noted the full msiexec command used in my comment above.
-
patrickbadley about 10 yearsWe are not using any msm files in our install
-
patrickbadley about 10 yearsif I change the product code in Orca to a guid from a previous installer (that works) then it works, but I don't know why this should matter, I'm using WiX and setting the product code to '*' so it should generate a random guid.
-
Philm about 10 yearsJust to clear this: There are two different kinds of 'Error codes' in MSI. While quickly searching, I just got the wrong one. If you look for example in the Error table, you see the 1605, what I meant. But I deleted the comment some minutes after writing it, what was not quickly enough to catch your two comments :-) In our case we are talking about ERROR_UNKNOWN_PRODUCT, that's right.
-
PhilDW about 10 yearsWhat about the PackageCode? They get tracked on the system too, and if you don't change that for each build Windows will think something is still installed.
-
Stein Åsmul about 10 yearsDo you still have that corrupted MSI? I am not so sure there isn't a bug in Wix behind all this. Is it possible to send the MSI for debugging? I have never seen an MSI that launches if it is corrupted. What file format was on the flash drive?