Enterprise
Edition

 

Installing FileUpEE for ASP.NET



Upgrading to a New Version of FileUpEE

If you are upgrading to a new version of FileUpEE, before installing the new version, remove the old version.


Automatic Installation

To create 3-tier upload and 3-tier download applications, you must install FileUpEE on both the web server and the file server.

To run the automatic installation, double-click FileUpEE.exe, and follow the InstallShield instructions.

During installation you will be asked if the machine on which you are installing is a web server or a file server. If you are installing on a development machine that functions as both a web server and a file server, select "Web server."

Top


Manual Installation: Installing FileUpEE Globally

To install FileUpEE the first time, run the automatic installation. Once InstallShield has unpacked the dll files that contain FileUpEE, you can re-install FileUpEE manually (if, for example, you are moving FileUpEE to a different server). FileUpEE's ASP.NET .dll files are not pure .NET assemblies; they must be registered using regsvr32 before you can run them in .NET:

  1. Open a command prompt window and move to the directory FileUpEE\DotNet.
    For example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.


  2. Enter regsvr32 FileUpEE.dll. A dialog box will inform you that FileUpEE.dll registered successfully; click Ok.


  3. Enter regsvr32 MimeClient.dll. A dialog box will inform you that MimeClient.dll registered successfully; click Ok.


  4. Enter regsvr32 FileUpEEProgress.dll. A dialog box will inform you that MimeClient.dll registered successfully; click Ok.


  5. Enter iisreset to reset IIS.


The FileUpEE assemblies - FileUpEE.dll, MimeClient.dll, and FileUpEEProgress.dll - can be made accessible either globally or at the application level. If you would like the .NET assemblies to be available to all applications, install the dll files in the Global Assembly Cache (GAC):

  1. Open a command prompt window and move to the directory FileUpEE\DotNet.
    For example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.


  2. The files you add to the GAC must be the same files you registered using regsvr32.

  3. Enter gacutil /i FileUpEE.dll.


  4. Enter gacutil /i MimeClient.dll.


  5. Enter gacutil /i FileUpEEProgress.dll.


  6. Open the file machine.config (in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\CONFIG).


  7. Add the following lines to the assemblies node of machine.config:

    <add assembly="FileUpEE, Version=x.x.x.x, 
    	Culture=neutral, PublicKeyToken=f593502af6ee46ae"/>
    <add assembly="MimeClient, Version=x.x.x.x, 
    	Culture=neutral, PublicKeyToken=f593502af6ee46ae"/>
  8. <add assembly="FileUpEEProgress, Version=x.x.x.x, Culture=neutral, PublicKeyToken=f593502af6ee46ae"/>
  9. Add the following line to the httpHandlers node of machine.config:

    <add verb="GET,HEAD,POST" path="*.uplx" type="System.Web.UI.PageHandlerFactory" />


  10. Add the line above to machine.config before these entries:

    <add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler" />
    <add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler" />
The version attribute of the add assembly node must correspond exactly to the version of the assembly (dll file) added to the GAC. If you add a new version of FileUpEE to the GAC using the gacutil command, update the dll version attributes in machine.config. To get the exact version of the dll file, right-click the dll and select the Properties tab.

Top


Manual Installation: Installing FileUpEE at the Application Level

To install FileUpEE the first time, run the automatic installation. Once InstallShield has unpacked the dll files that contain FileUpEE, you can re-install FileUpEE manually (if, for example, you are moving FileUpEE to a different server). FileUpEE's ASP.NET .dll files are not pure .NET assemblies; they must be registered using regsvr32 before you can run them in .NET:

  1. Open a command prompt window and move to the directory FileUpEE\DotNet.
    For example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.


  2. Enter regsvr32 FileUpEE.dll. A dialog box will inform you that FileUpEE.dll registered successfully; click Ok.


  3. Enter regsvr32 MimeClient.dll. A dialog box will inform you that MimeClient.dll registered successfully; click Ok.


  4. Enter regsvr32 FileUpEEProgress.dll. A dialog box will inform you that MimeClient.dll registered successfully; click Ok.


  5. Enter iisreset to reset IIS.


The FileUpEE assemblies - FileUpEE.dll, MimeClient.dll, and FileUpEEProgress.dll - can be made accessible either globally or at the application level. To make the assemblies accessible to a single application:

  1. Within your application, include a top level direcory called bin that contains FileUpEE.dll, MimeClient.dll, and FileUpEEProgress.dll.

    The files you include in the bin directory must be the same files you registered using regsvr32.

  2. Create a text file containing the following lines, and save it as web.config. Save web.config at the top level of your application.

    <configuration> 
     <system.web>   
    
      <!-- Allows upload requests to be processed by the module. --> 
      <httpHandlers> 
        <add verb="*" path="*.uplx" type="System.Web.UI.PageHandlerFactory"/> 
      </httpHandlers> 
      
      <!-- This loads the FileUpEE HttpModule for this application. Version numbers must match 
      the FileUpEeModule.dll exactly. --> 
      <httpModules> 
        <add name="FileUpEeModule" type="SoftArtisans.Net.FileUpEeModule,FileUpEeModule, 
        Version=x.x.x.x, Culture=neutral,PublicKeyToken=f593502af6ee46ae"/> 
      </httpModules> 
      
      <!-- These httpRuntime settings set at the application level will override 
      the machine.config settings. Default executionTimeout is 90 seconds which should 
      be increased for very large uploads; here it is set to 1200 seconds (20 minutes) 
      to allow large uploads. Default maxRequestLength is 4 mb which can be increased or
      decreased based on upload size; here it is set to 102400 kb (100 mb) to allow large
      uploads. -->   
      <httpRuntime   
      executionTimeout="1200" 
      maxRequestLength="102400" 
      useFullyQualifiedRedirectUrl="false" 
      minFreeThreads="8" 
      minLocalRequestFreeThreads="4" 
      appRequestQueueLimit="100" /> 
    
     </system.web> 
    </configuration> 
The version attribute of each add assembly node must correspond exactly to the version of the assembly (dll file) in the application's bin directory. If you update the dlls in the bin directory, update the dll version attributes in web.config. To get the exact version of the dll file, right-click the dll and select the Properties tab.

Top


Installing the HttpModule

The ISAPI filter and the HttpModule must not be used at the same time. Do not install the ISAPI filter if you plan to use the HttpModule. If you are upgrading, and plan to use the HttpModule, make sure you remove the ISAPI filter from IIS. To use the ISAPI filter, see Installing the ISAPI filter.

In IIS 5 or IIS 6 running in IIS 5 mode, you can use either the ISAPI filter or the HttpModule. However, both cannot be installed on the same machine. In IIS 6 running in native IIS 6 mode, you can only use the HttpModule.

During the automatic installation of FileUpEE, you were asked if you want to install FileUpEE for ASP or ASP.NET. If you selected the ASP.NET version, the HttpModule was installed automatically for FileUpEE's sample applications. If you would like the HttpModule to be available to all applications, install FileUpEeModule.dll in the Global Assembly Cache (GAC). To make the FileUpEeModule.dll available to a single application, include at the application's top level, a bin directory containing FileUpEeModule.dll.

To make FileUpEeModule.dll available to all .NET applications on your machine:

  1. Open a command prompt window and move to the directory FileUpEE\DotNet.


  2. Enter gacutil /i FileUpEeModule.dll.


  3. Open the file machine.config (in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\CONFIG).


  4. Add the following to the httpModules node of machine.config:

    <add name="FileUpEeModule" type="SoftArtisans.Net.FileUpEeModule,
    FileUpEeModule, Version=x.x.x.x, Culture=neutral,
    PublicKeyToken=f593502af6ee46ae"/>
The version attribute must correspond exactly to the version of FileUpEeModule.dll that you added to the GAC. If you add a new version of FileUpEeModule.dll to the GAC, update the version attribute in machine.config. To get the exact version of FileUpEeModule.dll, right-click the file and select the Properties tab.

To make FileUpEeModule.dll available to a single application:

  1. Within your application, include a top level direcory called bin that contains FileUpEE.dll, MimeClient.dll, and FileUpEEProgress.dll, and FileUpEeModule.dll. The bin directory should contain the dll files you will find in FileUpEE\DotNet, not the files in FileUpEE\COM.

  2. Create a text file containing the following lines, and save it as web.config. Save web.config at the top level of your application.

    <configuration> 
     <system.web>   
    
      <!-- Allows upload requests to be processed by the module. --> 
      <httpHandlers> 
        <add verb="*" path="*.uplx" type="System.Web.UI.PageHandlerFactory"/> 
      </httpHandlers> 
      
      <!-- This loads the FileUpEE HttpModule for this application. Version numbers must match 
      the FileUpEeModule.dll exactly. --> 
      <httpModules> 
        <add name="FileUpEeModule" type="SoftArtisans.Net.FileUpEeModule,FileUpEeModule, 
        Version=x.x.x.x, Culture=neutral,PublicKeyToken=f593502af6ee46ae"/> 
      </httpModules> 
      
      <!-- These httpRuntime settings set at the application level will override 
      the machine.config settings. Default executionTimeout is 90 seconds which should 
      be increased for very large uploads; here it is set to 1200 seconds (20 minutes) 
      to allow large uploads. Default maxRequestLength is 4 mb which can be increased or
      decreased based on upload size; here it is set to 102400 kb (100 mb) to allow large
      uploads. --> 
      <httpRuntime   
      executionTimeout="1200" 
      maxRequestLength="102400" 
      useFullyQualifiedRedirectUrl="false" 
      minFreeThreads="8" 
      minLocalRequestFreeThreads="4" 
      appRequestQueueLimit="100" /> 
    
     </system.web> 
    </configuration> 

Top


Installing the ISAPI Filter

The ISAPI filter and the HttpModule must not be used at the same time. Do not install the ISAPI filter if you plan to use the HttpModule. If you are upgrading, and plan to use the HttpModule, make sure you remove the ISAPI filter from IIS. To use the HttpModule, see Installing the HttpModule.

FileUpEE's automatic installation does not automatically install the ISAPI filter in IIS. To install the filter in IIS:

  1. Open IIS, right-click the machine name icon, and select Properties.

    FileUp's ISAPI filter must be installed at the machine level, not the web site or web application level.

  2. Select the Internet Information Services tab.


  3. From the Master Properties drop-down list, select WWW Service, and click Edit.


  4. Select the ISAPI Filters tab.


  5. Click Add.


  6. In the Filter Properties dialog box, enter the filter name FileUpEE, browse to FileUpEEIsapi.dll, and click Ok.


  7. Restart IIS to load the filter: right-click the machine name icon, select Restart IIS..., select Restart Internet Services from the drop-down list, and click Ok.

The ISAPI filter works in IIS 5 and IIS 6 running in IIS 5 mode. If you are running IIS 6 in IIS 6 mode, use the HttpModule instead of the ISAPI filter. To run IIS 6 in IIS 5 mode:
  1. In IIS, right-click the web site, and open Properties.
  2. Select the Service tab.
  3. Check Run web service in IIS 5.0 isolation mode.
Note that IIS 5 isolation mode applies to all applications on the IIS server. You cannot run some applications in IIS 6 mode and others in IIS 5 mode on the same server. For more information, see IIS Isolation Modes .

Top


Allowing ASP.NET to Process Files with the .uplx Extension

FileUpEE's HttpModule and ISAPI filter intercept requests to files with the extension .uplx. After a request is handled by the HttpModule or ISAPI filter, the request is forwarded to ASP.NET. To allow ASP.NET to process files with the extension .uplx, you must add a script map to IIS (for security reasons, FileUpEE's automatic installation does not add the script map automatically).

In the Windows XP IIS console, the Web Sites and Default web Site nodes have identical properties dialogs. The script maps can be installed in the web Sites properties, but they will be ignored by IIS. The script maps must be installed from the Default web Site node.
  • Add .uplx to the Default web Site's App Mappings
    1. Open IIS, right-click the Default web Site, and select Properties.

    2. Select the Home Directory tab.


    3. Click Configuration.


    4. Select the App Mappings tab.


    5. Click Add.


    6. Browse to aspnet_isapi.dll (typically in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\).


    7. In the Extension field, enter uplx.


    8. Select All Verbs.


    9. Check Script Engine, and click Ok.


    OR

  • Add .uplx to the Application's App Mappings
    1. Open IIS, right-click your application's virtual directory, and select Properties.


    2. Select the Virtual Directory tab.


    3. Click Configuration.


    4. Select the App Mappings tab.


    5. Click Add.


    6. Browse to aspnet_isapi.dll (typically in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\).


    7. In the Extension field, enter uplx.


    8. Select All Verbs.


    9. Check Script Engine, and click Ok.


Under ASP.NET, FileUpEE's progress indicator is handled by the ISAPI filter. So, to display accurate progress indication, upload to a file with the .uplx extension.

Top


The HttpModule/ISAPI Filter Temp Directory

FileUpEE's interceptors - the ISAPI filter and the HttpModule - cache request data before it is processed by ASP or ASP.NET. The location of the cache files can be configured in the Windows registry. By default, the cache location is the system's default directory for cached files, which is determined by the system environment variable TEMP. To set a different temp directory for the HttpModule or ISAPI filter:

  1. Open the Start menu, and select Run.
  2. Enter regedit and click Ok.
  3. Open HKEY_LOCAL_MACHINE\SOFTWARE\SoftArtisans\FileUpEe\Parameters.
  4. Right-click FileUpEETempDir and select Modify.
  5. In Value Data, enter the path and folder name.

The temp directory must be on a local drive, not on a network shared drive. The HttpModule and ISAPI filter write to the server hard drive as the local SYSTEM account and this account does not have access to network drives.

To change the system's default directory for cached files, reset the TEMP environment variable, as follows:
  • Open the Control Panel.
  • Select System.
  • Select the Advanced tab.
  • Click Environment variables...
  • Select TEMP from the System Variables list.
  • Click Edit.
  • Enter a new Variable Value, and click Ok.

Top


The Resumable Upload Status Databases

In a resumable upload, FileUpEE saves information about the upload in two upload status databases, one on the web server and one on the file server. If the upload from web server to file server is suspended, and the Resume method is called, FileUpEE will get the status of the upload - the number of bytes uploaded to the file server - from the file server database. FileUpEE will then resume the upload from the point at which it stopped.

There are two ways to set the connection string for an upload status database:

  • Set the ResumeConnectionString property for the specified upload database (Web server or file server).

    OR


  • Set the web server and file server connection strings in two udl files. On the web server, in WINNT\system32\fileupee.udl, save the web server's status database connection string. On the file server, in WINNT\system32\fileupee.udl, save the file server's status database connection string.

    To store a database connection string in a udl file:

    1. Go to C:\WINNT\system32.
    2. Right click within the system32 directory and select New -> Text Document.
    3. Name the file fileupee.udl.
    4. Double-click fileupee.udl to open it.
    5. Select the Provider tab.
    6. Select Microsoft Jet 4.0 OLE DB Provider, and click Next.
    7. Browse to FileUpEEWS.mdb if you are at the web server, or FileUpEEFS.mdb if you are at the file server.
    8. Click Test Connection.
The Internet user account must have Read, Write, and Modify access the directories containing the status databases. For the FileUpEE samples, that directory is FileUpEE\doc-samples\samples\features\resume. If impersonation is disabled, make sure that the ASPNET account has Read, Write, and Modify access to the directory. If impersonation is enabled for ASP.NET, set permissions as you would for ASP. For security reasons the FileUpEE install package does not grant this access.

Top


Copyright © 2005, SoftArtisans, Inc.