Re: [WiX-users] ICE03: String overflow warning
Richard wrote: While I agree with this, I would add that in practice I've never seen a problem arising from overflowing the field. Still, it puts you in a position of working by accident instead of working by design. I've learned the hard way over the years that working by accident situations eventually break when they change the implementation in some way. And in some cases, it WILL break. For example, feature ids are limited to 38 characters, regardless of schema. -- sig://boB http://joyofsetup.com/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] ICE03: String overflow warning
Hi, And in some cases, it WILL break. For example, feature ids are limited to 38 characters, regardless of schema. Good to know. But my case is limited to the CustomAction table... 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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] ICE03: String overflow warning
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 TypeSource Target s72 i2 S72 S255 CustomActionAction Property.idt PropertyValue s72 l0 PropertyProperty 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/vse012070mrt/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
Re: [WiX-users] ICE03: String overflow warning
In article [EMAIL PROTECTED], Chesong Lee [EMAIL PROTECTED] writes: My question is: Can I safely ignore this warning? It would be wise to avoid the warning. While I agree with this, I would add that in practice I've never seen a problem arising from overflowing the field. Still, it puts you in a position of working by accident instead of working by design. I've learned the hard way over the years that working by accident situations eventually break when they change the implementation in some way. -- The Direct3D Graphics Pipeline -- DirectX 9 draft available for download http://www.xmission.com/~legalize/book/download/index.html Legalize Adulthood! http://blogs.xmission.com/legalize/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
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/vse012070mrt/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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] ICE03: String overflow warning
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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
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/vse012070mrt/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/vse012070mrt/direct/01/ ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] ICE03 String overflow
It's an ICE error. You really should fix it. It isn't hard in this case, just shorten the File/@Id. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Stefan Seifert Sent: Wednesday, February 07, 2007 1:56 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] ICE03 String overflow Hello, I'm getting the following warning when trying to compile my module, using Wix3.0 ICE03: String overflow (greater than length permitted in column); Table: File, Column: File, Key(s): Maybe.the.name.for.this.file.is.too.long.dll.F69460F1_7FD1_421A_9422_D6FFD3AB741C Is there a way to get around that? Or should I be concerned about it all? The component is defined like: Component Id=ModuleComponent Guid=97F1CB47-1D61-483B-9635-E554441668D9 File Id=Maybe.the.name.for.this.file.is.too.long.dll Name=Maybe.the.name.for.this.file.is.too.long.dll Assembly=.net AssemblyManifest=Maybe.the.name.for.this.file.is.too.long.dll Source=$(var.Project.TargetDir)\Maybe.the.name.for.this.file.is.too.long.dll KeyPath=yes ReadOnly=yes Vital=yes / /Component Thanks in advance, Stefan Seifert - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] ICE03 String overflow
Hello, I'm getting the following warning when trying to compile my module, using Wix3.0 ICE03: String overflow (greater than length permitted in column); Table: File, Column: File, Key(s): Maybe.the.name.for.this.file.is.too.long.dll.F69460F1_7FD1_421A_9422_D6FFD3AB741C Is there a way to get around that? Or should I be concerned about it all? The component is defined like: Component Id=ModuleComponent Guid=97F1CB47-1D61-483B-9635-E554441668D9 File Id=Maybe.the.name.for.this.file.is.too.long.dll Name=Maybe.the.name.for.this.file.is.too.long.dll Assembly=.net AssemblyManifest=Maybe.the.name.for.this.file.is.too.long.dll Source=$(var.Project.TargetDir)\Maybe.the.name.for.this.file.is.too.long.dll KeyPath=yes ReadOnly=yes Vital=yes / /Component Thanks in advance, Stefan Seifert - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users