Video Screencast Help

FAQ: Queries Regarding Solution Installation

Created: 31 Aug 2011 • Updated: 31 Aug 2011 | 7 comments
This issue has been solved. See solution.

Here's a question that we received in our Dev Team group email, and thought it was a good discussion thread to share:

We have a basic solution created on windows box. When we try to configure the solution on the same machine where we developed it, we use "Configure" and "Unconfigure" options provided  in Visual studio.

But when we take the solution msi on the other machine and installed the solution using

"msiexec <solutionmsi name> skipaim=1" , the solution gets installed properly also I can see the entry in IIS and we can see the entry of solution policy page on NS policy page. But when I click on the Policy page which we have created it shows the following error

Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Symantec.POC3.Web/Policies/POC3PolicyPage.aspx

I also tried to reset the IIS and refreshed the NS page again, but I'm still facing the same problem. Also the mentioned page is there in the required directory location.

Can you please let us know the reason of this and the detailed steps to avoid this kind of error.

Comments 7 CommentsJump to latest comment

SMP Dev Team's picture

Please do the following things when you configure your solution.

  1. Reset IIS.
  2. Delete all the temporary ASP.NET files.
  3. Check the physical path of your solution in IIS manager. When you configure your solution it changes.
  4. Restart all Altiris services.
  5. Refresh the NS console page.
SMP Dev Team's picture

Let me give you in short what we are doing and what is going wrong, so that it'll be better to figure out the solution for this problem.

We have a solution msi for our solution, now when install this on the fresh machine where we have SMP installed we can see the policy page entry in NS console (Typically the page which we see from Manage->Policies on NS console). Now when I click on the page I'm getting the below mentioned error. So I already tried to reset the IIS, deleted all temp files as well, also the path to the page is correct.

It looks like we are missing some settings while installing solution. So can you please provide the solution accordingly because following steps we have already tried and no change was found.

SMP Dev Team's picture

Please check this tag is created in your solution's main config file.

    <webs>
      <!-- SDKNote - The name that appears here is the name of the virtual directory that will be created
        for this solution in IIS. The relativeDir attribute defines the directory where the solution's web
        pages will reside.  It will be a subdirectory of Altiris/ XYZSolution/ -->
      <web name="XYZSolution" relativeDir="Web" />
    </webs>

Also can you please share your solution's config files.

SMP Dev Team's picture

In our solution's main  config  file we see the following tag as you mentioned below.
<webs>
            <!-- SDK Note : The name that appears here is the name of the virtual directory that will be created
            for this solution in IIS. The relativeDir attribute defines the directory where the solution's web
            pages will reside.  It will be a subdirectory of Altiris/POC3/ -->
            <web name="POC3" relativeDir="Web" />
</webs>

When the solution gets installed on the machine, the POC3 directory gets created under Altiris folder. Also the policy page for which we are facing this problem is under "C:\Program Files\MyAltiris\POC3\Web\Policies". I have also attached the ZIP of all config files of our solution.

SMP Dev Team's picture

After analyzing your solution code, we found that you need to compile your solution in release mode. Then you will get the expected result.

SMP Dev Team's picture

After compiling our solution in release mode and installing it on other machine worked fine. But I'm having few queries.

1) Why did debug build which we had initially didn't worked?
2) Are there any specific configuration we are missing in debug mode. Because the debug build of the solution is working fine on the machine on which we developed it and giving the problem mentioned below on other machine?

SMP Dev Team's picture

While you are working on your development box in debug mode the web is actually different. The following should illustrate:

        /// <summary>
        ///             Called when the base url is being retrieved.
        /// </summary>
        /// <param name="args">
        ///             Arguments Hashtable.
        /// </param>
        /// <returns>
        ///             The base url.
        /// </returns>
        protected override string OnGetBaseUrl(Hashtable args)
        {
#if DEBUG
                return "/Symantec.POC3.Web/Default.aspx";
#else
                return "/Altiris/POC3/Default.aspx";
#endif
        }

In debug mode there is a Symantec web site which will be on your development machine. In your .config file you have the following:

<webs>
        <!-- SDK Note : The name that appears here is the name of the virtual directory that will be created
        for this solution in IIS. The relativeDir attribute defines the directory where the solution's web
        pages will reside.  It will be a subdirectory of Altiris/POC3/ -->
        <web name="POC3" relativeDir="Web" />
</webs>

The POC3 web location will be relative to the "Altiris" IIS site. Since that location will not exist on your test (non development) system, your solution will not properly display because IIS won't be able to find the web site. If you were to manually create that site on your non development system after you install your solution and point it to the correct web folder then you should be able to make it display properly on that box as well.

This is the defined behavior.