How to deliver a node.js + imagemagick tool?

I've developed a node.js tool which uses imagemagick from the command line. That is, exec('my_imagemagick_commands'). What's the best way to deliver that tool to a client using Windows? That is, how can I make a Windows installer that'll install node.js, imagemagick and the tool - preferably as a binary, not the source - in a specific folder?

If you want an easy bundle... Zip the list below, deploy on client and drag/drop images to be processed onto the yourtool.cmd file (I'm doing something similar for image optimizers)

Bundle: (put these in one directory)

  • yourtool.cmd
  • yourtool.js
  • node.exe
  • node_modules/ (if applicable)

yourtool.cmd

REM Get the drive/path the batch file is in
set batchdir=%~d0%~p0

REM Run tool for items dragged over...
"%batchdir%node.exe" "%batchdir%yourtool.js" %*

yourtool.js

// start at 2 for arguments passed...
// 0 is node.exe
// 1 is the js file run
for (var i=2; i<process.argv.length; i++) {
    var imagePath = process.argv[i];
    //do something with image...
}

For others interested in imagemagick with node, you should check out node-imagemagick