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 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:
- Open a command prompt window and move to the directory FileUpEE\DotNet.
For
example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.
- Enter regsvr32 FileUpEE.dll. A dialog box will inform you that
FileUpEE.dll registered successfully; click Ok.
- Enter regsvr32 MimeClient.dll. A dialog box will inform you that
MimeClient.dll registered successfully; click Ok.
- Enter regsvr32 FileUpEEProgress.dll. A dialog box will inform you that
MimeClient.dll registered successfully; click Ok.
- 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):
- Open a command prompt window and move to the directory FileUpEE\DotNet.
For
example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.
| The files you add to the GAC must be the same files you
registered using regsvr32. |
- Enter gacutil /i FileUpEE.dll.
- Enter gacutil /i MimeClient.dll.
- Enter gacutil /i FileUpEEProgress.dll.
- Open the file machine.config
(in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\CONFIG).
- 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"/>
<add assembly="FileUpEEProgress, Version=x.x.x.x,
Culture=neutral, PublicKeyToken=f593502af6ee46ae"/>
- Add the following line to the httpHandlers node of machine.config:
<add verb="GET,HEAD,POST" path="*.uplx" type="System.Web.UI.PageHandlerFactory" />
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:
- Open a command prompt window and move to the directory FileUpEE\DotNet.
For
example, enter cd Program Files\SoftArtisans\FileUpEE\DotNet.
- Enter regsvr32 FileUpEE.dll. A dialog box will inform you that
FileUpEE.dll registered successfully; click Ok.
- Enter regsvr32 MimeClient.dll. A dialog box will inform you that
MimeClient.dll registered successfully; click Ok.
- Enter regsvr32 FileUpEEProgress.dll. A dialog box will inform you that
MimeClient.dll registered successfully; click Ok.
- 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:
- 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. |
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:
- Open a command prompt window and move to the directory FileUpEE\DotNet.
- Enter gacutil /i FileUpEeModule.dll.
- Open the file machine.config
(in [Windows directory]\Microsoft.NET\Framework\[.NET version directory]\CONFIG).
- 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:
- 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.
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:
- 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.
|
- Select the Internet Information Services tab.
- From the Master Properties drop-down list, select WWW Service, and
click Edit.
- Select the ISAPI Filters tab.
- Click Add.
- In the Filter Properties dialog box, enter the filter name
FileUpEE, browse to FileUpEEIsapi.dll, and click Ok.
- 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:
- In IIS, right-click the web site, and open Properties.
- Select the Service tab.
- 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
- Open IIS, right-click the Default web Site, and select Properties.
- Select the Home Directory tab.
- Click Configuration.
- Select the App Mappings tab.
- Click Add.
- Browse to aspnet_isapi.dll (typically in
[Windows directory]\Microsoft.NET\Framework\[.NET version directory]\).
- In the Extension field, enter uplx.
- Select All Verbs.
- Check Script Engine, and click Ok.
OR
Add .uplx to the Application's App Mappings
- Open IIS, right-click your application's virtual directory, and select Properties.
- Select the Virtual Directory tab.
- Click Configuration.
- Select the App Mappings tab.
- Click Add.
- Browse to aspnet_isapi.dll (typically in
[Windows directory]\Microsoft.NET\Framework\[.NET version directory]\).
- In the Extension field, enter uplx.
- Select All Verbs.
- 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:
- Open the Start menu, and select Run.
- Enter regedit and click Ok.
- Open HKEY_LOCAL_MACHINE\SOFTWARE\SoftArtisans\FileUpEe\Parameters.
- Right-click FileUpEETempDir and select Modify.
- 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:
- Go to C:\WINNT\system32.
- Right click within the system32 directory and
select New -> Text Document.
- Name the file fileupee.udl.
- Double-click fileupee.udl to open it.
- Select the Provider tab.
- Select Microsoft Jet 4.0 OLE DB Provider, and click Next.
- Browse to FileUpEEWS.mdb if you are at the web server, or
FileUpEEFS.mdb if you are at the file server.
- 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.