Hi there. Does anyone know if it's possible to embed a new resource into an
assembly at runtime as well as update an existing (assembly) resource. Any
assistance would be appreciated. Thanks. 11 3321
Dave,
Do you want to do this to an assembly that is loaded in the runtime? If
that is the case, then this is not possible. Changing the assembly at
runtime is a bad, bad idea. If you need to manage resources (and I use this
term not in the .NET space, but as a general term) in a dynamic manner, then
you should have some sort of storage solution to do that.
Hope this helps.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"Dave Brown" <no_spam@_nospam.com> wrote in message
news:Ol**************@TK2MSFTNGP04.phx.gbl... Hi there. Does anyone know if it's possible to embed a new resource into an assembly at runtime as well as update an existing (assembly) resource. Any assistance would be appreciated. Thanks.
> Do you want to do this to an assembly that is loaded in the runtime? If that is the case, then this is not possible. Changing the assembly at runtime is a bad, bad idea. If you need to manage resources (and I use this term not in the .NET space, but as a general term) in a dynamic manner, then you should have some sort of storage solution to do that.
Hope this helps.
Thanks for the feedback. In my particular case however, adding and updating
resources in the assembly (exe) itself would have been the simplest way to
go for my users. I wanted to avoid dealing with extraneous file(s) that is
and just ship one ".exe". Perhaps a religious issue but the specialized
nature of my application actually lends itself to this technique (it
involves the processing of resources). Since it's not doable however I'll
have to package them up another way. In any case, thanks again
(appreciated).
Dave,
It's one thing to process resources in an assembly that you actually
don't load in the CLR, but to do it in an assembly already loaded in the
CLR, that's just not feasible.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"Dave Brown" <no_spam@_nospam.com> wrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl... Do you want to do this to an assembly that is loaded in the runtime? If that is the case, then this is not possible. Changing the assembly at runtime is a bad, bad idea. If you need to manage resources (and I use this term not in the .NET space, but as a general term) in a dynamic manner, then you should have some sort of storage solution to do that.
Hope this helps.
Thanks for the feedback. In my particular case however, adding and updating resources in the assembly (exe) itself would have been the simplest way to go for my users. I wanted to avoid dealing with extraneous file(s) that is and just ship one ".exe". Perhaps a religious issue but the specialized nature of my application actually lends itself to this technique (it involves the processing of resources). Since it's not doable however I'll have to package them up another way. In any case, thanks again (appreciated).
> It's one thing to process resources in an assembly that you actually don't load in the CLR, but to do it in an assembly already loaded in the CLR, that's just not feasible.
I really didn't think so since updating a running executable isn't normally
viable as you said (but I'm fairly new to .NET so I chanced it). Do you know
off-hand how it can be done for an assembly that isn't currently loaded
(without relying on command line tools if possible - I normally prefer to
avoid shelling out to launch external utilities). Thanks.
Why don't you duplicate the EXE, embed the resources in the copy, and replace the running exe with the new one, when they exit the
application?
Cheers,
Stu
Nicholas Paldino [.NET/C# MVP] wrote: Dave,
Do you want to do this to an assembly that is loaded in the runtime? If that is the case, then this is not possible. Changing the assembly at runtime is a bad, bad idea. If you need to manage resources (and I use this term not in the .NET space, but as a general term) in a dynamic manner, then you should have some sort of storage solution to do that.
Hope this helps.
That's a really bad idea.
What if there is a permission set granted to the assembly based on the
hash? Or if the assembly has a strong name? Verification of the assembly
goes out the window now.
--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard.caspershouse.com
"Stuart Carnie" <st***********@nospam.nospam> wrote in message
news:44**************@nospam.nospam... Why don't you duplicate the EXE, embed the resources in the copy, and replace the running exe with the new one, when they exit the application?
Cheers,
Stu
Nicholas Paldino [.NET/C# MVP] wrote: Dave,
Do you want to do this to an assembly that is loaded in the runtime? If that is the case, then this is not possible. Changing the assembly at runtime is a bad, bad idea. If you need to manage resources (and I use this term not in the .NET space, but as a general term) in a dynamic manner, then you should have some sort of storage solution to do that.
Hope this helps.
I didn't say it was a good idea :)
I was providing some ideas, given the original question was regarding the possibility of embedding a new resource in their
*existing* executable. Yes, there are side effects, which you have duly pointed out - the assembly cannot be strongly named, and
it can not be verified, therefore posing a severe security risk.
Cheers,
Stu
Nicholas Paldino [.NET/C# MVP] wrote: That's a really bad idea.
What if there is a permission set granted to the assembly based on the hash? Or if the assembly has a strong name? Verification of the assembly goes out the window now.
>I didn't say it was a good idea :) I was providing some ideas, given the original question was regarding the possibility of embedding a new resource in their *existing* executable. Yes, there are side effects, which you have duly pointed out - the assembly cannot be strongly named, and it can not be verified, therefore posing a severe security risk.
Thanks for the suggestion. In addtion to the above issues however, it's an
unwieldy solution :) and one I doubt will even work. It's unlikely I can
copy a running executable without encountering some type of sharing
violation nor could I copy it back to itself for the similar reasons (so who
will do this copying). Even if it was doable, it would be a dangerous
venture trying to copy it back to itself while still running (proper
synchronization would be required but this is outside my control).
Actually, it is possible and various techniques are available to implement a "self deleting executable", see http://tinyurl.com/eb9o4.
Dave Brown wrote: I didn't say it was a good idea :)
I was providing some ideas, given the original question was regarding the possibility of embedding a new resource in their *existing* executable. Yes, there are side effects, which you have duly pointed out - the assembly cannot be strongly named, and it can not be verified, therefore posing a severe security risk.
Thanks for the suggestion. In addtion to the above issues however, it's an unwieldy solution :) and one I doubt will even work. It's unlikely I can copy a running executable without encountering some type of sharing violation nor could I copy it back to itself for the similar reasons (so who will do this copying). Even if it was doable, it would be a dangerous venture trying to copy it back to itself while still running (proper synchronization would be required but this is outside my control).
> Actually, it is possible and various techniques are available to implement a "self deleting executable", see http://tinyurl.com/eb9o4.
I quickly inspected some of these techniques and what I see is either
dangerous (relying on undocumented techniques and therefore subject to
failure), unsupported on all mainstream versions of Windows (or possibly
future versions), potentially open to failure after the next SP, and
generally cumbersome and unwieldy to implement. Moreover, these techniques
apply to raw Windows programs. .NET programs are platform neutral so it's
cleaner not to assume they're running on Windows (you would have to rely on
pure Windows techniques to pull these tricks off). Also note that deleting a
running executable once it's finished is likely easier than updating it.
"Stuart Carnie" <st***********@nospam.nospam> wrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl... I didn't say it was a good idea :)
I was providing some ideas, given the original question was regarding the possibility of embedding a new resource in their *existing* executable. Yes, there are side effects, which you have duly pointed out - the assembly cannot be strongly named, and it can not be verified, therefore posing a severe security risk.
Modifying resources doesn't affect whether the code is verifiable, does it?
It will, of course, invalidate the cached verification results. Cheers,
Stu
Nicholas Paldino [.NET/C# MVP] wrote: That's a really bad idea.
What if there is a permission set granted to the assembly based on the hash? Or if the assembly has a strong name? Verification of the assembly goes out the window now. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Roose |
last post by:
With some googling I have found these resources:
http://docs.python.org/ext/win-dlls.html
http://www.python.org/doc/faq/windows.html
I have a large Win32/MFC/C/C++ application that has an...
|
by: amit |
last post by:
Hello,
I am currently studying how to embedd python. I am developing a
graphical C++ application. My goal is to embedd python script that will
control some kind of animation.
I have some...
|
by: MikeY |
last post by:
With Reference/Resource is there a way of embedding the .resource file
within a folder of my application instead of having it in the main project
/executing assembly area. i.e. if I have a folder...
|
by: Matt |
last post by:
I'm working on a plug-in for an application called DesktopSideBar for
Windows. It emulates to some degree the Longhorn sidebar. The SDK for
DesktopSideBar supports .NET plug-in development through...
|
by: UJ |
last post by:
I've got an image I want to embed in a dll to use on a screen later. I've
got it in a resource file, got it to compile in to the dll. The problem is
getting it back out. It seems like my problem is...
|
by: Praveen |
last post by:
Hi,
I have a control that currently embeds it's images and script files as
resources (by marking them as 2.0's WebResourceAttribute) and lets the
runtime handle the streaming of the files to the...
|
by: gavinpaterson |
last post by:
Dear Pythoners,
I am writing as I am having trouble embedding a Python program into a
Win XP C++ console application.
I have written a script file for importing and I am trying to use the...
|
by: Wilfried Mestdagh |
last post by:
Hi,
I create a new cursor like this:
Bitmap bmp = new Bitmap(fileName);
panel1.Cursor = new Cursor(bmp.GetHicon());
But now I want to embed the image in the executable. I have already add...
|
by: TS |
last post by:
i have a need to possibly enable mutli language support. What benefit do i
get by using a resource file instead of a custom xml solution?
thanks!
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
| |