WIX- Reinstalling MSI - not registring the component - wix

I have created an MSI using WIX. This is working fine for install/Un-install.
When i tried to re-install the MSI it shows lot of errors. from the log it shows that could not register component.
ComponentRegister(ComponentId={A35FD4BC-66CA-4BE0-BCBA-EDEA2DFC7FD3},KeyPath=C:\Program Files\Common Files\{Appname}\Config\0.reg,State=3,,Disk=1,SharedDllRefCount=0,BinaryType=0)
MSI (s) (54:F0) [13:56:53:819]: Note: 1: 1402 2: UNKNOWN\Components\CB4DF53AAC660EB4CBABDEAED2CFF73D 3: 1450
MSI (s) (54:F0) [13:56:53:835]: Note: 1: 2205 2: 3: Error
MSI (s) (54:F0) [13:56:53:835]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2908
DEBUG: Error 2908: Could not register component {A35FD4BC-66CA-4BE0-BCBA-EDEA2DFC7FD3}.
MSI (s) (54:F0) [13:57:16:602]: Note: 1: 2205 2: 3: Error
MSI (s) (54:F0) [13:57:16:617]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
MSI (s) (54:F0) [13:57:16:633]: Product: -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2908. The arguments are: {A35FD4BC-66CA-4BE0-BCBA-EDEA2DFC7FD3}, ,
Any help is appreciated.

did you try to deinstall it completely? check that the component is being removed at uninstall.
components with marked as permanent (componentattributes) will never be removed.
Neve be removed means they have a "shadowed" registration in the registry.

A Component registraton is identified by two things, Its PATH and Its registry entry. Looks like when you tried to reinstall, it is not matching with the KeyPath of where it was originally installed.
- Did you uninstall before trying to install?
- WHen you tried to install second time, did you pass the right installation location, as I see from the log the KeyPath, is containing {Appname}, seems like the install path was not passed during reinstall time.

Related

Access denied when run the wix installer with administrator permission SELECT `Message` FROM `Error` WHERE `Error` = 1708

I have created a windows installer using wixtoolset but when I install it says access denied although I ran the installer with administrator permission. I have attached the access denied popup image and logs
Property(C): WIXUI_INSTALLDIR_VALID = 1
=== Logging stopped: 5/8/2021 12:06:41 ===
MSI (c) (7C:3C) [12:06:41:423]: Note: 1: 1708
MSI (c) (7C:3C) [12:06:41:423]: Note: 1: 2205 2: 3: Error
MSI (c) (7C:3C) [12:06:41:423]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1708
MSI (c) (7C:3C) [12:06:41:423]: Note: 1: 2205 2: 3: Error
MSI (c) (7C:3C) [12:06:41:423]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
MSI (c) (7C:3C) [12:06:41:423]: Product: Abc -- Installation failed.
MSI (c) (7C:3C) [12:06:41:423]: Windows Installer installed the product. Installation success or error status: 1603.
MSI (c) (7C:3C) [12:06:41:423]: Grabbed execution mutex.
MSI (c) (7C:3C) [12:06:41:423]: Cleaning up uninstalled install packages, if any exist
MSI (c) (7C:3C) [12:06:41:423]: MainEngineThread is returning 1603
Any clue why this would happen
Logging: You might want to create a verbose log with debugging information:
msiexec.exe /i C:\Path\Your.msi /L*vx! C:\Your.log
Custom Actions: Are there any custom actions in your MSI? If so, try to disable them by setting the condition for them to run to 0 in the MSI (use Orca to tweak the MSI for testing) or compile a version of the MSI without custom actions. Just to test.
Anti-Virus: It could be that your MSI has been quarantined by your anti-virus as discussed here. Did you try to disable anti-virus before running your MSI?
Other Ideas: There are many possible causes. It can be weird interactions such as software installed on the box that causes problems - try on a clean machine or virtual first.
There is a long list of "ideas" here (section "Generic Tricks? - Consumer issues, failure to install setup.exe").
Here is another version of the setup checklist (slightly longer actually, and easier to find - the other answer is chaotic).
Some quick questions:
Is this a corporate machine with policies of all kinds?
Do you have any disk space issues?
Do you work off a network drive?

Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1707 (also 1709)

I created an MSI installer with WiX 3.8 and I get this error at the very end of the MSI log when installing it:
[...]
Property(C): WIXUI_INSTALLDIR_VALID = 1
=== Logging stopped: 8/20/2014 19:15:03 ===
Note: 1: 1707
Note: 1: 2205 2: 3: Error
Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1707
Note: 1: 2205 2: 3: Error
Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
Product: CmisSync Shell Extension -- Installation completed successfully.
Windows Installer installed the product. Product Name: My Shell Extension. Product Version: 0.2.23. Product Language: 1033. Manufacturer: Me. Installation success or error status: 0.
Grabbed execution mutex.
Cleaning up uninstalled install packages, if any exist
MainEngineThread is returning 0
=== Verbose logging stopped: 8/20/2014 19:15:03 ===
How can I fix these errors?
Or maybe they are known WiX/MSI issues that can be safely ignored?
My WiX script is extremely simple, it just installs a shell extension, so I have no idea where this error comes from.
From the GUI point of view, the installation finishes with no visible problem. All files are present as expected in the target installation folder.
That is MSI trying to find resources in the Error table but you probably don't have an Error table in your MSI. Here is a list of the message strings: http://msdn.microsoft.com/en-us/library/aa372835(v=vs.85).aspx. As you can see 1707 & 1709 are the ids for the success messages you see following these messages.
For fix such errors in the log files, you need to add reference to the definition of "Error" table:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UIRef Id="WixUI_ErrorProgressText" />
</Fragment>
</Wix>
Except 'Fragment', you also can put this reference into the 'Module', 'PatchFamily', 'Product', 'UI'.
Reference to original answer which helped me:
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Error-Table-td694988.html
These are just verbose/debug messages (It looks that you start your installation in verbose mode, right?). I wouldn't assume these are real errors. If I start my msi installation in verbose mode, I am getting similar 'errors'.

Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1302

I created an MSI installer with WiX 3.8 and I get this error in the MSI log when installing it:
InstallFiles: File: Copying new files, Directory: , Size:
Note: 1: 2205 2: 3: Patch
Note: 1: 2228 2: 3: Patch 4: SELECT `Patch`.`File_`, `Patch`.`Header`, `Patch`.`Attributes`, `Patch`.`Sequence`, `Patch`.`StreamRef_` FROM `Patch` WHERE `Patch`.`File_` = ? AND `Patch`.`#_MsiActive`=? ORDER BY `Patch`.`Sequence`
Note: 1: 2205 2: 3: Error
Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1302
Note: 1: 2205 2: 3: MsiSFCBypass
Note: 1: 2228 2: 3: MsiSFCBypass 4: SELECT `File_` FROM `MsiSFCBypass` WHERE `File_` = ?
Note: 1: 2205 2: 3: MsiPatchHeaders
Note: 1: 2228 2: 3: MsiPatchHeaders 4: SELECT `Header` FROM `MsiPatchHeaders` WHERE `StreamRef` = ?
Note: 1: 2205 2: 3: PatchPackage
Note: 1: 2205 2: 3: MsiPatchHeaders
Note: 1: 2205 2: 3: PatchPackage
Action ended 19:15:02: InstallFiles. Return value 1.
How can I fix this error?
Or maybe it is a known WiX/MSI issue that can be safely ignored?
My WiX script is extremely simple, it just installs a shell extension, so I have no idea where this error comes from.
From the GUI point of view, the installation finishes with no visible problem. All files are present as expected in the target installation folder.
See http://msdn.microsoft.com/en-us/library/aa372835(v=vs.85).aspx. 1302 is "Please insert disk". If you want to clean up these log messages (which are harmless) you can add an error table to your MSI.
It's not clear that it's an error anyway, although a potential "insert the disk" situation looks worrying. The other stuff is just that it wants to know if there is any patch sequencing going on, and that requires looking in the Patch table. Since there isn't a patch table that's ok, no sequencing is required. It's the same with those others, 2205 and 2228 are both variations on "no table".
Sometimes installing a patch will require the original MSI file if the installed product isn't quite correct. If it required that MSI file then you would have seen that error and been asked to insert the disk, but if you have a custom message in the Error table it wants to know what it is.
Remember this is a debugging log primarily intended for diagnosing issues with an install. The fact that it says "error" doesn't mean that there are any - as you can seem it logs an "error" every time it makes a query on a table in case that table is there and contains extra information.

Wix checking netfreamwork 4 during installation of files

I experienced strange behavior from wix. I created installation and when I wanted to test it, everything works fine, my dialog shows... But when I clicked on install, it looks like it is installing but in one third of installation files message box pop up saying: Installation of MYPRODUCT requires .NET Framework 4!
My first idea was that I have bad launch condition... but still it is launch condition and not install or what... so I deleted it a problem still is there...
Then I thought that it is maybe because of my custom action in C#, so I deleted it also, but problem is still there. Any idea?
Thanks
and btw. that launch conditions (netframework) are working fine...
EDIT: if I set InstallScope="perUser" it works...
Log:
Action start 12:54:33: INSTALL.
MSI (s) (A0:F4) [12:54:33:505]: Running ExecuteSequence
MSI (s) (A0:F4) [12:54:33:505]: Doing action: FindRelatedProducts
Action 12:54:33: FindRelatedProducts. Searching for related applications
Action start 12:54:33: FindRelatedProducts.
MSI (s) (A0:F4) [12:54:33:507]: Skipping FindRelatedProducts action: not run in maintenance mode
Action ended 12:54:33: FindRelatedProducts. Return value 0.
MSI (s) (A0:F4) [12:54:33:507]: Doing action: AppSearch
Action 12:54:33: AppSearch. Searching for installed applications
Action start 12:54:33: AppSearch.
AppSearch: Property: FM70HOME, Signature: FM70_HOME_PathRegistry
MSI (s) (A0:F4) [12:54:33:508]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (A0:F4) [12:54:33:508]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE32\SOFTWARE\Adobe\FrameMaker\7.0 3: 2
AppSearch: Property: FM71HOME, Signature: FM71_HOME_PathRegistry
MSI (s) (A0:F4) [12:54:33:509]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (A0:F4) [12:54:33:509]: PROPERTY CHANGE: Adding FM71HOME property. Its value is 'C:\Program Files (x86)\Adobe\FrameMaker7.1'.
AppSearch: Property: FM72HOME, Signature: FM72_HOME_PathRegistry
MSI (s) (A0:F4) [12:54:33:509]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (A0:F4) [12:54:33:509]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE32\SOFTWARE\Adobe\FrameMaker\7.2 3: 2
AppSearch: Property: FM80HOME, Signature: FM80_HOME_PathRegistry
MSI (s) (A0:F4) [12:54:33:510]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (A0:F4) [12:54:33:510]: PROPERTY CHANGE: Adding FM80HOME property. Its value is 'C:\Program Files (x86)\Adobe\FrameMaker8\'.
AppSearch: Property: FM10HOME, Signature: FM10_HOME_PathRegistry
MSI (s) (A0:F4) [12:54:33:510]: Note: 1: 2262 2: Signature 3: -2147287038
MSI (s) (A0:F4) [12:54:33:510]: PROPERTY CHANGE: Adding FM10HOME property. Its value is 'C:\Program Files (x86)\Adobe\AdobeFrameMaker10\'.
AppSearch: Property: NETFRAMEWORK45, Signature: NetFramework45
MSI (s) (A0:F4) [12:54:33:510]: Note: 1: 2262 2: Signature 3: -2147287038
Action ended 12:54:33: AppSearch. Return value 1.
MSI (s) (A0:F4) [12:54:33:511]: Doing action: LaunchConditions
Action 12:54:33: LaunchConditions. Evaluating launch conditions
Action start 12:54:33: LaunchConditions.
Installation of eAIP.wiz#rd requires .NET Framework 4!
MSI (s) (A0:F4) [12:54:40:586]: Product: Product -- Installation of Product requires .NET Framework 4!
Action ended 12:54:40: LaunchConditions. Return value 3.
Action ended 12:54:40: INSTALL. Return value 3.
also I have no idea why it check for NetFramework45...
My launch conditions are:
<Condition Message="Installation of Product requires .NET Framework 40 full!">NETFRAMEWORK40FULL OR REMOVE ~= "ALL"</Condition>
<Condition Message="Installation of Product requires Framework!">NOT WF_INSTALLED = "NOT INSTALLED" OR REMOVE ~= "ALL"</Condition>
<Condition Message="Can't find any of Adobe Framemaker 10.0, 8.0, 7.2, 7.1, 7.0 installation.! Product would not be working.">FM10HOME OR FM80HOME OR FM72HOME OR FM71HOME OR REMOVE ~= "ALL"</Condition>
And why it writes message that requries .Net Framework 4, when firt time launch condition passed... and when I have net framework 4 full installed?
Full log: http://pastebin.com/eEGCnQXu
Ok probably I found a solution.
The whole problem is logged in my log:
MSI (c) (B8:58) [12:54:23:788]: Doing action: FindRelatedProducts
Action 12:54:23: FindRelatedProducts. Searching for related applications
Action start 12:54:23: FindRelatedProducts.
FindRelatedProducts: Found application: xxx
MSI (c) (B8:58) [12:54:23:788]: PROPERTY CHANGE: Adding WIX_UPGRADE_DETECTED property. Its value is 'xxx'.
MSI (c) (B8:58) [12:54:23:788]: PROPERTY CHANGE: Adding MIGRATE property. Its value is 'xxx'.
FindRelatedProducts: Found application: xxx
which telling that I have already installed that product... at least some registry must be there... so I changed product guid and upgrade.. and it works... but it is still strange to me, why it tells that net framework 4 is missing when it passed at launch condition at beginning.

msi is complaining that it is unable to run DLL error 1723(1157)

I am creating a sample msi. I am using a C++ custom action. I am able to install the msi on Windows 7 32bit. But I am unable to install it on Windows Server 2008 64bit.
The following is the code:
<Binary Id="BinaryId.dll"
SourceFile="Test.dll" />
<CustomAction Id="TestFunc" BinaryKey="BinaryId" DllEntry="TestFunc"
Execute="immediate" Return="check" />
<InstallExecuteSequence>
<Custom Action="TestFunc" Before="InstallInitialize" Overridable="yes">1</Custom>
</InstallExecuteSequence>
I am getting the following error from the msi logs:
Invoking remote custom action. DLL: C:\Windows\Installer\MSI84EB.tmp, Entrypoint: MSI (s) (8C:30) [01:28:17:180]: Doing action: TestFunc
MSI (s) (8C:30) [01:28:17:180]: Note: 1: 2205 2: 3: ActionText
Action start 1:28:17: TestFunc.
MSI (s) (8C:A0) [01:28:17:184]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI8E90.tmp, Entrypoint: TestFunc
CustomAction TestFunc returned actual error code 1157 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 1723 2: TestFunc3: TestFunc4: C:\Windows\Installer\MSI8E90.tmp
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 2205 2: 3: Error
MSI (s) (8C:30) [01:28:17:218]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1723
MSI (c) (1C:74) [01:28:17:224]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
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 TestFunc, entry: TestFunc, library: C:\Windows\Installer\MSI8E90.tmp
MSI (s) (8C:30) [01:28:18:451]: Note: 1: 2205 2: 3: Error
MSI (s) (8C:30) [01:28:18:451]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709
MSI (s) (8C:30) [01:28:18:451]: Product: TestCa -- 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 TestFunc, entry: TestFunc, library: C:\Windows\Installer\MSI8E90.tmp
Thanks a lot for your valuable suggestions and help that would lead to resolve this issue. :)
Have a look at what you are using the custom action method TestFunc. 1157 error means that:
One of the library files needed to run this application cannot be
found.
So you might be using some library that is not available on Windows Server 2008 64bit but it is available on Windows 7 32bit.
Writing custom actions in managed .Net code is not easy and involves manually manipulating the project files. If you can easily write the same code in VB Script, JavaScript or C++, I'd recommend taking that path instead.
Here's the tutorial I used: Creating Custom Action for WIX Written in Managed Code without Votive.