Details of my implementation of Invenio on Windows OS (tested on IIS 7 & 8)
by eric@guedegbe.info

• Bibsched

Bibsched and some core tasklets rewritten. Some (few) other code edited so far to bring compatibility on Windows platforms

• Shell Environment (Windows Server 2012)

    ALLUSERSPROFILE.............................................:C:\ProgramData
    APPDATA.....................................................:C:\Windows\system32\config\systemprofile\AppData\Roaming
    APPL_ID.....................................................:Environment
    APPL_PHYSICAL_PATH..........................................:C:\inetpub\wwwroot\Invenio\Environment
    APPL_PHYSICAL_SHORT_PATH....................................:C:\inetpub\wwwroot\Invenio\ENVIRO~1
    APPL_VIRTUAL_PATH...........................................:/Environment
    APP_POOL_CONFIG.............................................:C:\inetpub\temp\apppools\Environment\Environment.config
    APP_POOL_ID.................................................:Environment
    COMMONPROGRAMFILES..........................................:C:\Program Files\Common Files
    COMMONPROGRAMFILES(X86).....................................:C:\Program Files (x86)\Common Files
    COMMONPROGRAMW6432..........................................:C:\Program Files\Common Files
    COMPUTERNAME................................................:IDEP04V
    COMSPEC.....................................................:C:\Windows\system32\cmd.exe
    CONSOLE_URL.................................................:console
    DEPLOY_FILE.................................................:deploy.py
    ERROR_LOG_DIR...............................................:log
    FP_NO_HOST_CHECK............................................:NO
    HOST........................................................:127.0.0.1
    IIS_BINDNGS.................................................:http=*:80:|https=*:443:|net.tcp=808:*|net.msmq=localhost|msmq.formatname=localhost|net.pipe=*
    INSTANCE_ID.................................................:1
    LOCALAPPDATA................................................:C:\Windows\system32\config\systemprofile\AppData\Local
    NUMBER_OF_PROCESSORS........................................:1
    OS..........................................................:Windows_NT
    PATH........................................................:C:\inetpub\wwwroot\Invenio\Environment\venv\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\MySQL\MySQL Utilities 1.3.5\;C:\Python27\;C:\Python27\Scripts\;C:\Program Files\Microsoft\Web Platform Installer\
    PATHEXT.....................................................:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PROCESSOR_ARCHITECTURE......................................:AMD64
    PROCESSOR_IDENTIFIER........................................:Intel64 Family 6 Model 45 Stepping 7, GenuineIntel
    PROCESSOR_LEVEL.............................................:6
    PROCESSOR_REVISION..........................................:2d07
    PROGRAMDATA.................................................:C:\ProgramData
    PROGRAMFILES................................................:C:\Program Files
    PROGRAMFILES(X86)...........................................:C:\Program Files (x86)
    PROGRAMW6432................................................:C:\Program Files
    PSMODULEPATH................................................:C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
    PUBLIC......................................................:C:\Users\Public
    PYTHONPATH..................................................:C:\inetpub\wwwroot\Invenio\Environment\venv\lib\site-packages;C:\inetpub\wwwroot\Invenio\Environment\venv\lib;C:\inetpub\wwwroot\Invenio\Environment;C:\inetpub\wwwroot\Invenio\Environment\project
    SITE_NAME...................................................:DEFAULT WEB SITE
    SITE_PHYSICAL_PATH..........................................:C:\inetpub\wwwroot\Invenio\
    SYSTEMDRIVE.................................................:C:
    SYSTEMROOT..................................................:C:\Windows
    TEMP........................................................:C:\Windows\TEMP
    TMP.........................................................:C:\Windows\TEMP
    USERDOMAIN..................................................:CPTROOM
    USERNAME....................................................:IDEP04V$
    USERPROFILE.................................................:C:\Windows\system32\config\systemprofile
    VIRTUAL_ENV.................................................:C:\inetpub\wwwroot\Invenio\Environment\venv
    VS100COMNTOOLS..............................................:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
    VS90COMNTOOLS...............................................:C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
    WINDIR......................................................:C:\Windows
    WSGI_APP....................................................:welcome.application

• WSGI environment

    APPL_MD_PATH................................................:/LM/W3SVC/1/ROOT/Environment
    APPL_PATH...................................................:
    APPL_PHYSICAL_PATH..........................................:C:\inetpub\wwwroot\Invenio\Environment\
    AUTH_PASSWORD...............................................:
    AUTH_TYPE...................................................:
    AUTH_USER...................................................:
    CERT_COOKIE.................................................:
    CERT_FLAGS..................................................:
    CERT_ISSUER.................................................:
    CERT_SERIALNUMBER...........................................:
    CERT_SUBJECT................................................:
    CONTENT_LENGTH..............................................:0
    CONTENT_TYPE................................................:
    DOCUMENT_ROOT...............................................:C:\inetpub\wwwroot\Invenio\Environment\
    GATEWAY_INTERFACE...........................................:CGI/1.1
    HTTPS.......................................................:on
    HTTPS_KEYSIZE...............................................:128
    HTTPS_SECRETKEYSIZE.........................................:2048
    HTTPS_SERVER_ISSUER.........................................:C=GB, S=Greater Manchester, L=Salford, O=COMODO CA Limited, CN=COMODO RSA Domain Validation Secure Server CA
    HTTPS_SERVER_SUBJECT........................................:OU=Domain Control Validated, OU=COMODO SSL Wildcard, CN=*.unidep.org
    HTTP_ACCEPT.................................................:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    HTTP_ACCEPT_ENCODING........................................:gzip
    HTTP_ACCEPT_LANGUAGE........................................:en-US,en;q=0.5
    HTTP_CONNECTION.............................................:Keep-Alive
    HTTP_HOST...................................................:atlantis.unidep.org
    HTTP_IF_MODIFIED_SINCE......................................:Wed, 22 May 2019 07:04:10 GMT
    HTTP_USER_AGENT.............................................:CCBot/2.0 (https://commoncrawl.org/faq/)
    INSTANCE_ID.................................................:1
    INSTANCE_META_PATH..........................................:/LM/W3SVC/1
    INSTANCE_NAME...............................................:DEFAULT WEB SITE
    LOCAL_ADDR..................................................:10.201.250.6
    LOGON_USER..................................................:
    PATH_INFO...................................................:/Environment/
    PATH_TRANSLATED.............................................:C:\inetpub\wwwroot\Invenio\Environment\
    QUERY_STRING................................................:
    REMOTE_ADDR.................................................:54.237.249.90
    REMOTE_HOST.................................................:54.237.249.90
    REMOTE_PORT.................................................:55598
    REMOTE_USER.................................................:
    REQUEST_METHOD..............................................:GET
    REQUEST_URI.................................................:/Environment/
    SCRIPT_FILENAME.............................................:C:\inetpub\wwwroot\Invenio\Environment\
    SCRIPT_NAME.................................................:
    SERVER_NAME.................................................:atlantis.unidep.org
    SERVER_PORT.................................................:443
    SERVER_PORT_SECURE..........................................:1
    SERVER_PROTOCOL.............................................:HTTP/1.1
    SERVER_SOFTWARE.............................................:Microsoft-IIS/8.0
    URL.........................................................:/Environment/
    wsgi.errors.................................................:<__main__.TeeOutputStream object at 0x0000000000FE62E8>
    wsgi.input..................................................:<__main__.InputStream object at 0x0000000000FD8E80>
    wsgi.multiprocess...........................................:False
    wsgi.multithread............................................:False
    wsgi.run_once...............................................:False
    wsgi.url_scheme.............................................:https
    wsgi.version................................................:(1, 0)

• Python Environment

    __displayhook__.............................................:<built-in function displayhook>
    __doc__.....................................................:This module provides access to some objects used or maintained by the interpreter and to functions that interact strongly with the interpreter. Dynamic objects: argv -- command line arguments; argv[0] is the script pathname if known path -- module search path; path[0] is the script directory, else '' modules -- dictionary of loaded modules displayhook -- called to show results in an interactive session excepthook -- called to handle any uncaught exception other than SystemExit To customize printing in an interactive session or to install a custom top-level exception handler, assign other functions to replace these. exitfunc -- if sys.exitfunc exists, this routine is called when Python exits Assigning to sys.exitfunc is deprecated; use the atexit module instead. stdin -- standard input file object; used by raw_input() and input() stdout -- standard output file object; used by the print statement stderr -- standard error object; used for error messages By assigning other file objects (or objects that behave like files) to these, it is possible to redirect all of the interpreter's I/O. last_type -- type of last uncaught exception last_value -- value of last uncaught exception last_traceback -- traceback of last uncaught exception These three are only available in an interactive session after a traceback has been printed. exc_type -- type of exception currently being handled exc_value -- value of exception currently being handled exc_traceback -- traceback of exception currently being handled The function exc_info() should be used instead of these three, because it is thread-safe. Static objects: float_info -- a dict with information about the float inplementation. long_info -- a struct sequence with information about the long implementation. maxint -- the largest supported integer (the smallest is -maxint-1) maxsize -- the largest supported length of containers. maxunicode -- the largest supported character builtin_module_names -- tuple of module names built into this interpreter version -- the version of this interpreter as a string version_info -- version information as a named tuple hexversion -- version information encoded as a single integer copyright -- copyright notice pertaining to this interpreter platform -- platform identifier executable -- absolute path of the executable binary of the Python interpreter prefix -- prefix used to find the Python library exec_prefix -- prefix used to find the machine-specific Python library float_repr_style -- string indicating the style of repr() output for floats dllhandle -- [Windows only] integer handle of the Python DLL winver -- [Windows only] version number of the Python DLL __stdin__ -- the original stdin; don't touch! __stdout__ -- the original stdout; don't touch! __stderr__ -- the original stderr; don't touch! __displayhook__ -- the original displayhook; don't touch! __excepthook__ -- the original excepthook; don't touch! Functions: displayhook() -- print an object to the screen, and save it in __builtin__._ excepthook() -- print an exception and its traceback to sys.stderr exc_info() -- return thread-safe information about the current exception exc_clear() -- clear the exception state for the current thread exit() -- exit the interpreter by raising SystemExit getdlopenflags() -- returns flags to be used for dlopen() calls getprofile() -- get the global profiling function getrefcount() -- return the reference count for an object (plus one :-) getrecursionlimit() -- return the max recursion depth for the interpreter getsizeof() -- return the size of an object in bytes gettrace() -- get the global debug tracing function setcheckinterval() -- control how often the interpreter checks for events setdlopenflags() -- set the flags to be used for dlopen() calls setprofile() -- set the global profiling function setrecursionlimit() -- set the max recursion depth for the interpreter settrace() -- set the global debug tracing function
    __excepthook__..............................................:<built-in function excepthook>
    __name__....................................................:sys
    __package__.................................................:None
    __stderr__..................................................:<open file '<stderr>', mode 'w' at 0x000000000087B150>
    __stdin__...................................................:<open file '<stdin>', mode 'r' at 0x000000000087B030>
    __stdout__..................................................:<open file '<stdout>', mode 'w' at 0x000000000087B0C0>
    _clear_type_cache...........................................:<built-in function _clear_type_cache>
    _current_frames.............................................:<built-in function _current_frames>
    _getframe...................................................:<built-in function _getframe>
    _mercurial..................................................:('CPython', '', '')
    api_version.................................................:1013
    argv........................................................:['C:\\Zoo\\Workers\\python\\zoofcgi.py']
    builtin_module_names........................................:('__builtin__', '__main__', '_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_collections', '_csv', '_functools', '_heapq', '_hotshot', '_io', '_json', '_locale', '_lsprof', '_md5', '_multibytecodec', '_random', '_sha', '_sha256', '_sha512', '_sre', '_struct', '_subprocess', '_symtable', '_warnings', '_weakref', '_winreg', 'array', 'audioop', 'binascii', 'cPickle', 'cStringIO', 'cmath', 'datetime', 'errno', 'exceptions', 'future_builtins', 'gc', 'imageop', 'imp', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'operator', 'parser', 'signal', 'strop', 'sys', 'thread', 'time', 'xxsubtype', 'zipimport', 'zlib')
    byteorder...................................................:little
    call_tracing................................................:<built-in function call_tracing>
    callstats...................................................:<built-in function callstats>
    copyright...................................................:Copyright (c) 2001-2014