================================================================================ iVistaar — Installation Guide (Windows Server + IIS) Version: 0.6.15 (see VERSION in this package) Git is NOT required on the target server Package: obfuscated customer build ================================================================================ This package installs the iVistaar admin control plane on IIS. After install, you connect a project folder on the server (similar to connecting a repo on Render) and publish it to an internal URL. See CHANGELOG.md for release history. -------------------------------------------------------------------------------- 1. PREREQUISITES -------------------------------------------------------------------------------- - Windows Server with IIS enabled - IIS Management Scripts and Tools - HttpPlatformHandler https://www.iis.net/downloads/microsoft/httpplatformhandler - Python 3.10 or newer (Python 2.7 is NOT supported) - Administrator Command Prompt or PowerShell Optional — enable IIS features: Install-WindowsFeature Web-Server, Web-Mgmt-Tools, Web-Scripting-Tools -------------------------------------------------------------------------------- 2. DOWNLOAD AND EXTRACT -------------------------------------------------------------------------------- 1. Download iVistaar-latest.zip from the product site: https://vistaar-c5o.pages.dev/downloads/iVistaar-latest.zip 2. Extract to a permanent location, for example: C:\iVistaar You should see INSTALL.md, INSTALL.txt, CHANGELOG.md, VERSION, wsgi.py, admin\, scripts\, and sample-apps\ at the root of that folder. -------------------------------------------------------------------------------- 3. INSTALL THE ADMIN SITE -------------------------------------------------------------------------------- Open Command Prompt or PowerShell as Administrator: cd C:\iVistaar .\scripts\install-admin.cmd -Port 8080 Use install-admin.cmd (not the .ps1 alone) so execution policy cannot block the installer. The installer auto-finds Python 3.10+ and rejects Python 2.7. If discovery fails, pass the full path: .\scripts\install-admin.cmd -Port 8080 -PythonPath "C:\Users\\AppData\Local\Programs\Python\Python314\python.exe" Common options: .\scripts\install-admin.cmd -Port 80 -HostHeader "ivistaar.company.com" .\scripts\install-admin.cmd -Port 8080 -AppsRoot "C:\iVistaar\apps" The installer creates: - Python 3 venv under this folder - IIS app pool: IVistaar_Admin - IIS site: iVistaar - web.config with absolute paths + IVISTAAR_PYTHON - Apps root: D:\iVistaar\apps (or \apps if D: is missing) - IIS_IUSRS permissions on the install tree -------------------------------------------------------------------------------- 4. SIGN IN -------------------------------------------------------------------------------- Open: http://localhost:8080/ User: admin Pass: iV!5taar#Ctrl2026 Change the password before wider network exposure: Sign in → Account → current password → new password → confirm → Update. Or set IVISTAAR_ADMIN_PASSWORD in the install environment for the initial password. Set IVISTAAR_ADMIN_USER / IVISTAAR_ADMIN_PASSWORD in web.config if needed. Licensing (freemium): Free demo: up to 3 projects/sites. Need more: email hello@ivistaar.com for a yearly SPC code. Activate under License in the admin UI. At the free limit, Connect shows a contact/gate screen. When Pro expires, request a new yearly SPC. -------------------------------------------------------------------------------- 5. DEPLOY AN APPLICATION (CONNECT A FOLDER) -------------------------------------------------------------------------------- 1. Place your Python project on the server, for example: C:\Projects\my-dashboard Include app.py (or your entrypoint) and requirements.txt. Supported: Flask, FastAPI, Streamlit, Gradio. Streamlit/Gradio need install-admin-service.cmd (service mode). 2. In iVistaar, open Connect and enter that folder path. 3. Click Deploy. Resulting URL example: http://localhost:8080/apps/my-dashboard/ Sample projects for a first test: C:\iVistaar\sample-apps\hello-flask (entrypoint app:app) C:\iVistaar\sample-apps\hello-dash (entrypoint app:server) C:\iVistaar\sample-apps\hello-fastapi (entrypoint app:app) C:\iVistaar\sample-apps\hello-streamlit (entrypoint streamlit:app.py) C:\iVistaar\sample-apps\hello-gradio (entrypoint app:demo) Customer packages ship these as .zip files under sample-apps\. Unzip first, for example: Expand-Archive C:\iVistaar\sample-apps\hello-flask.zip -DestinationPath C:\iVistaar\sample-apps\hello-flask Dash tip: expose server = app.server and use entrypoint app:server (or run:server / index:server to match the filename). From v0.6.10 iVistaar injects /apps// for Dash automatically. Use server = app.server and entrypoint run:server (or app:server). If using "from dash import Dash", call Dash(...) not dash.Dash(...). FAQ (common errors): IIS 500 empty logs ..... install-admin-service.cmd pandas / vswhere ....... Python 3.11-3.12 or newer pandas wheels Dash Loading ........... *:server entrypoint; upgrade; hard refresh dash is not defined .... use Dash(...) after from dash import Dash WinError 32 runtime.log stop app task / upgrade 0.6.9+ Free 3-project limit ... License page / hello@ivistaar.com After code changes in the connected folder, click Redeploy — or rely on auto-deploy (default), which watches for Python / requirements changes. Open Events for deployment history (actor, source mtime, owner). On the project page: Releases → Rollback; also Start / Stop / Delete. Delete removes the iVistaar build + IIS app, not your original folder. UNC paths (\\laptop\share\project) work if the IIS app pool identity can read the share and the share is online at deploy time. -------------------------------------------------------------------------------- 6. UPGRADE -------------------------------------------------------------------------------- 1. Download the newer zip. 2. Stop the IVistaar_Admin app pool. 3. Extract over C:\iVistaar (KEEP the data\ folder — history + license). 4. Re-run: .\scripts\install-admin.cmd -Port 8080 5. Start the app pool. 6. Confirm License still shows the expected tier. -------------------------------------------------------------------------------- 7. TROUBLESHOOTING -------------------------------------------------------------------------------- Script not signed ...... Use scripts\install-admin.cmd (unblock + Bypass wrapper). If still blocked: Set-ExecutionPolicy -Scope CurrentUser RemoteSigned Or run the elevated one-liner from INSTALL.md troubleshooting. Python27 / no venv ..... Install Python 3.10+; pass -PythonPath if needed Wrong python path ...... Use full path under AppData\Local\Programs\Python\ No module named wsgi ... Run from install root (folder with wsgi.py), not scripts\ WinError 10013 ......... Port already bound — stop conflicting IIS site / use another -Port HTTP 500, no logs ...... Install HttpPlatformHandler; check logs\stdout_admin.log; re-run installer; iisreset; confirm IIS_IUSRS rights Auto-deploy Python27 ... Re-run installer (sets IVISTAAR_PYTHON); delete app venv; Redeploy IIS script errors ...... Run elevated; confirm Management Scripts/Tools Folder not found ....... Path must exist for the app pool account Can't add 4th app ...... Free demo limit — License page or hello@ivistaar.com SPC rejected ........... Check typing and expiry date in the code Manual Waitress smoke test (from install root, after stopping IIS on that port): cd C:\iVistaar .\venv\Scripts\python.exe -m waitress --listen=127.0.0.1:8080 wsgi:app For the full formatted guide, open INSTALL.md in this package. Product site: https://vistaar-c5o.pages.dev Support: hello@ivistaar.com ================================================================================