This community thread discusses IIS 6 Configurations Needed to Run APG vNext — a topic related to setting up and configuring APG vNext on your server.
Overview
Getting APG vNext running correctly requires proper IIS configuration, a SQL Server database, and correct settings in your web.config file. Common setup issues are typically related to one of these areas.
Common Configuration Checklist
- IIS Application Pool: Set to .NET 4.0 Integrated Pipeline. APG vNext is not compatible with Classic mode.
- Database Connection String: Verify the server name, database name, username, and password in
web.config. - File Permissions: The IIS app pool identity must have read/write access to the
upfilesfolder. - URL Rewriting: Install the IIS URL Rewrite module for SEO-friendly URLs.
- Full-Text Search: Enable Full-Text Indexing in SQL Server for the search feature to work.
Get Help
If you are experiencing an issue not covered here, post in the support forum with your error message and server configuration details. See also: Installation Guide | FAQ
Wildcard Application Mapping in IIS 6
APG vNext relies on ASP.NET's URL routing to handle extensionless and custom-extension URLs. In IIS 7+ with Integrated Pipeline mode, this works without additional configuration. In IIS 6, however, the ISAPI pipeline only passes requests to the ASP.NET ISAPI extension for file extensions explicitly mapped (e.g., .aspx, .axd). To handle all requests through ASP.NET in IIS 6, configure a wildcard application mapping that routes all requests through the ASP.NET ISAPI DLL. In IIS Manager, open the website properties → Home Directory tab → Configuration → Mappings → Insert (wildcard) and set the executable to the ASP.NET ISAPI DLL path (e.g., C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll). Uncheck the Verify that file exists option to allow routing of non-file-system URLs.
Application Pool Configuration for IIS 6
Create a dedicated application pool for APG vNext in IIS 6 rather than using the DefaultAppPool, which may be shared with other applications and configured with different trust levels or .NET versions. In IIS Manager, expand Application Pools → New → Application Pool. Set the .NET Framework version to 4.0. Configure the Application Pool Identity to Network Service for simple configurations, or to a dedicated Windows service account with specific permissions for production environments with stricter security requirements. Assign the APG vNext virtual directory or website to the new application pool in the website's Home Directory tab.
IIS 6 to IIS 7+ Migration Recommendation
IIS 6 has been end-of-life since July 2015, and Windows Server 2003 (which included IIS 6) has been end-of-support since July 2015 as well. Running APG vNext on IIS 6 represents a significant security risk because neither the operating system nor IIS receives security patches. The strongly recommended course of action is to migrate to a supported Windows Server version (2019 or 2022) with IIS 10. The migration involves setting up a new server with IIS 10 in Integrated Pipeline mode, restoring the APG vNext files and database backup, updating the connection string, and verifying functionality — typically a 2-4 hour process. The performance and security improvements of modern IIS more than justify the migration effort for any production community.
Full Trust Configuration on IIS 6
APG vNext requires Full Trust to access the file system, execute SMTP calls, and use reflection APIs. On IIS 6, the trust level is configured in the web.config file as well as in the machine-level web.config located in C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config. Add or verify the following in the application-level web.config:
<system.web>
<trust level="Full" />
</system.web>
If the hosting provider restricts trust levels below Full, contact them to request Full Trust for the APG vNext application, explaining that it is a complex ASP.NET web application that requires unrestricted access. On shared hosting with IIS 6 that cannot grant Full Trust, APG vNext cannot be supported — a VPS or dedicated server with IIS 6 or later and administrative access is the minimum requirement for Full Trust configuration.
Session State Configuration on IIS 6
APG vNext uses ASP.NET session state for short-lived user context data. On IIS 6, the default InProc session state mode stores session data in the IIS worker process memory. If the application pool recycles during an active user session, InProc session data is lost and the user is effectively logged out. For IIS 6 deployments with strict stability requirements, configure ASP.NET State Server or SQL Server session state to store session data outside the worker process, making it survive application pool recycling. Configure State Server in web.config with mode=StateServer stateConnectionString=tcpip=127.0.0.1:42424 and start the ASP.NET State Service in Windows Services before recycling the application pool.
Performance Considerations on IIS 6
IIS 6 lacks many of the performance features available in IIS 7+ including kernel-mode caching, dynamic compression (available via an add-on in IIS 6 but less performant than IIS 7's native implementation), and the Integrated Pipeline mode that eliminates redundant HTTP module processing. On IIS 6, static file serving is handled by the IIS kernel-mode cache for .html, .css, .js, and image files, but dynamic APG vNext pages processed through the ASP.NET ISAPI are not kernel-mode cached. Enable output caching for frequently-accessed, low-change-rate APG vNext pages (forum category lists, static pages) using the ASP.NET OutputCache attribute on the relevant controllers to reduce database load and response times on IIS 6.
Looking for more help? Browse the support forum or check the Knowledge Base.