views:

241

answers:

7

I'd like to do some light data processing - a little binary data manipulation followed by conversion to text serialization. The result is written to a file, and processed by an external program (run by my program). The data processing is more than I'd care to consider doing in batch files.

I'd prefer to use a scripting language, but not have to install the language first. The target computers are mostly older Windows boxes, which are disconnected from the network (no updates, such as PowerShell)

I'm not familiar with the various language's tools for creating EXE files. Which ones have solutions that work well and don't produce huge files? (i.e., whole interpreter package plus my script.)

+1  A: 

I know I might get flamed for this, but VB 6 is a viable option. Since XP SP2 (I think, possibly earlier), Windows has come with its runtimes installed. Not sure about vista.

Theres also the Windows Scripting Host that uses VBScript and JScript. http://en.wikipedia.org/wiki/Windows_Script_Host

Daniel A. White
+4  A: 

For my money (its free) AutoIt 3 is exactly what your looking for. AutoIt produces relatively (250k is the standard overhead) small stand alone exes. It has a full perl like regex engine so your light data processing should be a breeze (I've written some pretty heavy data processing scripts in it myself). When downloading autoit be sure to get the full version including Scite this makes compile to exe a one click operation.

Copas
A: 

Why not knock up a .NET application? There are free editions of the IDE, and the Framework comes with Windows as a standard component (which also includes a C# compiler, as it happens.)

Rowland Shaw
This would be my choice, except the OP mentioned older Windows boxes which may not have the framework installed.
Iceman
Depends how old they are, I guess - I remember XP came with .Net Framework preinstalled, and I think it came with an SP for Win 2k, too. Guess it depends how old "old" is
Rowland Shaw
+1  A: 

Python with py2exe. Depends on what you mean by small though.

FeatureCreep
+1  A: 

Lua is an excellent choice for that kind of stuff. You can integrate it in your executable or use the standalone Lua interpreter to run your scripts.

Nick D
It's a third party executable; if it was ours it would be easier to do the calculation inside. I hadn't thought of using Lua as a standalone though.
Justin Love
A: 

Would using PowerShell script be something you've considered. The data processing might be richer there.

mfloryan
+1  A: 

While waiting for answers I ran across Shoes, which can make Ruby .exe (I'm most familiar with Ruby) I got it mostly working, although the size of 2.4MB was a bit larger than I'd like. However, I found that it would crash when changing application focus.

I switched to a 'regular' terminal script, and found rubyscript2exe, which, after working around a problem with rubygems, seems to work, and creates a ~700kb file.

I did rather like some of the options presented, but it's not worth redeveloping at this point.

Justin Love