Home             Free Software             Software Support             Training             Conferences                    

  Stonebroom.ServerZip Technical Support

The product support pages contain information about the topics which arise most frequently. If you need more help or wish to report a problem with ServerZip or any of our other products please mail us directly at support@stonebroom.com. You can also use the contact details on the home page to submit comments, suggestions, or technical queries.


Using ServerZip under the .NET Framework.

The ServerZip component is not specifically designed for use under the Microsoft .NET Framework. It is a standard COM DLL, and so will require you to run any managed code application or ASP.NET page that uses it in "compatibility" mode (i.e. include AspCompat="true" in the <%@Page ... %> directive). Alternatively you can use the .NET TLBIMP utility to create a managed code wrapper for the component. However, please note that we cannot provide support for issues that arise in conjunction with using the component within a .NET application.


How to I UNZIP files using ServerZip?

The bad news is that you can't. ServerZip only includes a ZIP function, and not an UNZIP function. The reason is that unzipping files is a process more likely to cause errors or to prompt for input from the user. For example, files are encrypted, the zip file of some of the contents are damaged, the files to unzip already exist in the target folder, etc. So far we have been unable to guarantee that the compression system used by ServerZip can successfully suppress all these errors when running on a remote machine under the control of a Web server. However, progress in this area means that we are now investigating the possibilities of offering such a feature. Details of this will be posted on our Web site.


Checking the component version number.

If you are having problems with ServerZip, you should check the component version number and include this with your inquiry. The component file is stnbsz20.dll, which is installed by default in your Winnt\System32 folder. To check which version you have installed:

  • Open the Winnt\System32 folder and select the file stnbsz20.dll.
  • Right-click on it, select Properties, and open the Version page.
  • The version number is shown at the top of this page, in the format xx.xxxx

Changed features in version 2.0.

If you have used a previous version of ServerZip, you will find that the new version has some differences:

  • The class string for instantiating the component is "Stonebroom.ServerZip2".
  • To set the encryption string for a zip file use the encryptString property.
  • To hide the component's output in the page use the hideResponse property.
  • The component does not provide any 'progress' display while the zip file is being created.

Changed features in version 2.2x.

The following changes were made to ServerZip as of version 2.2x. They are designed to make it easier to get status information about the zip process and its outcome, especially when the hideResponse property is set to True.

  • The doZip method now supports two new optional parameters, ErrorNumber (Integer) and ErrorText (String) which are updated to include details of the error when the function returns. See Documentation: Compressing Files for more details.
  • A new method named getTempFilePath has been added to allow you to obtain the path of the temporary files that the component creates. See Documentation: Compressing Files for more details.

Changed features in version 2.3x.

The following change was made to ServerZip as of version 2.3x. It is designed to make it easier to control the final location of the compressed download file.

  • ServerZip2 now supports a new optional property, useUniqueFolder (Boolean) which controls if a new uniquely-named folder is created for the compressed download file. The default if not specified is True. See Documentation: Compressing Files for more details.

Changed features in version 2.4x.

The following change was made to ServerZip as of version 2.4x.

ServerZip2 now supports the use of UNC path names for the sourceFileList property, which allows the files on networked machines to be included in the zip file. For example:

sourceFileList = "\\myserver\c\docs\myfile.doc"         ' in VBScript
sourceFileList = '\\\\myserver\\c\\docs\\myfile.doc';  // in JavaScript


Getting the latest version of ServerZip.

The main ServerZip file is stnbsz20.dll, which is installed by default in your Winnt\System32 folder. The current versions of this file are 2.40 (evaluation version) and 2.41 (full version).

To check which version you have installed:

  • Open the Winnt\System32 folder and select the file stnbsz20.dll.
  • Right-click on it, select Properties, and open the Version page.
  • If the File Version entry is earlier than the current version you can:
    • Click here to download the new file, and unzip it into a temporary folder.
    • Delete the existing version of this file from your Web server's Winnt\System32 folder.
      (You may in some circumstances have to stop and restart IIS or the server itself
      to release the operating system lock on the file before you can delete it).
    • Replace it with the new version of the file.
  • NOTE: This is the evaluation version of the component. If you have purchased a full copy of ServerZip and would like to upgrade to the latest version, please send a request to us showing the name of your supplier, including your original invoice number and date of purchase.

Updated compression system file.

The compression system file has been updated to provide better performance and to solve other minor issues. The file affected is lspzipx.dll, which is installed by default in your Winnt\System32 folder. The current version of this file is 2.509.

Note that you can only use UNC path names (i.e. paths that start with \\servername) to
specify the source files if you have installed this or a higher version of the DLL.

To check which version you have installed:

  • Open the Winnt\System32 folder and select the file lspzipx.dll.
  • Right-click on it, select Properties, and open the Version page.
  • If the File Version entry is not the same as the current version you can:
    • Click here to download the new file, and unzip it into a temporary folder.
    • Delete the existing version of this file from your Web server's Winnt\System32 folder.
      (You may in some circumstances have to stop and restart IIS or the server itself
      to release the operating system lock on the file before you can delete it).
    • Replace it with the new version of the file.

The Stonebroom.ServerZip2 Start Menu is empty.

Some builds of ServerZip2 escaped from our labs with an error in the setup.lst file that causes the Stonebroom.ServerZip2 entry on the Start menu to remain empty after a successful installation. To fix this, add shortcuts to the following files to the Stonebroom.ServerZip2 folder that the setup program creates (note that you will need to change the drive letter and path if you installed the component into a different folder):

NamePath
Documentation"c:\Program Files\Stonebroom\ServerZip2\Default.htm"
License Terms"c:\Program Files\Stonebroom\ServerZip2\license.txt"
Read Me"c:\Program Files\Stonebroom\ServerZip2\readme.txt"
Security Manager     "c:\Program Files\Stonebroom\ServerZip2\SZConfig.exe"

In Windows 95/98, the Stonebroom.ServerZip2 Start menu folder is found in your Windows\Start Menu\Programs folder. In Windows NT4 it is in WinNT\Profiles\All Users\Start Menu\Programs\ and in Windows 2000 it is in Documents and Settings\All Users\Start Menu\Programs\


The 'ERROR: Nothing To Do' message.

The most common cause of this error is that ServerZip cannot find the source files that you specified in the sourceFileName property. To help you test the installation of the component and make sure it is working correctly, we have available a small demonstration file set with detailed instructions that you can use to try it out.


The 'ERROR: Cannot create unique download directory' message.

ServerZip requires appropriate disk access permissions to be able to create the download directories and zip files. If you encounter the message:

ERROR: Cannot create unique download directory

you will need to edit the Permissions list in the Properties dialog for the directory specified as the virtualTargetRoot property (using Windows NT Explorer). Give the account that will use the component Write or Full Control permission. If the component is being accessed anonymously, the account in use will be either IUSR_machinename or IWAM_machinename depending on whether you have installed the component as a Virtual Application in Internet Service Manager.


I can't replace or delete the ServerZip DLL file.

Windows NT and the Web server cache the components they use in memory, and lock them so that they cannot be moved or deleted while in use. In some cases stopping and restarting the Web server may release the component. Otherwise restarting Windows or rebooting the server will do the trick. To avoid this problem, if you are using Internet Information Server 4 or higher, you can create Virtual Applications and place all your ASP pages that use the component inside this folder. It's then possible to unload the component from memory using the Properties dialog of the Virtual Application folder in Internet Service Manager.


I'm confused about physical and virtual file paths.

The sourceFileList and fileListRoot properties of the ServerZip component are very flexible, allowing you to specify the files to be zipped or listed in different ways. The main difference is that the file path and name can be specified either as a physical or a virtual path. Physical paths are those that include a driver letter and the normal DOS-style path description, for example D:\InetPub\WWWRoot\Myfiles\Thisfile.doc. Virtual paths are those that start with a Web-style forward slash and then the name of a virtual root - plus an optional path from it to a subdirectory, for example /MyPages/Myfiles/Thisfile.doc.


Tell me more about using physical source file paths.

Physical source files give the most freedom when specifying the sourceFileList property of the ServerZip component. They can be used to specify a single file, all files (by using the wildcard character '*'), or individually by name separated by vertical bar (pipe) characters '|', for example:

  • D:\WWWRoot\Myfiles\Thisfile.doc
  • D:\WWWRoot\Myfiles\*
  • D:\WWWRoot\Myfiles\Thisfile.doc|"D:\WWWRoot\Projects\That File.xls"|D:\WWWRoot\New Files\*.*
Notice that any file path and name combination that contains a space can be enclosed in double-quotes, though this is not mandatory. You cannot mix physical and virtual file paths. For security, you can also use the supplied Security Manager utility to prevent users specifying physical paths.
Tell me more about using virtual source file paths.

Virtual source files give less freedom when specifying the sourceFileList property of the ServerZip component, but are more secure if you allow anonymous users to specify the files to be included. This also applies to the fileListRoot property. Virtual paths can only be used to specify a single file, for example:

  • /Projects/January/Thisfile.doc
Wildcards and multiple file names are not permitted. Also note that virtual paths containing spaces do not require double quotes to be used.
How do I view the documentation from a remote machine?

The documentation and sample pages for ServerZip are found in the directory where you installed ServerZip. By default this is C:\Program Files\Stonebroom\ServerZip . To make these files available through the Web server so that you can view them from another machine, you can either copy them into a directory underneath your WWWRoot directory, or create a virtual root (or Alias) that points to the ServerZip directory. Make sure that you specify 'Script Executable' permission for the directory. If you only want to view the HTML documentation pages you don't need to specify Executable permission for the directory.


I get errors when two people use the component at the same time.

The ServerZip component is only designed to carry out one zip operation at a time. If two or more users access it concurrently the last one will get an error message. To prevent this, you can attempt to queue operations by checking the zipIsBusy property before starting the zip:

'see if the component is busy or can start the zip operation
If objSZ.zipIsBusy Then
  Response.Write "Waiting to access the component ...<P>"
  Response.Flush
  'force display by the browser with two Write and Flush operations
  Response.Write ""
  Response.Flush
  'then wait for up to two minutes for the component to become available
  intWaitUntil = (Minute(Now) + 2) Mod 60
  Do While (objSZ.zipIsBusy) And (Minute(Now) <> intWaitUntil)
  Loop
End If
If objSZ.zipIsBusy Then      'still busy after 2 minutes
  Response.Write "Sorry, the component is too busy at present.<P>"
  Response.Flush
Else                         'OK to do the zip
  blnWorked = objSZ.doZip()  'call the doZip method to create the new zip file
End If

Note: The account that the component is running under must have Read/Write/Delete permission for the Temporary directory on your system for this property to work correctly. The Temporary directory is usually specified by the TMP or TEMP environment variable, and the default is usually C:\Temp or Winnt\Temp.


Runtime error 800a01ad 'ActiveX component can't create object'.

This general error message can be caused by many things. To cure it, try the following:

  • Make sure you are using Server.CreateObject() in VBScript in ASP pages. CreateObject() alone should only be used in Visual Basic.
  • If you are running the object in a separate process in IIS4, it may be that MTS has become confused and is holding an invalid object pointer. Try unloading the object using the Properties dialog of the virtual application directory. Otherwise reboot the server.
  • Alternatively, it might be that the DLL has been moved or deleted, or that for some reason the registered information is wrong. Re-register the DLL (probably in Winnt\System32) using the RegSvr32 utility:

    regsvr32 path_to_dll\stnbsz20.dll


Installation error 'A required .DLL file, MSVBVM50.DLL, was not found'.

The error message: 'Error Starting Program. Installation error A required .DLL file, MSVBVM50.DLL, was not found' may appear when running the security configuration tool if your system does not already have the required file installed. This file can be obtained from the Microsoft MSDN site at: http://support.microsoft.com/default.aspx?scid=kb;EN-US;180071 which also contains a link with instructions on how to download and install the file.

Alternatively, you can download an updated version of the security configuration tool. Click here and select Save when prompted to download the file named SZConfig.exe. Save this in the folder where you installed ServerZip (by default this is C:\Program Files\Stonebroom\ServerZip), replacing the existing copy of the file.


Finally, if you've got any suggestions - or any comments on ServerZip generally - we'd love to hear from you.

Home | Free utilities | Software support | Training | Conferences | Contact
  ©2013 Stonebroom Limited, England