> My question is: Can I safely ignore this warning?

It would be wise to avoid the warning.
Schema of the CustomAction table shows that Action field is S255 which is up to 
255 characters.

CustomAction.idt
Action  Type    Source  Target
s72     i2      S72     S255
CustomAction    Action

Property.idt
Property        Value
s72     l0
Property        Property

However, Value field in Property table is not bound to 255 characters.
You can define a property (e.g. MyCaData) and use the property in CustomAction 
definition using brackets. (e.g. [MyCaData])


> Just out of curiosity: You say you have an immediate action which calls
> DoAction to run your deferred action. Do you have a reason for this? I
> have just an immediate action (Type 51) which sets the property and
> hardcoded my deferred action in the InstallExecuteSequence...

You can also schedule an immediate custom action and a deferred one in 
InstallExecuteSequence in pairs.

But in a way using MsiDoAction, you only have to schedule an immediate custom 
action. And from an immediate custom action, you can schedule a deferred custom 
action several times.

for (int i = 0; i < 10; ++i) {
        /* You can also set progress bar estimate here as well */
        MsiSetProperty("MyDeferredCustomAction", mydata[i]);
        MsiDoAction("MyDeferredCustomAction");
}

The above will schedule MyDeferredCustomAction several times with different 
data, usually read from a custom table.

Custom actions in wix source codes may be a good reference. Hope this helps.

Regards,

Chesong Lee

-----Original Message-----
From: Krause, Henning [mailto:[EMAIL PROTECTED]
Sent: Saturday, December 29, 2007 2:25 AM
To: Chesong Lee; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] ICE03: String overflow warning

Hi Lee,

thanks for your reply. I know about all these restrictions. That's why
my CustomActionData property is so big :-)

I have already scheduled an immediate property which puts all the needed
properties in the appropriate custom action property. The point is that
the property exceeds 255 chars and causes this ICE03 warning.

My question is: Can I safely ignore this warning?

Just out of curiosity: You say you have an immediate action which calls
DoAction to run your deferred action. Do you have a reason for this? I
have just an immediate action (Type 51) which sets the property and
hardcoded my deferred action in the InstallExecuteSequence...

Kind regards,
Henning Krause

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of
> Chesong Lee
> Sent: Saturday, December 29, 2007 3:39 AM
> To: wix-users@lists.sourceforge.net
> Cc: Krause, Henning
> Subject: Re: [WiX-users] ICE03: String overflow warning
>
> Codes in deferred custom action cannot directly access MSI database.
>
> In the function, you can only read "CustomActionData" property, of
> which value is set as the name of the custom action.
>
> For example, to transfer the data to the deferred custom action named
> "MyDeferredCustomAction", you have to set the property
> "MyDeferredCustomAction" by defining it in the MSI Property table or
> using immediate custom actions. And then in your deferred custom
> action code, you use "MsiGetProperty(_T("CustomActionData"), ...) to
> retrieve the value.
>
> See this: http://msdn2.microsoft.com/en-us/library/aa370543.aspx
>
> In well-coded custom actions where deferred custom actions are
> required, we only schedule the immediate custom actions in the
> InstallExecutionSequence table, and in an immediate custom action
> ("MyImmediateCustomAction") , we access the MSI table and set
> "MyDeferredCustomAction" property appropriately and call
> DoMsiAction("MyDeferredCustomAction"). As MSI properties only can be
> strings, you may have to use parsers or use binary-to-text
> encoder/decoder (e.g. binhex, base64 or ascii85).
>
> Hope this helps.
>
>
> On Dec 28, 2007 8:47 AM, Krause, Henning <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > When I compile my WIX project, I get the following warning:
> >
> > ICE03: String overflow (greater than length permitted in column);
> Table:
> > CustomAction, Column: Target
> >
> > Is this something I should care about? After all, the column is
> limited
> > (according to Orca) to 255 chars which is not enough given that I
> must
> > put in all the data I want to access from a deferred custom action.
> Or
> > is there another way to transfer data from the MSI database to a
> > deferred custom action?
> >
> > Kind regards,
> > Henning
> >
> >
---------------------------------------------------------------------
> ----
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2005.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to