|
I have a .NET application and I'd like to distibute it in 2 forms:
1. As is.
2. Compiled to run on a Windows systems which may not have the .NET framework.
Is there a way to get a native application from a collection of assemblies? I looked into the ngen.exe program, but this appears to only pre-compile assemblies into an internal cache.
|
|
|
|
|
Somewhere on this forum, someone was asking about Obfuscators and wanted an opinion about something from Salamander software (IIRC) which turned .NET apps into native code. Find the link and see whether it still requires the .NET framework installed.
James
- out of order -
|
|
|
|
|
James T. Johnson wrote:
Somewhere on this forum, someone was asking about Obfuscators and wanted an opinion about something from Salamander software (IIRC) which turned .NET apps into native code. Find the link and see whether it still requires the .NET framework installed.
IIRC, Salamander is only a super-NGEN, you still need the .NET framework
Your incessant rantings indicate you have a brain the size of a pea, and the mental capacity of a bag of hammers. - John Simmons
|
|
|
|
|
jstonge wrote:
2. Compiled to run on a Windows systems which may not have the .NET framework.
This is impossible IMHO. You will always need your assembly (because of the metadata) and the framework (as the class library and to interpret it) even if you precompile your assembly (with NGEN for example).
Cheers
Martin
"Situation normal - all fu***d up"
Illuminatus!
|
|
|
|
|
And eventually all PC's will have the .NET framework pre-installed , just like all the VB/C++ runtimes. Its not all that different and could possibly decrease the size of an application if the application is very big.
I wonder if it is possible the make a cutdown version of the .NET framework like as in Java, where only needed assemblies are required and the "WebStart" it.
"I dont have a life, I have a program."
|
|
|
|
|
This is a huge problem with .NET
If you're a small company and generally don't distribute your apps on CD, .NET is severly limiting your potential market.
I've managed to compile C++ 6.0 using Studio.NET and the final exe does not require the 22MB framework but I have been unsuccessful with VB.net
I agree that EVENTUALLY, everyone will have the framework installed, but untill then, would you download a 22.1MB application or a 100Kb application?
Rick Eastes.
http://www.eastes.net
|
|
|
|
|
I'd like to design a distributed system such that:
* Clients simply connect to the server, and wait for a callback. This is not an anync result, they are simply waiting for the server to call them. Think of this as the server firing an event for the client to respond to.
* Server does its thing. At times, it will need to perform a callback to a particular client.
I've seen examples on how to use delegates and shim classes to deal with my first requirement. But nothing I've seen suggests I can acomplish my second requirement. How can the server be aware of all the clients connected to it, and perform a callback on a particular one?
|
|
|
|
|
|
I have a .NET service that needs access to a network share. When the service is logged in as 'local system' it cannot access the network share. When the service is logged in as any domain user it can access the network share.
Is there a way in code, to allow access to the network share when logged in as 'local system'?
Thanks - Joel
|
|
|
|
|
By default the Local System account has no network credentials. I don't know if you can change this or not. The recommended solution is to create a user with only the permissions you need.
James
- out of order -
|
|
|
|
|
change the account it executes as...
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
What i know is COM will no longer be used in .NET. Although we can create COM components but in future developments COM is not the standard way of create reusable components. is it so?
@ish@
|
|
|
|
|
Yes, I think this will be so in the long run. But it will take several years I think .NET itself still uses COM+ for some parts but I get the impression that eventually it will all be replaced by native .NET. I suspect Windows itself and perhaps some MS apps. wil still use COM internally but application developers will write .NET components for new stuff.
Kevin
|
|
|
|
|
Kevin McFarlane wrote:
I get the impression that eventually it will all be replaced by native .NET
If you want to use the shell, you have to use the COM shell interfaces. .NET classes exposing shell features do exactly that for us, but in the end if the COM shell objects are badly installed, or badly registered, it won't work, regardless of the .NET virtual machine and classes.
Kevin McFarlane wrote:
I suspect Windows itself and perhaps some MS apps.
Again no. The entire operating system is based on COM. What we developers do is use the features provided by these COM objects. So in the end, we need at least a COM bridge. That's P/Invoke. Because of that, not only the underlying COM is not going to vanish but also, quite the contrary, people are using platform invoke with C# to solve their problems. In the marketing brochures, MS never talks about that hybrid .NET code made of simple C# (or VB.NET, ...) code, plus all the application logic done with platform invoke. I can't figure out what is "native .NET" when it comes to real world problems, really.
What is going to change through the years ?
- probably the classes provided to us will have more "business objects", hopefully.
- .NET will be more than ever out of developers' control, unlike MFC dlls for instance. The ability to run your .NET app on someone else machine will probably rely mostly on the actual target .NET runtime to accept your IL code (based on some .NET-compliance certification steps, or whatever MS might think about it along the way...).
|
|
|
|
|
Thanks. Very informative.
Kevin
|
|
|
|
|
Question: Developing an enterprise level application would you inherit from ServicedComponent and install it in COM+, or would you create a Remoted object, and host it without COM+?
From the below link... I would think that COM+ as an "Application Server" for .NET components will go away, and we'll see a .NET Application Server. Thus making the choice above for inheriting from ServicedComponent the most logical choice.
http://msdn.microsoft.com/msdnmag/issues/01/10/complus/default.aspx
I ask this question because I run into quite a few people who say COM+ is dead.. Use .NET Remoting, and the singlton design pattern, and roll your own small service to remotly expose your objects. Though I keep saying... "What about Context? Connection Pooling, Object Pooling..." they respond.. "The singleton mrs!! now shooo!".
Thanks for the help in advance.
Joan
|
|
|
|
|
|
I want to know the deep down of application domain. Any article on that? or if anybody knows about it
@ish@
|
|
|
|
|
Hi
Sorry I dont have a lnk but Eric Gunnerson (from MSFT) has written 2 articles on AppDomain's. Have a look on MSDN...(about May, called Super Graphing Calculator or something)
Cheers
"I dont have a life, I have a program."
|
|
|
|
|
Ok thanks, i will try to search for it
@ish@
|
|
|
|
|
I am writing a shell namespace extension for XP (in C#) and have run into some troubles.
I am successful in creating a shell folder and shell view, but once I start working with sub-folders, all falls apart.
I get a call into EnumObjects successfully, but when I return I get:
Unhandled exception at 0x76a6ebf7 (shdocvw.dll) in explorer.exe:
0xC0000005: Access violation reading location 0x80004005.
Here is how I define EnumObjects:
[PreserveSig()]<br />
uint EnumObjects(IntPtr hwnd, SHCONTF grfFlags, out System.IntPtr<br />
ppenumIDList);<br />
Here is the code:
<br />
CTWShellEnum eList = new CTWShellEnum()<br />
ppenumIDList = Marshal.GetComInterfaceForObject(eList,<br />
typeof(IEnumIDList));<br />
return CTWShellConstants.S_OK;<br />
I never get a call into IEnumIDList.Next (which is what I expect to be the next call)
Here is my IEnumIDList definition:
<br />
public interface IEnumIDList {<br />
[PreserveSig()]<br />
uint Next(<br />
int celt,<br />
[MarshalAs(UnmanagedType.LPArray), Out] out IntPtr[] rgelt,<br />
out int pceltFetched);<br />
<br />
[PreserveSig()]<br />
uint Skip(int celt);<br />
<br />
[PreserveSig()]<br />
uint Reset();<br />
<br />
[PreserveSig()]<br />
uint Clone(out System.IntPtr ppenum);<br />
}<br />
Any insight or information from others who have successfully implemented will be greatly appreciated.
Thanks
-Bill
|
|
|
|
|
|
Oh great. So now we can program for the inferior beings.
Seriously though, it was only a matter of time before it was ported from FreeBSD to OSX because the latter has FreeBSD underpinnings.
You will now find yourself in a wonderous, magical place, filled with talking gnomes, mythical squirrels, and, almost as an afterthought, your bookmarks
-Shog9 teaching Mel Feik how to bookmark
I don't know whether it's just the light but I swear the database server gives me dirty looks everytime I wander past.
-Chris Maunder
|
|
|
|
|
David Stone wrote:
OSX because the latter has FreeBSD underpinnings.
Just curious but how does the whole Unix, Mac OSX, FreeBSD and Linux world relate? How different are they to each other?
Paul Watson Bluegrass Cape Town, South Africa Ray Cassick wrote: Well I am not female, not gay and I am not Paul Watson
|
|
|
|
|
When Steve Jobs left Apple, he went to NeXt..creators of the Windowing system for FreeBSD. So when he came back to Apple, he incorporated FreeBSD into the MacOS. Also, the OSX themes look a lot like NeXtStep's do...
You will now find yourself in a wonderous, magical place, filled with talking gnomes, mythical squirrels, and, almost as an afterthought, your bookmarks
-Shog9 teaching Mel Feik how to bookmark
I don't know whether it's just the light but I swear the database server gives me dirty looks everytime I wander past.
-Chris Maunder
|
|
|
|