Frontend Installation
OVERVIEW
The Elyse frontend is an Angular application compiled to static files (HTML, JavaScript, CSS). It can be served by any web server. This page covers two deployment options:
- Option A: IIS — Recommended for production environments. Built into Windows Server and Windows 10/11 Pro.
- Option B: Node.js http-server — Simpler alternative if IIS is not available. Suitable for workgroup deployments.
The same frontend package works with both SERVER and WORKGROUP backend deployments. Configure the backend URL in assets/config.json after deployment.
FRONTEND_README.txt in the frontend deployment package for offline reference.
MULTI-USER WORKGROUP SCENARIO
When deploying to a single machine with multiple Windows user accounts (WORKGROUP):
| Component | Installation | Details |
|---|---|---|
| Frontend | Install once (shared) | Installed in a shared location (e.g. C:\inetpub\wwwroot\Elyse\frontend). All users access the same static files. No user-specific data. |
| Backend | Install per user (isolated) | Each user has their own backend instance in %LOCALAPPDATA%\ElyseApp\Backend\. Each runs as a Windows Service under that user’s account. See Backend Installation (Workgroup). |
How it works: All users share the same frontend. The frontend calls http://localhost:5000/api. When a user logs in, their backend service starts and connects to SQL Server with their Windows credentials. When they log out, their service stops and the next user’s service starts.
PREREQUISITES
- Backend deployed and running (see Backend (Server) or Backend (Workgroup))
- Backend URL and port identified
- Administrative access to the server/workstation
For Option A (IIS), additionally:
- IIS installed (with Static Content and URL Rewrite)
- ARR 3.0 installed
For Option B (Node.js), additionally:
- Node.js LTS installed
PACKAGE CONTENTS
The frontend deployment package (Elyse-Frontend-*-Deploy-*.zip) contains:
| File / Folder | Description |
|---|---|
index.html | Main application entry point |
assets/config.json | Runtime configuration — edit this |
assets/config.template.json | Configuration template |
assets/*.csv | Application configuration files |
*.js, *.css | Optimised application bundles |
web.config | IIS URL rewriting and API proxy configuration |
FRONTEND_README.txt | Quick offline reference |
RELEASE_NOTES.txt | Release notes for this version |
VERSION-FRONTEND.txt | Version identifier |
OPTION A: DEPLOYMENT WITH IIS
Step 1: Install IIS
On Windows Server:
- Open Server Manager.
- In Server Manager, click Manage (top-right menu) → Add Roles and Features.
- The “Add Roles and Features Wizard” opens. Click Next on each page until you reach the Server Roles page.
- Check Web Server (IIS). Click “Add Features” when prompted.
- Click Next until “Role Services”.
- Ensure these are checked:
- Web Server > Common HTTP Features > Static Content
- Web Server > Common HTTP Features > Default Document
- Management Tools > IIS Management Console
- Click Next then Install. Wait for completion.
On Windows 10/11 Pro:
- Open the Windows Features dialog (search for “Turn Windows features on or off”).
- Check Internet Information Services.
- Expand IIS > World Wide Web Services > Application Development Features. Check WebSocket Protocol (optional but recommended).
- Expand Common HTTP Features. Ensure Default Document and Static Content are checked.
- Expand Web Management Tools. Check IIS Management Console.
- Click OK. Wait for installation to complete.
Verify: Open a web browser and navigate to http://localhost. You should see the IIS default page (a blue page with the IIS logo).
Step 2: Install URL Rewrite Module
The URL Rewrite module is required for Angular routing to work correctly.
- Download URL Rewrite Module from: https://www.iis.net/downloads/microsoft/url-rewrite. If the server has no internet access, download on another machine and transfer the installer file.
- Locate the downloaded installer file (e.g.,
rewrite_amd64_en-US.msi). Double-click it to run it. If prompted by UAC, click Yes. - Accept the license agreement, click Install, then click Finish when complete.
Step 3: Copy Files to Web Server
- Create the deployment directory. In File Explorer, navigate to
C:\inetpub\wwwroot\. If anElysefolder does not already exist:- Right-click in the empty space of the right panel and select New > Folder.
- Name the folder
Elyseand press Enter.
Elysefolder to open it, then create afrontendfolder inside it the same way. The full path should be:C:\inetpub\wwwroot\Elyse\frontend - Locate the frontend deployment package (
Elyse-Frontend-*-Deploy-*.zip). Right-click it and select Extract All..., choose a temporary location (e.g.,C:\Temp\ElyseFrontend), and click Extract. - Open a second File Explorer window and navigate to the extracted folder. Select all files, copy them.
- Switch to the first File Explorer window showing
C:\inetpub\wwwroot\Elyse\frontendand paste. - Verify: the directory should contain
index.html, anassetsfolder, and various.js/.cssfiles.
Step 4: Configure Backend API URL
- In File Explorer, navigate to
C:\inetpub\wwwroot\Elyse\frontend\assets\ - Right-click
config.jsonand select Open with > Notepad (or another text editor). If “Open with” is not visible, select Open with > Choose another app, then select Notepad. - Edit the
apiUrlto point to your frontend server (the IIS site configured in Step 5 below proxies/apirequests to the backend):Deployment Type config.json Value SERVER (same server or separate servers)
Replace{ "apiUrl": "http://FRONTEND-HOSTNAME:8080/api" }FRONTEND-HOSTNAMEwith the hostname of the machine running the frontend IIS site. The frontend’sweb.configcontains a rewrite rule that proxies/apirequests to the backend on port 5000. If the backend is on a different server, you must also editweb.config(see note below).WORKGROUP (backend on same machine)
Or{ "apiUrl": "http://localhost:8080/api" }http://localhost:5000/apiif not using IIS (Option B). - Save the file by pressing Ctrl+S, then close Notepad.
config.json at runtime. You can change it anytime without rebuilding the frontend — just edit the file and refresh the browser.
Step 5: Configure IIS Site
Open IIS Manager (search for IIS or run inetmgr).
In IIS Manager:
- In the left panel (called “Connections”), click the + arrow next to the server name to expand it.
- Right-click Sites and select Add Website...
- Configure:
Setting Value Site name ElyseApplication pool DefaultAppPoolPhysical path C:\inetpub\wwwroot\Elyse\frontendBinding – Type http Binding – Port 8080 - Click OK.
- Add the
.mdMIME type (this allows the application to serve Markdown help files):- In the left panel of IIS Manager, click on the Elyse site to select it.
- In the centre panel (Features View), locate and double-click the MIME Types icon. (If you see a list of files instead of icons, click Features View at the bottom of the centre panel.)
- In the Actions panel (right side), click Add...
- File name extension:
.md— MIME type:text/markdown - Click OK.
- Install ARR 3.0 (Application Request Routing) if not already installed. Download it from the Microsoft website (search for “Application Request Routing 3.0 download”). Run the installer, accept defaults, and click Install.
- Enable ARR proxy mode. Open PowerShell as Administrator (right-click Windows PowerShell and select Run as administrator). Type or paste the following commands and press Enter:
# Ensure the WebAdministration module is loaded Import-Module WebAdministration # Enable the Proxy setting in ARR Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' ` -filter "system.webServer/proxy" -name "enabled" -value "True" # Optional: Set a timeout for long database queries Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' ` -filter "system.webServer/proxy" -name "timeout" -value "00:02:00" Write-Host "IIS Proxy Mode has been enabled successfully." -ForegroundColor Green - Back in IIS Manager, click the server name (top-level node) in the left panel. In the centre panel, double-click Application Request Routing Cache. In the Actions panel (right side), click Server Proxy Settings.... Check the Enable proxy checkbox and click Apply in the Actions panel. (If this is not done, you will get a 502.3 Bad Gateway error.)
- Verify
web.configis present inC:\inetpub\wwwroot\Elyse\frontend\(this file enables Angular routing and API proxying).
web.config contains a BackEndProxy rewrite rule that forwards /api requests to http://127.0.0.1:5000 (the backend on the same machine). If the backend is on a different server, open web.config in Notepad and change http://127.0.0.1:5000 to the backend server’s address (e.g., http://ELYSE-BE01:5000).
HTTP/ELYSE-FE01), because that is the URL the browser sees. The ARR proxy forwards this ticket to the backend. For the backend to accept it, HTTP SPNs for the frontend hostname must be registered on the backend service account (svc_elyse_be). Additionally, useAppPoolCredentials must be set to true on the backend IIS site. See KCD Configuration — Step 1 for the complete SPN registration commands, and Backend Installation — Step 7 for the useAppPoolCredentials setting.
Step 6: Configure Windows Firewall
If users will access the frontend from other computers (not needed if only accessing from localhost):
- Open Windows Defender Firewall with Advanced Security (run
wf.msc). - In the left panel, click Inbound Rules.
- In the Actions panel (right side), click New Rule...
- In the New Inbound Rule Wizard, select Port and click Next.
- Select TCP, select Specific local ports, type
8080(or80if you used port 80), and click Next. - Select Allow the connection and click Next.
- Ensure all three profiles are checked (Domain, Private, Public) and click Next.
- Type a name:
Elyse Frontend HTTPand click Finish.
Step 7: KCD Configuration (Domain Deployments Only)
For domain deployments using Kerberos Constrained Delegation, SPNs must be registered and constrained delegation must be configured in Active Directory before the application will function correctly. This involves:
- Registering HTTP SPNs for the backend service account
- Registering MSSQLSvc SPNs for the SQL Server service account
- Configuring the backend service account for constrained delegation to the SQL Server service
For the complete step-by-step procedure, see KCD Configuration.
Step 8: Test Deployment
- Open a web browser on a domain-joined workstation (for SERVER deployments) or on the local machine (for WORKGROUP deployments).
- Navigate to
http://ELYSE-FE01:8080(replaceELYSE-FE01with your frontend hostname). For WORKGROUP deployments, usehttp://localhost:8080. - The application should load and display the main interface. For SERVER deployments, authentication should be completely transparent — the browser should not prompt for credentials.
If you see errors, check:
- Backend is running (for WORKGROUP: check Windows Services for “ElyseBackend”; for SERVER: check IIS Application Pools)
- Backend URL in
assets/config.jsonis correct - Test backend directly:
http://ELYSE-BE01:5000/api/eula/read(SERVER) orhttp://localhost:5000/api/eula/read(WORKGROUP)
localhost or an IP address), and the URL must be in the browser’s Local Intranet zone. On domain-joined Windows machines, Internet Explorer, Edge, and Chrome automatically treat single-label hostnames (e.g., ELYSE-FE01) as Intranet sites. If you use FQDNs (e.g., elyse-fe01.yourdomain.com), you may need to add them to the Intranet zone via Group Policy or manually via Internet Options > Security > Local Intranet > Sites > Advanced. Firefox requires separate configuration: navigate to about:config and set network.negotiate-auth.trusted-uris to your domain (e.g., .yourdomain.com).
Step 9: Desktop Shortcut (Optional)
Method 1 — Windows Shortcut Wizard:
- Right-click on an empty area of the Desktop and select New > Shortcut.
- In the “Create Shortcut” wizard, type the location:
http://localhost:8080and click Next. - Type a name:
Elyse Applicationand click Finish. - To set a custom icon: right-click the new shortcut on the Desktop, select Properties, click Change Icon..., click Browse..., navigate to
C:\inetpub\wwwroot\Elyse\frontend\elyse.ico, select it, and click OK on all dialogs.
Method 2 — Internet Shortcut File:
- Open Notepad and type:
[InternetShortcut] URL=http://localhost:8080 IconFile=C:\inetpub\wwwroot\Elyse\frontend\elyse.ico IconIndex=0 - Click File > Save As. Navigate to the Desktop. In the “File name” field, type
Elyse.url. Change “Save as type” to All Files (*.*). Click Save.
Step 10: Configure HTTPS (Optional but Recommended)
For production deployments:
- Obtain an SSL certificate (from a Certificate Authority, or create a self-signed certificate for testing).
- Open IIS Manager (search for
IISor runinetmgr). In the left panel, click on the Elyse site. Right-click it and select Edit Bindings... - In the Site Bindings dialog, click Add.... Set Type to
https, Port to443. In the SSL certificate drop-down, select your SSL certificate. Click OK. - Update
config.jsonto use HTTPS:{ "apiUrl": "https://FRONTEND-HOSTNAME/api" }If using the default HTTPS port (443), no port number is needed in the URL.
OPTION B: DEPLOYMENT WITH NODE.JS HTTP-SERVER
This option is simpler than IIS but requires Node.js. The http-server will be configured as a Windows Service to auto-start on boot.
Step 1: Install Node.js
- Download Node.js LTS from https://nodejs.org/. Click the LTS (Long Term Support) download button. If the computer has no internet access, download on another machine and transfer the installer file.
- Locate the downloaded installer file (e.g.,
node-v20.x.x-x64.msi). Double-click it to run it. If prompted by UAC, click Yes. - Follow the installation wizard. Accept the defaults on each page. Ensure the Add to PATH option is checked (it is checked by default). Click Install, then Finish.
- Verify the installation. Open a Command Prompt and type the following commands, pressing Enter after each:
node --version npm --versionBoth commands should display version numbers. If you see “not recognized”, close and reopen the Command Prompt (the PATH update requires a new window).
Step 2: Install http-server
Open Command Prompt as Administrator (right-click Command Prompt and select Run as administrator). Type the following commands and press Enter after each:
npm install -g http-server
http-server --version
The first command installs http-server globally. The second should display a version number, confirming success.
Step 3: Copy Files
- Create the deployment directory. In File Explorer, navigate to
C:\. Create a folder namedElyse, then create afrontendfolder inside it. The full path should be:C:\Elyse\frontend - Locate the frontend deployment package (
Elyse-Frontend-*-Deploy-*.zip). Right-click it and select Extract All..., choose a temporary location (e.g.,C:\Temp\ElyseFrontend), and click Extract. - Open a second File Explorer window, navigate to the extracted folder. Select all files, copy them. Switch to the first File Explorer window showing
C:\Elyse\frontendand paste.
Step 4: Configure Backend API URL
- In File Explorer, navigate to
C:\Elyse\frontend\assets\ - Right-click
config.jsonand select Open with > Notepad. Edit theapiUrlvalue:Deployment Type config.json Value WORKGROUP (same machine) { "apiUrl": "http://localhost:5000/api" }SERVER (separate server) { "apiUrl": "http://BACKEND-HOSTNAME:5000/api" } - Save the file by pressing Ctrl+S, then close Notepad.
Step 5: Install NSSM
NSSM (Non-Sucking Service Manager) is a free tool that allows any program to run as a Windows Service. It is needed to make http-server start automatically when the computer boots.
- Download NSSM from https://nssm.cc/download. If the computer has no internet access, download on another machine and transfer the file.
- Locate the downloaded ZIP file (e.g.,
nssm-2.24.zip). Right-click it and select Extract All..., choose a temporary location, and click Extract. - Copy the appropriate executable to a permanent location. Open File Explorer and navigate into the extracted folder:
- 64-bit Windows: Copy
nssm-2.24\win64\nssm.exetoC:\Windows\System32\ - 32-bit Windows: Copy
nssm-2.24\win32\nssm.exetoC:\Windows\System32\
- 64-bit Windows: Copy
- Verify: open a Command Prompt and type
nssmthen press Enter. It should display help text.
Step 6: Create Windows Service
Open Command Prompt as Administrator (right-click Command Prompt and select Run as administrator). Type the following command and press Enter:
nssm install ElyseFrontend
In the NSSM Service Installer window:
| Tab | Setting | Value |
|---|---|---|
| Application | Path | C:\Program Files\nodejs\node.exe |
| Application | Startup directory | C:\Elyse\frontend |
| Application | Arguments | C:\Program Files\nodejs\node_modules\http-server\bin\http-server -p 8080 -c-1 |
| Details | Display name | Elyse Frontend |
| Details | Description | Elyse Frontend Web Server |
| Details | Startup type | Automatic |
| I/O | Output (stdout) | C:\Elyse\frontend\http-server.log |
| I/O | Error (stderr) | C:\Elyse\frontend\http-server-error.log |
Click Install service. Then start it:
nssm start ElyseFrontend
nssm status ElyseFrontend
# Should display: SERVICE_RUNNING
Step 7: Configure Windows Firewall
If users will access the frontend from other computers (not needed if only accessing from localhost):
- Open Windows Defender Firewall with Advanced Security (run
wf.msc). - In the left panel, click Inbound Rules. In the Actions panel (right side), click New Rule...
- Select Port and click Next. Select TCP, type
8080, click Next. - Select Allow the connection and click Next. Ensure all profiles are checked and click Next.
- Type a name:
Elyse Frontend HTTPand click Finish.
Step 8: Test Deployment
- Open a web browser.
- Navigate to
http://localhost:8080. - The application should load and display the main interface.
If issues occur, check the logs:
C:\Elyse\frontend\http-server.logC:\Elyse\frontend\http-server-error.log
Step 9: Desktop Shortcut (Optional)
Method 1 — Windows Shortcut Wizard:
- Right-click on an empty area of the Desktop and select New > Shortcut.
- In the “Create Shortcut” wizard, type the location:
http://localhost:8080and click Next. - Type a name:
Elyse Applicationand click Finish. - To set a custom icon: right-click the new shortcut on the Desktop, select Properties, click Change Icon..., click Browse..., navigate to
C:\Elyse\frontend\elyse.ico, select it, and click OK on all dialogs.
Method 2 — Internet Shortcut File:
- Open Notepad and type:
[InternetShortcut] URL=http://localhost:8080 IconFile=C:\Elyse\frontend\elyse.ico IconIndex=0 - Click File > Save As. Navigate to the Desktop. In the “File name” field, type
Elyse.url. Change “Save as type” to All Files (*.*). Click Save.
Step 10: Verify Auto-Start on Boot
- Restart the computer.
- After restart, open a web browser (e.g., Microsoft Edge) and navigate to
http://localhost:8080. - The application should load automatically (service started on boot).
Managing the http-server Service
| Action | Command |
|---|---|
| Stop | nssm stop ElyseFrontend |
| Start | nssm start ElyseFrontend |
| Restart | nssm restart ElyseFrontend |
| Remove | nssm remove ElyseFrontend confirm |
You can also manage the service via the Services GUI (run services.msc). In the Services window, scroll down to find “Elyse Frontend”. Right-click it to see options for Start, Stop, and Restart.
TROUBLESHOOTING
Problem: Application won’t load
Fix: Verify all files were copied correctly. Check IIS site/application is started. Check Windows Event Viewer for IIS errors. Verify physical path in IIS matches deployment directory.
Problem: Blank page or “Cannot GET /” error
Fix: Verify index.html exists in the deployment directory. Check IIS has Static Content feature installed. Verify web.config is present for URL rewriting.
Problem: “Failed to load config.json”
Fix: Verify assets/config.json exists. Check file permissions (IIS user needs read access). Check browser console for the exact error.
Problem: Cannot connect to backend
Fix: Verify backend is running. Test backend URL directly in browser. Check apiUrl in config.json is correct. Verify firewall allows connection to backend port. Check CORS configuration on backend.
Problem: Browser still shows old version after update
Fix: Hard refresh the browser: press Ctrl+Shift+R (or Ctrl+F5). If that doesn’t work, press F12 to open Developer Tools, then right-click the Refresh button and select “Empty Cache and Hard Reload”. Alternatively, clear browser cache: Ctrl+Shift+Delete, select “Cached images and files”, click Clear. Or test in a private/incognito window (Ctrl+Shift+N in Chrome/Edge, Ctrl+Shift+P in Firefox).
UPDATING TO A NEW RELEASE
When a new version of the frontend is released, follow the steps below to update your deployment. Two methods are provided for each option: a manual method using File Explorer, and a PowerShell script method.
main.abc123.js). A new build will have different filenames. If you copy new files over the top without deleting the old ones first, orphan files from the previous version will remain, wasting disk space and potentially causing confusion. Always delete all files in the frontend folder before copying the new release.
Option A: Updating IIS Deployment
Method 1 — Manual Update (File Explorer)
- Backup current version. In File Explorer, navigate to
C:\inetpub\wwwroot\Elyse\. Right-click thefrontendfolder and select Copy, then right-click in the same directory and select Paste. Windows will createfrontend - Copy. Rename it tofrontend_backup_YYYYMMDD(replacing YYYYMMDD with today’s date, e.g.frontend_backup_20260415). - Save your config.json. Navigate into
frontend\assets\. Right-clickconfig.jsonand select Copy. Paste it into the backup folder you just created (or another safe location such as the Desktop). This file contains your backend URL and must be preserved. - Extract the new package. Locate the new
Elyse-Frontend-*-Deploy-*.zipfile. Right-click it and select Extract All..., choose a temporary location (e.g.C:\Temp\ElyseFrontend), and click Extract. - Delete all old files. Navigate to
C:\inetpub\wwwroot\Elyse\frontend\. Press Ctrl+A to select everything, then press Delete. Confirm the deletion. Thefrontendfolder itself should remain (empty). - Copy new files. Navigate to the extracted folder (e.g.
C:\Temp\ElyseFrontend). Press Ctrl+A to select all files, then Ctrl+C to copy. Navigate back toC:\inetpub\wwwroot\Elyse\frontend\and press Ctrl+V to paste. - Restore config.json. Copy the saved
config.jsonfrom your backup location back intofrontend\assets\, overwriting the new template version. This preserves your backend URL configuration. - Verify .md MIME type (IIS only). Open IIS Manager, select the Elyse site, and double-click MIME Types. Confirm that
.md→text/markdownis listed. If it is missing, click Add... in the Actions panel and re-add it (extension:.md, MIME type:text/markdown). See Step 5 of the initial setup for details. This setting is stored in IIS (not inweb.config) and can be lost if the site was deleted and recreated. - Test. Open a web browser and navigate to
http://localhost:8080. Press Ctrl+Shift+R to hard refresh (clear cache). The application should load with the new version.
No IIS restart required — changes take effect immediately.
Method 2 — PowerShell Script
Open PowerShell as Administrator (right-click Windows PowerShell and select Run as administrator). Edit the $NewPackagePath variable on the second line to match where you extracted the new ZIP, then type or paste the following commands and press Enter:
# === EDIT THIS: Set to the folder where you extracted the new ZIP ===
$NewPackagePath = "C:\Temp\ElyseFrontend"
$FrontendPath = "C:\inetpub\wwwroot\Elyse\frontend"
$BackupPath = "C:\inetpub\wwwroot\Elyse\frontend_backup_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
# Step 1: Backup current version
Copy-Item -Path "$FrontendPath" -Destination "$BackupPath" -Recurse -Force
Write-Host "Backup created at: $BackupPath"
# Step 2: Preserve config.json
Copy-Item "$FrontendPath\assets\config.json" "$env:TEMP\config.json.backup"
# Step 3: Delete old files (avoids orphan hashed bundles from previous build)
Remove-Item "$FrontendPath\*" -Recurse -Force
# Step 4: Copy new files
Copy-Item -Path "$NewPackagePath\*" -Destination "$FrontendPath\" -Recurse -Force
# Step 5: Restore config.json
Copy-Item "$env:TEMP\config.json.backup" "$FrontendPath\assets\config.json" -Force
# Step 6: Done
Write-Host "Update complete. Open browser and press Ctrl+Shift+R to hard refresh."
No IIS restart required — changes take effect immediately.
.md → text/markdown MIME type is still present on the Elyse site. If help files are not displaying, re-add it as described in Step 5 of the initial setup.
Option B: Updating Node.js Deployment
Method 1 — Manual Update (File Explorer)
- Stop the service. Open the Services application (press the Windows key, type
services.msc, press Enter). Find Elyse Frontend in the list, right-click it, and select Stop. - Backup current version. In File Explorer, navigate to
C:\Elyse\. Right-click thefrontendfolder and select Copy, then right-click in the same directory and select Paste. Rename the copy tofrontend_backup_YYYYMMDD(with today’s date). - Save your config.json. Navigate into
frontend\assets\. Right-clickconfig.jsonand select Copy. Paste it into the backup folder or another safe location. - Extract the new package. Locate the new
Elyse-Frontend-*-Deploy-*.zipfile. Right-click it and select Extract All..., choose a temporary location (e.g.C:\Temp\ElyseFrontend), and click Extract. - Delete all old files. Navigate to
C:\Elyse\frontend\. Press Ctrl+A to select everything, then press Delete. Confirm the deletion. Thefrontendfolder itself should remain (empty). - Copy new files. Navigate to the extracted folder. Press Ctrl+A to select all files, then Ctrl+C to copy. Navigate back to
C:\Elyse\frontend\and press Ctrl+V to paste. - Restore config.json. Copy the saved
config.jsonback intofrontend\assets\, overwriting the new template version. - Start the service. In the Services application, find Elyse Frontend, right-click it, and select Start. Wait a few seconds for it to start.
- Test. Open a web browser and navigate to
http://localhost:8080. Press Ctrl+Shift+R to hard refresh. The application should load with the new version.
Method 2 — PowerShell Script
Open PowerShell as Administrator. Edit the $NewPackagePath variable on the second line, then run:
# === EDIT THIS: Set to the folder where you extracted the new ZIP ===
$NewPackagePath = "C:\Temp\ElyseFrontend"
$FrontendPath = "C:\Elyse\frontend"
$BackupPath = "C:\Elyse\frontend_backup_$(Get-Date -Format 'yyyyMMdd_HHmmss')"
# Step 1: Backup current version
Copy-Item -Path "$FrontendPath" -Destination "$BackupPath" -Recurse -Force
Write-Host "Backup created at: $BackupPath"
# Step 2: Stop service
nssm stop ElyseFrontend
# Step 3: Preserve config.json
Copy-Item "$FrontendPath\assets\config.json" "$env:TEMP\config.json.backup"
# Step 4: Delete old files (avoids orphan hashed bundles from previous build)
Remove-Item "$FrontendPath\*" -Recurse -Force
# Step 5: Copy new files
Copy-Item -Path "$NewPackagePath\*" -Destination "$FrontendPath\" -Recurse -Force
# Step 6: Restore config.json
Copy-Item "$env:TEMP\config.json.backup" "$FrontendPath\assets\config.json" -Force
# Step 7: Start service
nssm start ElyseFrontend
Start-Sleep -Seconds 3
nssm status ElyseFrontend
# Expected: SERVICE_RUNNING
ROLLBACK PROCEDURE
If the new version has issues, restore from the backup you created during the update.
IIS rollback:
- In File Explorer, navigate to
C:\inetpub\wwwroot\Elyse\frontend\. Select all files (Ctrl+A) and delete them. - Navigate to your backup folder (e.g.
C:\inetpub\wwwroot\Elyse\frontend_backup_20260415). Select all files (Ctrl+A), copy (Ctrl+C), navigate back to the emptyfrontendfolder, and paste (Ctrl+V). - Verify the
.mdMIME type is present in IIS Manager (see Step 5). - Hard refresh your browser (Ctrl+Shift+R).
Or via PowerShell:
$FrontendPath = "C:\inetpub\wwwroot\Elyse\frontend"
$BackupPath = "C:\inetpub\wwwroot\Elyse\frontend_backup_YYYYMMDD_HHMMSS"
Remove-Item "$FrontendPath\*" -Recurse -Force
Copy-Item -Path "$BackupPath\*" -Destination "$FrontendPath\" -Recurse -Force
Node.js rollback:
- Stop the service: in Services (
services.msc), right-click Elyse Frontend → Stop. - In File Explorer, delete all files in
C:\Elyse\frontend\. - Copy all files from your backup folder back into
C:\Elyse\frontend\. - Start the service: right-click Elyse Frontend → Start.
- Hard refresh your browser (Ctrl+Shift+R).
Or via PowerShell:
nssm stop ElyseFrontend
$FrontendPath = "C:\Elyse\frontend"
$BackupPath = "C:\Elyse\frontend_backup_YYYYMMDD_HHMMSS"
Remove-Item "$FrontendPath\*" -Recurse -Force
Copy-Item -Path "$BackupPath\*" -Destination "$FrontendPath\" -Recurse -Force
nssm start ElyseFrontend
Then hard refresh your browser (Ctrl+Shift+R).
Cleanup Old Backups
After confirming the new version works, keep the 2 most recent backups:
# For IIS:
Get-ChildItem "C:\inetpub\wwwroot\Elyse\frontend_backup_*" |
Sort-Object LastWriteTime -Descending |
Select-Object -Skip 2 |
Remove-Item -Recurse -Force
# For Node.js:
Get-ChildItem "C:\Elyse\frontend_backup_*" |
Sort-Object LastWriteTime -Descending |
Select-Object -Skip 2 |
Remove-Item -Recurse -Force
RUNTIME CONFIGURATION
The backend API URL is loaded from assets/config.json at runtime. This means:
- You can change the backend URL without rebuilding the frontend.
- The same frontend package works for development, testing, and production.
- Just edit
config.jsonand refresh the browser (Ctrl+F5 to clear cache).
No IIS restart or application rebuild required.
NEXT STEPS
- For domain deployments, ensure KCD is configured: KCD Configuration
- Proceed to Bootstrapping and Configuration to onboard users and configure the system.