You can use Internet Information Services (IIS) to host MDrivenServer and Turnkey on Windows, and this page helps administrators choose the correct deployment, setup, and troubleshooting guide.
Choose your IIS task
Use IIS when you run MDriven applications on a Windows computer or Windows Server. The required procedure depends on whether you are deploying the current Core packages, setting up an on-premise Turnkey installation, or developing locally.
| Your goal | Use this guide | Example |
|---|---|---|
| Deploy current MDrivenServer and Turnkey Core packages to IIS | Documentation:Deploying MDriven Server & Turnkey Core on IIS | You create separate IIS sites for MDrivenServer and Turnkey, configure each application pool as No Managed Code, and add the required override files under App_Data.
|
| Install IIS features and install MDriven Server on Windows | HowTos:Installing MDriven Server on Windows | You need to add the IIS role or Windows features before installing MDriven Server on a Windows workstation or server. |
| Run Turnkey on your own IIS server | Documentation:Set up MDriven Turnkey on premise | You host a Turnkey application and its MDrivenServer application on the same IIS installation, configure HTTPS, and create the account Turnkey uses to connect to MDrivenServer. |
| Run a local development web server from MDriven Designer | Documentation:IIS Express | MDriven Designer reports that it cannot find IIS Express, or you want a faster local development loop for a Turnkey application. |
| Automate IIS site creation or updates | HowTos:PowerShell script for IIS installation | You want a repeatable script rather than creating a site and application pool manually in IIS Manager. |
Deployment model
A typical on-premise installation contains two web applications:
- MDrivenServer stores and serves the model and provides the server-side services used by MDriven applications.
- Turnkey is the web application users open in their browser. It connects to MDrivenServer.
For isolation, use a separate IIS application pool for MDrivenServer and Turnkey. The Core deployment guide specifies No Managed Code for these application pools. For example, you might use MDrivenServerAppPool for the MDrivenServer site and MDrivenTurnkeyAppPool for the Turnkey site.
The IIS site binding and the URL configured for the application must agree. For example, if an IIS binding exposes the site at http://localhost:80/MDrivenServer, use that same URL in the relevant application configuration. Follow the exact filenames required by the deployment guide; incorrect filenames prevent the deployment from starting or connecting correctly.
Before you deploy
Complete these checks before importing or extracting an MDriven package into an IIS site directory.
- Install IIS on the Windows machine and open IIS Manager.
- Install the ASP.NET Core Hosting Bundle required to host the Core applications. If IIS does not list
AspNetCoreModuleV2under Modules, the hosting bundle is not installed correctly. - Download the Windows packages for MDrivenServer and Turnkey.
- Create a physical folder for each site. For example,
C:\inetpub\wwwroot\MDrivenServerandC:\inetpub\wwwroot\MDrivenTurnkey. - Create an application pool and site for each application, then configure bindings such as a port and optional host name.
- Grant the application-pool identity access to each application directory. See Documentation:AppPool user for the required filesystem access.
If your solution uses WCF, enable the IIS WCF features required by the Windows installation guidance, including HTTP Activation and TCP Port Sharing. Without HTTP Activation, the documented symptom is HTTP 405 instead of the MDriven login screen. HowTos:Installing MDriven Server on Windows lists the IIS services and optional operational features in detail.
File access for application pools
IIS runs an application under its application-pool identity. That identity needs filesystem access because MDrivenServer and Turnkey write application data and logs, and CodeDress assemblies may need to be distributed.
Grant the local identity IIS APPPOOL\{app pool name} access to the application root during installation. For example, for an application pool named MDrivenTurnkeyAppPool, grant access to IIS APPPOOL\MDrivenTurnkeyAppPool. Documentation:AppPool user describes the directories that need access if you later restrict permissions.
A missing write permission can appear as an application startup failure, failed model-related file operations, or missing log output. Confirm permissions for both the MDrivenServer and Turnkey application folders.
Configure and test in the right order
Follow the complete steps in Documentation:Deploying MDriven Server & Turnkey Core on IIS. At a high level, validate the deployment in this order:
- Create the MDrivenServer site, application pool, physical directory, and binding.
- Extract or import the MDrivenServer package into its physical directory.
- Set application-pool permissions and create
App_Data/CommandLineOverride.xmlusing the exact name and the site URL. - Start and browse to MDrivenServer. Check its log directory if it does not start.
- Create the Turnkey site using its own application pool, directory, and binding.
- Extract or import the Turnkey package, set permissions, and create its
App_Data/CommandLineOverride.xml. - Create Turnkey's
App_Data/MDrivenServerOverride.xmlso Turnkey can reach MDrivenServer with the configured URL and credentials. - Upload the model to MDrivenServer from MDriven Designer, then browse to the Turnkey URL.
For a combined on-premise arrangement in which MDrivenServer is an IIS application beneath the Turnkey application, follow Documentation:Set up MDriven Turnkey on premise. That guide also covers HTTPS and configuring the user account Turnkey uses to access MDrivenServer.
IIS Express is for local development
IIS Express is a small web server for development, not the production IIS hosting approach described on this page. MDriven Designer looks for it in C:\Program Files\IIS Express when you use its IIS check. Install IIS Express if MDriven Designer reports that it cannot find it.
Troubleshoot IIS hosting
Start with the application logs and IIS diagnostics instead of changing multiple settings at once.
| Symptom | Check | Next action |
|---|---|---|
| HTTP Error 500.30 or an in-process start failure | Confirm that the ASP.NET Core Hosting Bundle is installed and AspNetCoreModuleV2 appears in IIS Modules. Confirm that the application-pool identity can read and write the site directory.
|
Use HowTos:Troubleshooting IIS application startup issues and the Core IIS deployment troubleshooting section. |
| IIS or an Azure Web App repeatedly restarts | Inspect MDrivenServer or Turnkey logs for change-notification or IIS configuration-change messages. | See Documentation:IIS application restart problem. In particular, ensure the applicable root-level web.config handles file-change notification as documented.
|
| HTTP 405 appears instead of the login screen when using WCF | Check whether IIS HTTP Activation is installed. | Enable the WCF IIS features described in HowTos:Installing MDriven Server on Windows. |
| Turnkey cannot connect to MDrivenServer | Check the MDrivenServer URL, credentials, and exact override-file name in Turnkey's App_Data directory.
|
Recheck the matching IIS binding and follow Documentation:Deploying MDriven Server & Turnkey Core on IIS. |
| No useful application diagnostic is visible in the browser | Check Event Viewer Application Log, IIS log files, and the application's logs directory.
|
MDrivenServer logs are normally under its site directory's logs folder; Turnkey logs are under the Turnkey site's logs folder.
|
