views:

434

answers:

6

Hi,

I have to create few forms and give it as direct EXE (instead of installer, which installs .NET framework, which the end user is not happy, they want something they can directly open and work).

I know it can be done as web, but am looking for winforms?

Please suggest which tool/technology can handle this?

Thanks, Karthick

+3  A: 

You aren't going to be able to write any .NET windows application without the .NET framework installed on the client machine.

So your options would be to change to a language that does not compile to an intermediate language. Perhaps C++ or C or something of that sort.

Of course most, if not all, windows machines already have some form of the .NET Framework installed on them by default. So you might not have to install anything extra if it is already on the machines you are deploying too. If the framework is already there then you can do a copy and paste deployment if you really want to. Just run the exe and it will work.

I think the thing you really need to do here is find out exactly why they don't want frameworks installed with the application. Then see if you can work around or resolve the problem.

A web app is still probably the best option for this type of requirement though.

Glenn Condron
I'd say there are a sufficient number of XP machines without .net still lurking that it might not be safe to assume .net is installed.
spender
@spender, definitely true. I didn't mean to suggest that it was safe to assume it was installed. Just that they should check :).
Glenn Condron
Thanks everyone for your inputs.1. A web app is good but my requirement is to have a winform kind of app without any installation.2. Also, the DB is ms access - this in turn uses MDAC at the time of installation.3.I am thinking of designing a static HTML page, am bit confused here, Can some one faced this kind of scenario? if so what approach did you take?
Karthick
Static HTML can be an alternative but the users may or mayn't be internet connected, so this is not possible.
Karthick
Are the users all on the same network though? Because you don't have to be connected to the internet to get to the web application, just the same network as the web server.What is it about a windows app exactly that they want?
Glenn Condron
No users are are different places, they want to see in a winform app without any additional installation/checking.
Karthick
+1  A: 

You want to use .Net without installing .Net?

Your best bet is probably writing MFC code in C++, though be warned that that is significantly more complex and painful (there is no designer, for one).

BlueRaja - Danny Pflughoeft
-- "though be warned that that is significantly more complex and painful (there is no designer, for one)." -- Well, that's why Delphi is a much more better solution in this case than C or C++, cuz it has the flexibility and performance of C++, plus nice designer, and lots of different GUI components.
vcldeveloper
No designer? There was a forms designer is Visual Studio 6, thought it was not as articulate as the current version
RobS
In Visual Studio 6, you had form designer in VB, and for dialog boxes in Visual C++, not a full form designer for VC++.
vcldeveloper
Fair enough, that is true
RobS
+1  A: 

If you want an Windows forms application with no dependencies C++ is probably your best option, since it allows you to statically link any dependencies into your EXE or just include the DLLs in the same directory.

VB6 and Delphi may also be possibilities if you can include their runtime DLLs with your app without "installing" them - I'm not sure whether that can be made to work, you'd have to test it.

As the command already says, though, most machines have .NET installed. I believe Windows XP SP2 came with .NET framework (though the original XP installation only included it in "Additional Components").

Evgeny
Delphi app is totally stand-alone, and you don't need to include any runtime package or DLL with your EXE. Just a single EXE file. Besides, it has less hassles than C++ when statically liking dependencies, and also provides a full-fledged form designer (similar to .NET WinForms designer), and a nice visual component library.
vcldeveloper
Karthick
@Vcldeveloper - Do you suggest any specific DB for delphi? (without again any further component installation like MS Access (MDAC))?
Karthick
@Karthick: If you are developing a client DB application in Delphi without any specific requirements for DB engine, the choice of DB is purely subjective - Delphi can work with practically any relational DB in the world (additional 3rd party components may be required for some DBs).
Serg
@Karthick, As Serg mentioned, Delphi can connect to almost any DB using ADO, BDE, DBExpress, or 3rd-party components (e.g. AnyDAC, UniDac, etc.). I think you'd better stick with ADO, and MS Access, because MDAC is installed on all Windows installations by default, and if your MS Access database type is Access 2003 (not Access 2007), you can use it in all Windows without the need of installing any particular driver. But, if you insist on having a DB which has no external dependency, you can use tools like DBISAM which are embedded DB, and the driver stuff is directly compiled in your Delphi EXE
vcldeveloper
+23  A: 

@Karthick, If you want an Windows application without dependencies Delphi is an excellent choice. they have an very fast compiler, very good IDE and very powerfull language, you can produce fastest windows native applications in a few minutes. also you can use thousands of third party components (commercial and free) for extend you application, and interact with an amazing, active and very collaborative community.

You can see applications made with delphi in this link

Another examples are

Bye.

RRUZ
Thanks for the info RRUZ.
Karthick
Is Delphi cross-platform? Because Skype runs on pretty much everything
BlueRaja - Danny Pflughoeft
@BlueRaja: Not yet (later this year, an OS X compiler is due to be released). Skype's Windows version is done in Delphi.
Ken White
@BlueRaja: The Skype clients for different platforms are written separately. The Windows client continues to be written in Delphi.
Bruce McGee
A: 

You should also consider the Windows Template Library (WTL). It's a template-based C++ framework that builds on ATL and allows you to create small, light executables with few (if any, depending on the app) dependencies at all. I use it all the time and cannot recommend it highly enough.

Rob