Troubleshooting overview
Use this page as a first-response index when something works on your laptop but fails on IIS, or when a specific symptom appears after deploy or database setup. Each row links to deeper guidance where available.
Introduction
Damsy ERP failures usually cluster around four boundaries: authentication and session, publish completeness, Release configuration, and SQL permissions / seed data. Most production issues are environmental — not application logic bugs.
Purpose
Reduce time-to-diagnosis by mapping what you see to what to verify first, before diving into controllers or stored procedures.
When to use
- Immediately after IIS deploy or blank database setup
- When users report login loops, unstyled pages, or missing modules
- When Crystal Reports or partial views fail only on the server
For extended walkthroughs, see Common issues (deep dive).
How it works
Always recycle the IIS application pool after Web.config or bin changes.
Symptom quick reference
| Symptom | First checks | Deep dive |
|---|---|---|
| Sign-in failed | Company selected? CompID 1 seeded? Password encrypted? Run 04b-fix-admin-login.sql; test GetLoginUser | Common issues — login |
| Redirect loop / instant logout | ForceHttps=false, requireSSL=false on HTTP site | Release config |
| Missing CSS / unstyled UI | CSS exists in publish folder? .csproj Content Include? | Publish, CSS issue |
| Crystal Reports load failure | CR runtime 13.x on server; viewer path | Crystal, Crystal issue |
| Module tile missing on Dashboard | Module flags on UserAccounts; dtVerifyUser session | Login flow |
| Partial view not found | Partial published? Included in .csproj? | Publish gotcha |
| Works locally, fails on VPS | Connection string catalog; IIS APPPOOL\... SQL rights; full file copy | IIS deploy, VPS gap |
| Yellow error on server only | customErrors RemoteOnly — browse from VPS console | Event Viewer / failed request tracing |
| Menu / page error after login | Empty MenuMaster / UserPermissions on minimal seed | Seed scripts |
| 404 on static file | app-assets copied? Site physical path correct? | IIS deploy |
Step guides — Universal triage order
Step 1 — Confirm Release configuration on server
Open deployed Web.config at IIS physical path:
C:\inetpub\wwwroot\damsy_erp\Web.config
Verify:
ForceHttps=false(until SSL ready)requireSSL=falseon HTTPMyConnectionString→ correct server andDB_DAMSYERP
Step 2 — Recycle and hard-refresh
- IIS → recycle application pool.
- Browser Ctrl+F5.
- Retest incognito if cookies suspected.
Step 3 — File presence audit
From the server, confirm:
inetpub\wwwroot\damsy_erp\app-assets\css\shell-modern.css
inetpub\wwwroot\damsy_erp\bin\DamsyERP.UI.dll
inetpub\wwwroot\damsy_erp\Areas\...\Views\...
Compare against local publish folder.
Step 4 — Database chain
Run 04b-fix-admin-login.sql diagnostics. Zero rows on login chain SELECT → seed/permission issue.
Step 5 — SQL identity
Confirm IIS APPPOOL\<PoolName> has database access when using Integrated Security.
Examples
Example — ForceHttps loop
Symptom: Browser spins between HTTP URLs; never reaches login.
Check: Published appSettings → ForceHttps accidentally true without HTTPS binding.
Fix: Set ForceHttps=false, recycle pool. Enable both HTTPS flags only after cert install — Release configuration.
Example — Session lost after login
Symptom: Login succeeds briefly; next click returns to login.
Check: requireSSL=true while site served over http://.
Fix: Set requireSSL=false until TLS enabled.
Example — Module tile absent
Symptom: Payroll tile missing for admin on VPS; present locally.
Check: VPS database UserAccounts.Payroll column; minimal seed not run or old DB.
Fix: Run 04b-fix-admin-login.sql or compare user row to dev.
Related pages
Important notes
ManageError/Indexis the user-facing wrapper — root cause is often in SQL, missing view, or config.- Local Debug skips some Release behaviors — reproduce on IIS Release when possible.
- Minimal seed ≠ full ERP data — distinguish "cannot login" from "page errors after login".
- Crystal failures often appear only when opening a report action, not at login.
Common mistakes
| Mistake | Why it wastes time |
|---|---|
| Debugging C# before checking publish folder | Missing files don't fix themselves in code |
| Enabling SSL cookie flags "for security" on HTTP | Breaks session immediately |
| Using laptop connection string on VPS | Wrong catalog or unreachable instance |
| Ignoring company dropdown on login | Wrong CompID breaks GetLoginUser join |
| Skipping app pool recycle | Stale config and assemblies |
Next steps
- Open Common issues for your symptom section.
- Re-run publish verify before next IIS copy.
- Document your VPS pool name and SQL grants for future deploys — FAQ.