Monday, August 18, 2014

Art of creating custom installers for your maxscripts. pt.2

A common custom maxscript installer can use basic maxscript commands such as getdir , copyfile, deletefile. You can get an idea about how max can interact with external files, if you look up “external file commands” in maxscript reference. As I mentioned earlier, it’s best to hook up the custom installer script with a self-extracting max zip (.mzp) file.
As soon as you drag and drop an .mzp file in to max window, max will extract its content to its temp directory. And start following the instructions we set inside “mzp.run” file.  Actually, you can just install your package with only using the instructions inside this “mzp.run” file, but as I mentioned in the early blog post, you will not be able to present your user a GUI, possibly with uninstall function and installation progress and etc.
So let’s begin with the folder structure of the archive. We will be using separate folders for each type of elements we hope to install. Separate directories for icons, macro scripts, scripts and other common elements that we can find in a common 3ds Max script package.
In context, the functioning of the installer script is this simple;

  • It will get all the path variables that it needs to place/ install each type of elements that are related to the script.
  • Check if the script is already installed and create and set the GUI accordingly, with options for the user to install/uninstall
  • If user press install, copies/ installs the script elements to corresponding paths.
  • If user press uninstall, removes all the script elements from the corresponding paths.
  • Give visual feedback/ notifications on the installation/ uninstallation process.

As a flow chart, we can put it like this;

No comments:

Post a Comment