views:

42

answers:

3

I have to build an application that converts one file format to another file format. So at the start of the program, it pops up a file picker dialog, where the user can select which file to convert, then it pops up a save file dialog where the user can select where to save the converted file.

Requirements:

  • No installation. Distributable as an .exe (XP and above).
  • The file size of the .exe shouldn't be too big (below 1 MB if possible).
  • I'd like some high level language features to do the converting.
  • Some GUI capabilities.

This is a very specific use case, but in general it would be nice to have a combination of language / framework / runtime that you can quickly prototype something in and then distribute it without a hassle.

I've been looking, but without much success. Anyone have an idea?

+4  A: 

WinForms either using C# or VB.NET would seem to be the obvious choice here.

The executable won't be large and if you target .NET 2.0 there's every chance that your users will already have this installed. If not it's not a huge download.

Using ClickOnce for the installation will make this simple. There are drawbacks to ClickOnce - but it's fine for small applications such as this.

ChrisF
A: 

I'd use C# and winforms it's very fast to build gui programs with and your target machines will already have the necessary runtime installed.

Gary
+2  A: 

I'd use Delphi for this. .NET applications require the .NET runtime to be installed (although .NET 2.0 is near-ubiquitous now), and doing a forms application in C would be an exercize in pain. Delphi is easy to use, relatively "modern", and can create stand-alone EXE files.

For greatest ease of development, however, I would recommend rethinking your "no installation" requirement and using .NET 2.0. Your resulting EXE would be extremely small (much less than 100K), it would be very easy to write functionality like this, and almost every one of your potential users will already have .NET 2.0 installed.

MusiGenesis