Home/DriveWorks guides/Hosting DriveWorks Live in IIS: a pre-flight checklist
Hosting DriveWorks Live in IIS: a pre-flight checklist
Most of a DriveWorks Live stand-up is specific to one server, one group, and one company, so it resists a wizard. The checking is the same everywhere. This is the list I run, in the order a request travels, and each line is something that has actually been the problem on a production DriveWorks 23 site.
1. Know the version first
Several answers below depend on the DriveWorks version: the format of the Pro Server address, which settings page in the documentation applies, and the port to test. Confirm the installed major version and service pack before reading any configuration advice, including this page.
2. IIS and the host
- The ASP.NET Core Hosting Bundle is installed, and
AspNetCoreModuleV2is registered. Without it IIS cannot host the Integration Theme at all. - The site and its application pool are started. A stopped pool is a 503 on every page. After a reboot, check that the pool came back.
- IIS owns port 443.
Get-NetTCPConnection -LocalPort 443should show the System process. If it shows DriveWorks Live, the desktop program is running and holding the port, and IIS cannot bind. Close the desktop program before cutting over. - The HTTPS binding has the right host name and certificate. List the certificates already installed before buying one. A wildcard that covers the host name may already be on the server.
- Note the certificate's expiry date somewhere a person will see it.
3. Pro Server
- The DriveWorks Pro Server service is running.
- The Pro Server Web Application answers on its port (54380 by default on DriveWorks 23) from the web server. Test that it answers HTTP, not only that the port is open.
- The group is registered and owned by this Pro Server, in the running version. A connected database is not the same thing as a registered group.
4. The theme's configuration
DriveWorksConfigUser.xmlis the Integration Theme's own copy, underC:\ProgramData\DriveWorks\<version>\Live\Themes\Integration\, and it parses as XML. One syntax error drops every group connection in it.- The Pro Server address is in the format your version expects. On DriveWorks 23 that is a full URL with a port. This one check is worth more than the rest of the list. The details are here.
- The alias name has no spaces or special characters, and matches the alias your pages use, including case.
- The web user has a real password.
- There are no stray copies of the config in other theme folders that someone might edit by mistake.
5. The running worker
- Read the startup log. The theme writes
stdout_*.logfiles under itslogsfolder. It is the best single diagnostic there is. The static files path printed there tells you whether the worker read your configuration or a different one. - Recycle the application pool after every configuration change. The theme reads its configuration when the worker starts.
6. A real login
Send an empty login and read the status code:
POST https://your-live-site/api/<alias>/login body: {}
A 200 or a 401 means the alias resolves. A 404 means it is not registered. A timeout means the theme cannot reach Pro Server. Compare against a made-up alias: if both answers are identical, nothing is registered.
7. A real specification
- Start a specification in each project. "The project could not be loaded" most often means a plugin or PowerPack is missing on the server. The set installed there is often different from the machine where the project was built.
- Project and specification paths are UNC paths. A service account has no mapped drives.
- The application pool account can read and write the specification folder. If that account's password changes, restart what runs under it. Stale credentials show up as a misleading "default specification folder" error.
- Documents that need Word or Excel are released by Autopilot, not by Live. A service cannot drive Office.
8. The front end
If you serve your own pages from the theme's static files folder:
- Keep the server address and group alias in one configuration file and nowhere else. Moving from development to production is then a one-line change.
- URL-encode project names in every link. A project called
98 & 99 Trackbreaks an unencoded run link and reports that the project could not be found. - Version your cached assets. If the site uses a service worker, change its cache name and the asset query strings on every release. A stale service worker produces a "please sign in" bounce that looks exactly like an authentication failure.
- Deploy with a script, not by hand. Pull the release, mirror it to the web root, grant the application pool account access, and fail loudly if any step fails.
Why a checklist and not an installer
Too much of the setup is particular to each site for an installer to be safe. The validation is universal, and it is the part that eats days. A script that runs these checks and prints the first failure in path order turns "Live is down" into a specific line to fix. It is also a reasonable thing to run every night.
Common questions
What does DriveWorks Live need to run in IIS?
The Integration Theme needs the ASP.NET Core Hosting Bundle, an IIS site and application pool, an HTTPS binding with a certificate, a reachable DriveWorks Pro Server with the group registered, and a DriveWorksConfigUser.xml that defines the group alias.
Where are the DriveWorks Live Integration Theme logs?
In the logs folder under the Integration Theme folder, as stdout log files written when the worker starts. They show which configuration and static files path the worker loaded.
Why can IIS not bind port 443 for DriveWorks Live?
Usually because the desktop DriveWorks Live program is running on the same server and holding the port. Close it and start the IIS site.
Why does DriveWorks Live say "The project could not be loaded"?
The most common cause is a plugin or PowerPack that the project uses and the Live server does not have. The others are an application pool account without access to the specification folder, and project paths on mapped drives instead of UNC paths.
Do I need to restart IIS after changing DriveWorks Live settings?
Recycle the application pool. The Integration Theme reads its configuration only when its worker process starts.
Base 10 Consultants is a DriveWorks Authorized Services Partner: CPQ configurators, design automation, and CAD-to-ERP integration for manufacturers.
Book a 30-minute callBase 10 Consultants is a DriveWorks Authorized Services Partner and an independent company. This page is not written, reviewed, or endorsed by DriveWorks Ltd. DriveWorks is a trademark of DriveWorks Ltd; SOLIDWORKS is a trademark of Dassault Systèmes SolidWorks Corp. Behavior described here can differ between versions, so check the DriveWorks documentation for the version you run.