I'm not aware of any further documentation. Yes, 2259 means update failed,
but I don't know of any way you could find out if it failed because(for
example) the item was not present to be updated or for some other failure
reason.

Signature
Phil Wilson [MVP Windows Installer]
----
> Duh... Silly me. I'm a little rusty on my SQL. Your example worked
> perfectly for changing an existing property.
[quoted text clipped - 57 lines]
> > > > file is built, but is there any way to let a setup project add that
> > > > automatically?
Just to follow through, I looked into the error messages some more.
Maybe the next poor soul tring to find out what MS has left out of the
documentation, will be gratefull this was in Google, as I often am ;-)
Tell me if I'm wrong but here's what I found:
The criptic format of data is a combination of MSI errors and SQL
errors and come from the Installer.LastErrorRecord method. The numbers
break down as such using the following example:
Msi API Error 80004005: OpenDatabase,DatabasePath,OpenMode
1: 2203 2: <path to msi file> 3: -2147287038
80004005
Not sure what this means. Shows up all over the place in just about
every MS technology. I think it's a general error number, but who
knows.
OpenDatabase,DatabasePath,OpenMode
This is the general operation that is being performed on the MSI
database. In this case it was trying to open the file. Unfortanely,
no help on these messages in the MSI SDK.
1:
Four digit possitive number.
Indicates the error from the Windows Installer. These are listed in
the MSI.CHM file that comes with the MSI SDK. You can find the list
by searching for "Windows Installer Error Messages" . Here's the
listing for 2259 and 2203
2259 Database: [2] Table(s) Update failed
2203 Database: [2]. Cannot open database file. System error [3]
Not very helpful, but it's better than a stupid number.
2:
path to the MSI file you are processing.
3:
long negative ten digit number.
Indicates an SQL error number. These can be found in MSDN under the
following path:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2004JAN.1033/enu_kboffdev/offdev/186063.htm
Here's the listing for -2147287037
-2147287037 (80030003) The path %1 could not be found.
Anyway, to bad MS couldn't find the time to document there error
handlers.
---JHG
> I'm not aware of any further documentation. Yes, 2259 means update failed,
> but I don't know of any way you could find out if it failed because(for
[quoted text clipped - 70 lines]
> > > > > file is built, but is there any way to let a setup project add that
> > > > > automatically?
Phil Wilson - 25 May 2004 03:17 GMT
The error 0x80004005 is a generic "unspecified error" result, -2147287038
decodes as 0x80030002, which is a "not found" error. In general, there's one
set of errors that are the traditional Win32 error numbers, the others are
HRESULTs from COM interfaces, if they were reported in hex format they'd
cause a bit less bother!

Signature
Phil Wilson
[MVP Windows Installer]
> Just to follow through, I looked into the error messages some more.
> Maybe the next poor soul tring to find out what MS has left out of the
[quoted text clipped - 36 lines]
> Indicates an SQL error number. These can be found in MSDN under the
> following path:
ms-help://MS.VSCC.2003/MS.MSDNQTR.2004JAN.1033/enu_kboffdev/offdev/186063.ht
m
> Here's the listing for -2147287037
> -2147287037 (80030003) The path %1 could not be found.
[quoted text clipped - 77 lines]
> > > > > > file is built, but is there any way to let a setup project add that
> > > > > > automatically?