Applies To
- IIS 8 and above
- ASP.NET Core applications
- ASP.NET (.NET Framework) applications
1. Confirm Application Type in IIS
Identify whether the application is ASP.NET Core or .NET Framework.2. Verify IIS Application Pool Configuration
Incorrect Application Pool settings are the most common cause of missing data. If these values are misconfigured, the Atatus profiler will fail to attach, and no telemetry will be collected. Open IIS Manager and select your application pool. Click Advanced Settings to verify:
After making changes, restart the IIS.
3. Ensure Required IIS Features Are Enabled (.NET Framework Only)
Navigate to: Windows Features → Internet Information Services → Application Development Features Ensure the following are enabled:- ASP.NET 4.x
- .NET Extensibility 4.x
- ISAPI Extensions
- ISAPI Filters
4. Verify Environment Variables in IIS Scope
Atatus requires specific environment variables to be available at the IIS Application Pool level or higher.Option 1: Check via applicationHost.config
Open the IIS configuration file:<applicationPoolDefaults>(applies to all app pools)- Your specific
<applicationPool>element (applies only to that pool)
Option 2: Check via PowerShell
Run the following commands to inspect the App Pool environment variables:5. Enable Debug Logging
Enable debug logging to collect detailed troubleshooting information by setting the following environment variables at the Application Pool level.Debug Options
Restart the application after enabling debug logging.
6. Validate Profiler Load (Event Viewer + IIS Worker Process)
This step confirms whether the Atatus profiler attempted to load and why it failed.Step 1: Check Windows Event Viewer
Open: Event Viewer → Windows Logs → Application Look for errors like: Error 1: Loading profiler failed during CoCreateInstance- Cause: 32-bit / 64-bit mismatch between IIS and the profiler
- Solution: Match the profiler bitness to your IIS process architecture (see Step 2)
- Cause: Environment variables pointing to wrong profiler DLL path
- Solution: Verify file exists at the path specified in
COR_PROFILER_PATH
- Cause: IIS Application Pool identity lacks read permissions on profiler files
- Solution: See “Step 3: Verify File Permissions” below
0x800700C1= Bad Image Format (binary incompatible)0x80070005= Access Denied0x80070002= File Not Found
Step 2: Verify File Permissions
The IIS Application Pool identity must have Read + Read & Execute permissions on the Atatus profiler files. To check/set permissions:- Navigate to the extracted Atatus profiler folder, which is the directory set in
ATATUS_PROFILER_HOME(e.g.,C:\atatus) - Right-click the folder → Properties → Security tab
- Click Edit → Select your Application Pool Identity (usually
IIS AppPool\<PoolName>) - Ensure these permissions are Allowed:
- Read
- Read & Execute
- List Folder Contents
Step 3: Confirm Profiler DLL Loaded in Worker Process
Use Process Explorer to inspect the IIS worker process:- Process:
w3wp.exe - Confirm whether
atatus_profiler.dllis loaded
Common Reasons and What to Check
- 32-bit / 64-bit mismatch between IIS and the profiler
- Missing Microsoft Visual C++ Redistributable on the server
- Corrupt or incomplete profiler files (rare)
Still Having Issues?
Collect the following information and contact Atatus Support at success@atatus.com:- Event Viewer logs: Export Application logs from around the time of the issue
- Diagnostic information:
- Atatus Agent version installed
- Application framework (.NET Framework version or .NET Core version)
- Server OS version and architecture (32-bit or 64-bit)
- IIS version
- Application Pool identity and settings
- Whether data ever appeared in Atatus for this application
- Process Explorer output: Screenshot showing
w3wp.exeand loaded DLLs (if possible)