Cannot use the search component with active server pages in FrontPage 2003 (828901)



The information in this article applies to:

  • Microsoft Office FrontPage 2003

For a Microsoft FrontPage 2002 version of this article, see 292629.

For a Microsoft FrontPage 2000 version of this article, see 205540.

For a Microsoft FrontPage 98 version of this article, see 194284.

For a Microsoft FrontPage 97 version of this article, see 183046.

SUMMARY

You cannot use the Microsoft Office FrontPage 2003 Search Form component on an Active Server Web Page. If you want to include a search component on an Active Server Page Web page, you can use the Microsoft Indexing Service on your Microsoft Internet Information Services (IIS) Web Server. First, install the Microsoft Indexing Service on the Web server that hosts your Web page. Next, configure FrontPage 2003 to use the Indexing Service to search the Web site.

Alternatively, you can use .htm or .html instead of .asp pages with the search form.

Use one of these two methods to use search on an Active Server Page.

SYMPTOMS

If you create an Active Server Page (ASP) in Microsoft Office FrontPage 2003 that includes a search component, when you view your Active Server Page Web page in your Web browser, and then click Search, the results of your search are returned, but the ASP script on your page does not run. You may receive an error message that is similar to the following:
Cannot run the FrontPage Server Extensions' Smart HTML interpreter on this non-HTML page: "http://Your_Server_Name/Your_File.asp"
The URL in the Address box in Microsoft Internet Explorer is similar to the following:

http://Your_Server_Name/Your_File.asp/_vti_bin/shtml.dll/Your_File.asp

CAUSE

This behavior occurs because you cannot use the FrontPage 2003 Search Form component on an Active Server Page.

When an Active Server Page is requested on a server, Asp.dll parses the Active Server Page. ASP.dll finds any script that is specified to run on the server, runs the script, and then the results appear in your Web browser.

When you conduct a search by using the Search Form, Shtml.dll parses the search page, the results of the search are expanded in the search file, and then the results appear in your Web browser.

When a search is performed by using the Search Form on an Active Server Page, Shtml.dll cannot parse the file because Asp.dll is already parsing the file.

Because Shtml.dll cannot parse the search page, it outputs the error message that is mentioned in the "Symptoms" section.

RESOLUTION

To resolve this behavior, use one of the following methods.

Method 1: Use the Microsoft Indexing Service on your IIS Web Server

When you use the Microsoft Indexing Service, the Search Form does not use Shtml.dll. Instead, the action for the form points to the .idq file associated with the file. To install the Microsoft Indexing Service on the Web server that hosts your Web, follow these steps:
  1. Click Start, point to Control Panel, and then click Add or Remove Programs.
  2. Click Add or Remove Windows Components.
  3. In the Components list, click to select Indexing Service, and then click Next.
  4. On the Completing the Windows Components Wizard page, click Finish, and then quit Add or Remove Programs.
After the Indexing Service is installed on your IIS Web server, you must configure FrontPage 2003 to use the Indexing Service to search the Web site. When you configure FrontPage 2003 to use the Indexing Service, you must create catalogs for the FrontPage Search component to use. When a catalog is configured and applied to a virtual server, FrontPage 2003 will use it for any search bot that you include in your Web site.

If you create catalogs for many virtual servers, store the catalogs outside the FrontPage 2003 content area and put each catalog in its own unique folder.

To configure FrontPage to use the Indexing Service to search a Web site, follow these steps:
  1. Make sure that your site is set to be indexed. To do this, follow these steps:
    1. Click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
    2. Expand Your_Server_Name/Web Sites/The_Virtual_Server_You_Want_To_Configure.
    3. Right-click The_Virtual_Server_You_Want_To_Configure, and then click Properties.
    4. In the Properties dialog box, click the Home Directory tab.
    5. On the Home Directory tab, click to select the Index this resource check box, click Apply, and then click OK.
    6. Quit the Internet Information Services (IIS) Manager.
  2. Start Microsoft Windows Explorer, and then expand the folder where you want to make a new folder that will store your catalog. Store the catalog outside the content area of your Web site.

    For example, you may make a folder named Catalogs in the C:\Inetpub folder. In the Catalogs folder, you may make another folder that has the same name as the virtual server. This will help you keep the catalogs organized as new catalogs are added for other virtual servers.

    Note When you make the new folders, make sure that the System account and the Administrators group have full access to the folder where the catalog will reside.
  3. Click Start, point to Administrative Tools, and then click Computer Management.
  4. Expand Services and Applications.
  5. Right-click Indexing Service, point to New, and then click Catalog.
  6. In the Name box, type the name that you want to use for the catalog. You may want to use the name of the virtual server to help keep your catalog organized.
  7. In the Location box, type the path of the folder that you created to store the catalog in Step 2, and then click OK. Alternatively, you can click Browse to locate the folder, and then click OK.

    Important Store each new catalog in its own folder.
  8. In the New Catalog Created dialog box, click OK.
  9. Right-click Indexing Service, and then click Stop.
  10. Right-click Indexing Service, and then click Start.
  11. Right-click Your_New_Catalog, and then click Properties.
  12. Click the Tracking tab.
  13. In the "WWW Server" list, click the name of the server that corresponds to the catalog , click Apply, and then click OK.
  14. Right-click Indexing Service, and then click Stop.
  15. Right-click Indexing Service, and then click Start.
  16. Quit Computer Management.
  17. Start FrontPage 2003, and then open the Web site that uses the catalog.
  18. On the Tools menu, click Recalculate Hyperlinks.
  19. In the Recalculate Hyperlinks dialog box, click Yes.
Recalculate Hyperlink swill re-initialize the FrontPage Search Component with the Index Server Catalog.

Method 2: Use .htm or .html instead of .asp pages with the search form

Do not use Active Server Pages with the Search Form. Use HTML pages only.

Modification Type:MinorLast Reviewed:1/6/2006
Keywords:kberrmsg kbprb KB828901 kbAudEndUser