Hey guys,
I'm using IIS 6 on a Windows 2003 Server and I am trying to get an MVC2 project installed on that machine. I am having nightmare-ish problems doing so!
I've looked up TONS of references on what to do, and not 1 single one works. (They work for MVC1 projects, as I have a few of those running already using said solutions).
Does anyone have any tips/hints/ideas on what needs to be done for MVC2 projects with IIS 6? I am definitely pulling my hair out over this.
I have tried it on 2 of my dev servers, and both get the same result. The closest I can get to a served page is an error page "Object reference not set to an instance of an object", however, the page has try/catch blocks that are being ignored, so I dont think its running the code on the controller, I think it's saying that the controller is the error. (For the reference, the error in question is directed at the HomeController.cs file).
What I've tried:
Wildcard mapping 
Changing routes to {controller}.mvc
Changing routes to {controller}.aspx
Adding the .mvc extension to IIS 
Modifying routes in Global.asax
There's a LOT of code in this project so far, so I will only post the first page(s) that should get served:
MASTER PAGE:
<div class="page">
    <div id="header">
        <div id="title">
            <h1>Meritain RedCard Interface 2.0</h1>
        </div>
        <!--
        This is the main menu. Each security role will have access to certain buttons. 
        -->
        <div id="menucontainer">
            <% if (Session["UserData"] != null)
               { %>
                <% if (/*User Security Checks Out*/)
                   { %>
                    <ul id="menu">
                        <li><%= Html.ActionLink("Home", "Index", "Home")%></li>
                        <li><%= Html.ActionLink("Selection", "Index", "Select", new { area = "Selector" }, null)%></li>
                        <li><%= Html.ActionLink("Audit", "Index", "Audit", new { area = "Auditor" }, null)%></li>
                        <li><%= Html.ActionLink("Setup", "Index", "Setup", new { area = "Setup" }, null)%></li>
                        <li><%= Html.ActionLink("About", "About", "Home")%></li>
                    </ul>
                <% } %>
            <% } %>
        </div>
    </div>
    <div id="main">
        <asp:ContentPlaceHolder ID="MainContent" runat="server" />
        <div id="footer">
        </div>
    </div>
</div>
Default.aspx.cs:   [I added this file as a potential solution, since it works with MVC 1]
    protected void Page_Load(object sender, EventArgs e)
    {
        string originalPath = Request.Path;
        HttpContext.Current.RewritePath(Request.ApplicationPath, false);
        IHttpHandler httpHandler = new MvcHttpHandler();
        httpHandler.ProcessRequest(HttpContext.Current);
        HttpContext.Current.RewritePath(originalPath, false);
    }
HomeController.cs:
    public ActionResult Index()
    {
        loadApplication();
        ViewData["Message"] = "Welcome to ASP.NET MVC!";
        return View();
    }
    public ActionResult About()
    {
        return View();
    }
    private void loadApplication()
    {
        Session["UserData"] = CreateUserSecurity(HttpContext.User.Identity.Name.ToString());
    }
I did not list the CreateUserSecurity method, but all it does it call the DB using the Username and returns the record in the database that matches the username.
EDIT: Added code and what I've tried so far (as requested).