Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Set DISABLEADVTSHORTCUTS property in VS.NET setup project

536 views
Skip to first unread message

Phil Wilson

unread,
May 13, 2004, 8:06:31 PM5/13/04
to
You'd need to add a post build event to update the MSI file. There's a
script in the Windows Installer SDK called WiRunSql.vbs that takes an MSI
file and a SQL statement as parameters. The kind of SQL would be:

INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS ', '1')

--
Phil Wilson [MVP Windows Installer]
----
"jt" <anon...@discussions.microsoft.com> wrote in message
news:C9FC1E93-A9EE-4A9B...@microsoft.com...
> Does anybody know how to set DISABLEADVTSHORTCUTS property in a VS.NET
setup project?
> I know DISABLEADVTSHORTCUTS property can be added by using Orca after .MSI
file is built, but is there any way to let a setup project add that
automatically?
>


Joe Goeke

unread,
May 17, 2004, 9:12:42 PM5/17/04
to
Hey Phil,
Thanks for the SQl command, but when I run the below SQL command
against a MSI file (to change the product name), I get the following
execution error:

Command = INSERT INTO Property (Property, Value) VALUES ('ProductName
', 'Testing')

Msi API Error 80004005: Execute,Params
1: 2259 2: <PathToMSIFile> 3: 4:

The <PathToMSIFile> is the actual path the the msi file that I
abbreviated for clarity.

Any idea what's wrong? Any idea where I could find info on just what
all of the error message is trying to say?

Thanks in advance!
---JHG

"Phil Wilson" <Phil....@unisys.spamcom> wrote in message news:<uzOQRdUO...@tk2msftngp13.phx.gbl>...

Phil Wilson

unread,
May 17, 2004, 11:41:32 PM5/17/04
to
If you were adding something, Insert is what you want, but now you're
updating an existing entry so you need something different. This is SQL, you
don't use INSERT to update an existing entry. You want (off the top of my
head):

UPDATE Property SET Property.Value = 'Testing' WHERE Property.Property
='ProductName'


--
Phil Wilson
[MVP Windows Installer]

Definitive Guide To Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

"Joe Goeke" <joe_...@hotmail.com> wrote in message
news:77e8692f.04051...@posting.google.com...

Joe Goeke

unread,
May 18, 2004, 1:51:51 PM5/18/04
to
Duh... Silly me. I'm a little rusty on my SQL. Your example worked
perfectly for changing an existing property.

I an still curious however, is there any know _usable_ documentation
on the error messages returned by the Installer.LastErrorRecord? The
MSI SDK help states "This method has no return values", yet it returns
the error string as we know, and in the criptic format of

Msi API Error 80004005: Execute,Params
1: 2259 2: <PathToMSIFile> 3: 4:

This is the same error as before when I was trying to do an INSERT to
an exiting property, but just _try_ and deduce that from the above
:-).

Thanks once again!
---JHG

"Phil Wilson" <pdjw...@nospam.cox.net> wrote in message news:<uJVYOnI...@TK2MSFTNGP12.phx.gbl>...

Phil Wilson

unread,
May 18, 2004, 4:01:56 PM5/18/04
to
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.

--
Phil Wilson [MVP Windows Installer]
----

Joe Goeke

unread,
May 19, 2004, 3:46:57 PM5/19/04
to
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


"Phil Wilson" <Phil....@unisys.spamcom> wrote in message news:<O9eY5LRP...@TK2MSFTNGP09.phx.gbl>...

Phil Wilson

unread,
May 24, 2004, 10:17:01 PM5/24/04
to
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!

--
Phil Wilson
[MVP Windows Installer]
"Joe Goeke" <joe_...@hotmail.com> wrote in message
news:77e8692f.04051...@posting.google.com...

Dale Orwig

unread,
Aug 21, 2006, 9:16:54 AM8/21/06
to
-- meant to add --> Err.HelpFile
and ---> Err.HelpContext

Posted via DevelopmentNow.com Groups
http://www.developmentnow.com

Dale Orwig

unread,
Aug 21, 2006, 9:29:48 AM8/21/06
to
(Retrying to post the balance of previous message)
Properties, previousl, referenced on this thread, ommitted from previous post. Err.HelpFile Err.HelpContext
0 new messages