Link to home
Start Free TrialLog in
Avatar of manish_prajapati
manish_prajapati

asked on

how can we remove .net framework dependency in vb.net application

hi all,
   how can we remove .net framework dependency for vb.net application while delivering it to client..
  one of my application does'nt need any support from .net framework...as it is very simple application with few buttons..

please suggest me the solution...

Manish

 
Avatar of AlexFM
AlexFM

>> one of my application does'nt need any support from .net framework.

Any VB.NET application, even simple "Hello, World", requires .NET Framework installed on the client computer. There is no way to produce standalone VB .NET program which doesn't require .NET Framework.
Hi,

there is a way to compile .NET to native code using a 3rd party tool called Salamand by remotesoft.


Here is where u can get the tool and more information about it.

www.remotesoft.com

however i have not tested it, so reliability unknown..

hope this helps
As AlexFM said you can't, in the good way.
Before following the solutions I sugest you to, and think. If your application is for a client that knows anything about computers, it is best to ship tell him to go to windowsupdate and install .net, or just add the .NET redistr in the application CD, If, it is for servers, and .Net should not be installed because of load problems, or, if your client can't go to windows update, you have 4 solutions left:
1. Convert the application to asp.net, and deliver it in a host acessible to the client.
2. Convert the application to VB6 or C++
3. Take a look at mono-project.com. It is a reimplementation of .NET compatible with windows, Linux and even Mac. You can embend mono in a C/C++ application, like a static link. Of course this is a workarround, and the size of .Net will always be there.
4. If you don't want .Net but you can use Java, try IKVM (not sure) that can convert a .Net into a Java. If IKVM doesn't do the think there is a paid program... mainsoft or something... just search in google.
I would side with AlexFM,

If this is your client, and they are paying you or your company some serious money, I wouldn't recommend being a cowboy! VB.net was meant to use the .net framework, and attempting to bypass it will probably just result in more headaches than you need, and potentially losing the client. Depending on who you work for, it could also mean you losing your job.

Even if you managed to get this to work on your development machine, that doesn't mean it would work on other versions on the windows platform.

Mugman
Hi,

Just an opinion, but in theory, all .NET applications are finally JITed out to native code by CLR. Again the CLR being a standard and microsoft itself taking initiative to allow developers explore it, by providing a shared source implementation codenamed Rotor,  i think it is quite possible to have the .NET application compiled to native code. I beleive the salamander tool demonstrates just that.

But then here is the catch. The salamander linker pulls out and natively links only the assemblies used by the project. Although this sounds good enough, the part that worries me is the legal implications as parts of the framework are not to be distributed outside the microsoft package.

But again, in theory, you can very well compile .NET code to native code for any win32 platform.

I fail to understand the nature of the client problem.  With ANY - repeat ANY -- upgrade to almost ANY Microsoft Product (Operating System(Windows 2000 or above), Database (SQL Server), Internet Explorer for example), the upgrade process itself, will install the newest release of the .NET FRamework, as PART OF THE UPGRADE - so your customer may already have the .NET Framework installed, and NOT be aware of that fact.  And it is a ONE TIME installation.

AW
but as indicated, no matter how simple you think your application is, if it was developed in VB.NET, it ABSOLUTELY requires the .NET Framework - you cannot possibly write a VB.NET application that does not require the .NET Framework - that cannot be done, no matter how simple you try to make your app.

AW
I just checked out that "Salamand" software, it too uses the .net framework. All it does apparently is take .net runtime components and compile them into the exe. This is kinda like the approach Borland's Delphi uses by bundling the runtime file inside the application.

This Salamand software I assume would work, but it would beef up your app several meg, might as well just go with the full .net redistributable......

Mugman
Avatar of manish_prajapati

ASKER

Exactly,
   i only want to reduce my application size ....as i have to deliver a softphone to millions of customer....they will download it from website.i don't think most of them had already .net framework installed on their system.

 I am also packaging .net framework with my applicatio ..but it increases application size...
as told by AW .... we can't give the customer only application with .net framework.

Salamand software is again costly as well as not soving the purpose( increases the size )

so altimately it was a goood discussion...

thanks
Manish
ASKER CERTIFIED SOLUTION
Avatar of vippx
vippx

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Again, I would like to add up rgding the progress of the project i had undertaken.... We have stopped using Vb.net since it is bulky and newayz since mine is a company which is not aggressively in a UI design work.... it wont be possible for me to justify purchasing Salamander or any such third party product just to reduce the size of the setup executable.
Instead we have planned to make a paradigm shift and have started using VC++ which as we know can be compile with/without .NET frmwrk.
Also another strong point behind not using any .NET frmwrk is that it makes the application slow ... In my opinion and based on the collected statistics we found out that , the efficiency of a .NET application is seriously impaired as compared to a VC++ or any other language (including vb6) without .NET frmwrk.
Also ... tomm if microsoft comes out with a OS preinstalled with .NET frmwrk they still ve to support legacy(unmanaged) software/applications... and i suppose the efficiency of such applications would still be better then the apps using .NET....