Or, On The Runner.exe Program for IfeffitOnWindows
The runner program serves several purposes for Ifeffit on Windows, all related to getting the real Ifeffit Applications (athena, artemis, hephaestus, feff6l, sixpack, etc) running. It does the following tasks:
- It sets "environmental variables" for the Ifeffit Applications, so that they can find the programming libraries and plotting utilities necessary to run correctly.
- It looks for and installs any updates to Ifeffit.
- It launches the application.
Sounds boring and like something you'll never need to think about. That is usually the case, and when you click on the Start Menu icon or short-cut on the Desktop for Athena, you can generally forget that this really runs
C:\Program Files\Ifeffit\bin\runner.exe athena
But sometimes you'll need to think about the Runner.exe program, and that's what this page is for.
Contents
How Updates are done And how they can be customized.
Running the Runner What Programs can the Runner launch?
How Updates are done, and how they can be customized
See IfeffitOnWindows/WinUpdater for information on Windows updates, and how to troubleshoot them.
Running the Runner: What Programs can the Runner Launch
The runner can run any Ifeffit application, and if you run it by itself (ie, double-click on C:\Program Files\Ifeffit\bin\runner.exe) it will give you a list of applications it knows about. This list is read from config\ifeffit.ini, and can be customized to re-order, remove, or add choices of applications you may want it to run. The current default version of config\ifeffit.ini looks like this:
# # list of Ifeffit applications: Each app consist of a line like this: # exename = Title | index | workingdir | inputfile name # # exename = name of exe (without the .exe extension) to run # Title = name to show in Runner list # Index = place in Runner list # workingdir = directory below bin/ to find this exe # inputfile = default name of input file for 'input file' programs # # This file is read by runner.exe, so that you can simply add more programs # to this list and they will be 'Ifeffit runnable'. # [apps] athena = Athena | 1 | | artemis = Artemis | 2 | | sixpack = Sixpack | 3 | sixpack | hephaestus = Hephaestus | 4 | | feff6l = Feff 6L | 5 | | feff.inp atoms = Atoms | 6 | | atoms.inp autobk = Autobk | 7 | | autobk.inp feffit = Feffit | 8 | | feffit.inp ifeffit = Ifeffit Shell | 9 | |
To add another gui app (ie, one that needs no input file), you could simply put the exe file mygui.exe into C:\Program Files\Ifeffit\bin, and add it to the list:
mygui = My New App | 10 | | |
You can also change the 'Index' numbers in config\ifeffit.ini to have the applications listed in a different order.
In addition to looking for updates, it simply sets some environmental variables and then launches the appropriate application. The environmental variables and typical values it sets them to are:
- IFEFFIT_DIR = C:\Program Files\Ifeffit
- PGPLOT_DIR = C:\Program Files\Ifeffit\bin
- PGPLOT_FONT = C:\Program Files\Ifeffit\bin\grfont.dat
- PGPLOT_DEV = /GW
- PATH = %IFEFFIT_DIR%,%PATH% (updated to include IFEFFIT_DIR)
If you're using a web proxy as specified in config\updater.ini, the environmental variable HTTP_PROXY will also be set.