1

What are the options for installing an application which uses batch files, python, excel and proprietary software? I developed a command line shell to run fast, repeatable traffic simulations largely avoiding the GUI. Essentially a 3rd party program is installed by copying the files to a program directory (so windows doesn't recognise an install) and my software is an extension.

My software can only logically be run from a project directory which must sit under the program directory. It is a batch file that recursively generates another batch file which runs a fortran traffic simulation program. It is supported by other batch files and python programs that use excel sheets. The core functionality has no dependencies other than python but non-core [advanced] functionality requires packages which can be too challenging to install in a corporate IT environment.

Setting up the pypi install I realised installing as a python module is probably inadequate although it does handle the non-core python module dependencies if they are accessible. Essentially the program is run from the project directory which must sit under a program directory. Currently users copy all files in a zip file to the program directory except the templates which are copied to the users MS Office template directory (which I understand is %appdata%\Microsoft\Templates).

I'm thinking I probably can't do much more than let users sort it out.

  • 1
    Can you create an installer that puts everything in place rather than just a .zip file that users have to open and move files from? – user1118321 Jun 10 '18 at 4:51
2

There are many options for installation tools, including:

Depending on who you expect to use your program, and in what context, will determine which of these is appropriate. If others in your own company will be using it (or your customers), and you'll be expected to provide support, at a minimum, you'll want to script everything out using batch, PowerShell, or something else.

Even a script-based solution should take care of more than just copying files, or else you'll end up spending more time in email/chat helping others use it, and perception of quality will be lower. Some things to include in a home-rolled installer script:

  • Are prerequisites installed? (Python, MS Office, etc.)
  • If not, automate the installation process
  • Figure out all the users directories. What if their main drive is D: and not C:?
  • Creation of environment variables, if necessary.
  • Creation of shortcuts
  • Registry entries

If this becomes too complex, then it may make sense to look into the formal installer technologies listed above.

If your users are just casual and you have no professional relationship with them, then you might be OK with your current setup, but adoption will almost certainly be higher with a smooth installation process, if that matters to you.

  • It's not any easier when the existing program the shell uses is just distributed as a zip for users to install 'wherever they like'. None of the listed points are relevant except finding where the original program was unzipped and the python/module install. Fortunately the users are analysts and spend a lot of time in the program directory. Now I'm thinking python distutils/setup will do it. – nealei Jun 10 '18 at 7:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.