Solved

EndUpdateResource .. failed to add resource to a file but no error was returned.

Posted on 2008-10-06
6
771 Views
Last Modified: 2013-11-26
When I call beginupdateresource updateresource. endupdateresource to add several large data (some times over 400.000.000 bytes)
   1. each uses it's own resource id number
   2. use the same szType
   to  myfile.exe
The finished product does not always contain all the resources. Some time it will missing some resource
but there is no error ever generated when the resource is building.
Just wonder is there a limit on the resource file size ?
Is it possible to break up the data into smaller chuck but can still be read and share the same resource id ?


the szType is defined as "resfiles"
 

      hUpdateRes = BeginUpdateResource("myfile.exe", FALSE);

	if (hUpdateRes == NULL) 

	{ 

		error =GetLastError());

		return FALSE;

	}

	result = UpdateResource(hUpdateRes,			// update resource handle 

		szType,			// resource type to change

		MAKEINTRESOURCE(nID),			// resource id to change

		MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),  // neutral language

		srcData,                   // ptr to resource info 

		dwSize); // size of resource info.
 

	if (result == FALSE) 

	{ 

		error =GetLastError());

		return FALSE;

	}		

	

	if (!EndUpdateResource(hUpdateRes, FALSE))

	{ 	error =GetLastError()); 

		return FALSE;		

	}

Open in new window

0
Comment
Question by:willywillycat
  • 5
6 Comments
 
LVL 39

Expert Comment

by:itsmeandnobodyelse
ID: 22664786
MSDN says for UpdateResource:

---------------------------------------------
lpData
Pointer to the resource data to be inserted into the executable file. If the resource is one of the predefined types, the data must be valid and properly aligned. Note that this is the raw binary data stored in the executable file, not the data provided by LoadIcon,LoadString, or other resource-specific load functions. All data containing strings or text must be in Unicode format; lpData must not point to ANSI data.
----------------------------------------------

I wonder whether your texts added were UNICODE as required. I also wonder whether it is zero-terminated strings as it was required as well.

Can you tell why you need to store data in the resource part of an executable? Actually the UpdateResource wasn't made for runtime-updates but for editing the resources of an executable after built, e. g. for language customization, not needing to relink the executable.
0
 

Author Comment

by:willywillycat
ID: 22689352
The files that I am trying to add are 2 zip files. 1 with size of 280000kb and the other 405000kb which are all binary format.
On both of my test machines which has 2 G memory and 30G empty disk space won't.
No idea as why. I defreg my machines and increased page size to 4096Kb and still not being able to.
Seems the endupdateresource will add only 1 file for me,  and the 2nd file will not. No error message were returned for getlasterror() and return value of function indicating a success.
0
 

Accepted Solution

by:
willywillycat earned 0 total points
ID: 22797044
problem not resolved.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:willywillycat
ID: 22797049
problem not resolved
0
 

Author Comment

by:willywillycat
ID: 22797050
problem not resolved
0
 

Author Comment

by:willywillycat
ID: 22797077
problem not resolved
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Welcome my friends to the second instalment and follow-up to our Minify and Concatenate Your Scripts and Stylesheets (http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/A_4334-Minify-and-Concatenate-Your-Scripts-and-Stylesheets.html)…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now