Any tips on troubleshooting Error 2259: Database: foo.msi Table(s) Update failed
Question
Any tips on troubleshooting Error 2259: Database: foo.msi Table(s) Update failed?
What column in the update is causing the update to fail?
UPDATE ControlCondition SET ControlCondition.Condition = '1' WHERE ControlCondition.Dialog_='FolderForm' AND ControlCondition.Control_='AllUsersRadioGroup' AND ControlCondition.Action='Hide'
Based on orca, and reading the ms.chm, this command should work but instead
Msi API Error 80004005: Execute,Params 1: 2259 2: foo.msi 3: 4:
Answer
You're trying to update a primary key column. You can't do that with an update. You have to delete the existing row and then add a new row.
See SQL syntax Windows Installer MSDN topic:
Modify existing records in a table | UPDATE {table-list} SET {column}= {constant} [, {column}= {constant}][, ...] [WHERE {operation-list}] UPDATE queries only work on nonprimary key columns. |
See ControlCondition Table Windows Installer MSDN topic:
The ControlCondition table has the following columns.
Column Type Key Nullable Dialog_ Identifier Y N Control_ Identifier Y N Action Text Y N Condition Condition Y N
Content credit also belongs to
- Carolyn, MSI Team Dev Lead. You can get other Carolyn insights about developing for Windows Installer from the Windows Installer Chat Archives
[Author: Robert Flaming]
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at https://www.microsoft.com/info/cpyright.htm.
Comments
- Anonymous
August 30, 2005
I will delete the row and insert again. This is ok for normal case.
I have one problem on inserting this data to condition column.'REMOVE=""'
I use wnrunsql.vbs for inserting. my problem is - "" (double quotes is not show in orca).
How can I solve this problem? - Anonymous
September 07, 2005
i was not able to update the Display Column (it is not a primary key) of the feature table from vb script and it gave me the same 2259 error