13

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

RRUZ
  • 134,889
  • 20
  • 356
  • 483
Karthick
  • 131
  • 1
  • 3
  • What OS are they running? If they are running Vista they already have .NET 3.0 installed. – Matthew Olenik Apr 30 '10 at 00:00
  • 1
    You can't use WinForms without .NET, as they're implemented in the .NET framework. You need to go to native Windows controls instead, using Delphi, C++ Builder, Visual Studio's C++, or another platform that generates native executables. – Ken White Apr 30 '10 at 13:45

6 Answers6

27

@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
  • 134,889
  • 20
  • 356
  • 483
4

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
  • 1,169
  • 7
  • 14
  • 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 Apr 30 '10 at 00:08
  • @spender, definitely true. I didn't mean to suggest that it was safe to assume it was installed. Just that they should check :). – Glenn Apr 30 '10 at 00:16
  • 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 Apr 30 '10 at 00:30
  • Static HTML can be an alternative but the users may or mayn't be internet connected, so this is not possible. – Karthick Apr 30 '10 at 00:32
  • 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 Apr 30 '10 at 00:44
  • No users are are different places, they want to see in a winform app without any additional installation/checking. – Karthick Apr 30 '10 at 01:25
1

This should give you some hints:

What are the available tools to compile .NET projects to standalone native binaries?

Community
  • 1
  • 1
Pedery
  • 3,632
  • 1
  • 27
  • 39
1

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
  • 76,700
  • 56
  • 158
  • 197
0

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
  • 84,206
  • 33
  • 197
  • 283
  • 6
    -- "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 Apr 30 '10 at 02:07
  • No designer? There was a forms designer is Visual Studio 6, thought it was not as articulate as the current version – RobS Apr 30 '10 at 03:32
  • 1
    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 May 03 '10 at 00:23
0

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").

EMP
  • 59,148
  • 53
  • 164
  • 220
  • 8
    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 Apr 30 '10 at 02:11
  • Thanks RRUZ & Vcldeveloper, i'll check that, again thanks for sharing. – Karthick Apr 30 '10 at 02:19
  • @Vcldeveloper - Do you suggest any specific DB for delphi? (without again any further component installation like MS Access (MDAC))? – Karthick Apr 30 '10 at 02:21
  • 3
    @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). – kludg Apr 30 '10 at 03:01
  • 1
    @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 Apr 30 '10 at 16:19