 TaskZip
1999, 2000 Pierce Business Systems
http://www.pb-sys.com

Table of Contents

Introduction Requirements Installation Running the Application Using TaskZip • System Tray • Scheduled Backup Jobs, Dialog • Preferences, Dialog Backup Job Definition Wizard • General • Scheduling • One Shot Scheduling • File Selection • Pick File Dialog • Exclusions • Compression	Programmer Notes • Suggestions and Bugs • Source Code • TZP Files • Info-Zip Compression Engine License Agreement • Grant of License • Disclaimer of Warranty • Scope of Grant • Copyright • Maintenance • Distribution Disclaimer of Warranty


Introduction

Backing up files, like checking for computer viruses is a task that every personal computer owner should routinely perform, but often neglect until it is too late.  Every computer should have an automated backup system that is easy to use…and yet they do not.  Windows ships with the Microsoft backup program.  It has a nice interface, but is not widely used for one primary reason: it cannot be scheduled nor can command line parameters be passed in from a scheduling agent.

TaskZip is a system agent that will automatically archive specified files and folders into a single zip file (pkzip compatible format).  You can backup across a network, from computer to computer, or even to a zip or jaz drive (note that disk spanning not supported at this time).  You can create and schedule an unlimited number of backup jobs, each containing as many folders or files as you want (up to 2GB).  TaskZip has a simple, step-by-step wizard to guide you through selecting files/folders, backup locations, and backup scheduling. The program's scheduler can run backups at any time, and you can set recurring schedules for running daily, weekly, or monthly backups. For each backup job, you can even maintain up to 99 older (grandfathered) backup copies of each zip archive file.

You can password protect the zip file archives. When data loss occurs, you can highlight a backup job and with the click of a button, bring up your default windows zip shell (Winzip, Enzip, Freezip, etc.) to restore the corrupt files.  You can also forego compression and just backup files and folders directly.

This help file is arranged in an easy to follow layout that follows the application’s features.  To minimize the download size, screenshot gifs are used sparingly and where appropriate.


Requirements

TaskZip requires the following:

•  Windows 95/98/NT4/2000 – Windows ME is unknown at this time)

•  Should have at least 16MB of RAM, but can get by with less

•  Should have a Pentium or better

•  For restoring parts of a backed up zip file, you should have one of the following zip shells, or equivalent:

(1)  Winzip	http://www.winzip.com
(2)  EnZip	http://www.cpam.freeserve.co.uk/
(3)  Freezip	http://www.ozemail.com.au/~nulifetv/freezip/
(4)  Power Archiver	http://www.powerarchiver.com
(5)  Zip Central	http://members.xoom.com/zipcentral


Installation

This application uses a common setup engine to install the following files:
•  TaskZip.exe
•  Zip32.dll
•  TaskZip_Help.hlp
•  Some supporting text files.

The setup utility will build a program group off of your Start button, and place a shortcut in your startup group so that every time your system is re-booted, TaskZip is set to automatically run and maintain backups.  The setup utility will build an uninstall program as a physical file (unwise.exe) in the target application directory (or you can use the control panel Add/Remove Programs dialog).  Kudos to the freeware Zip32.dll file by the Info-Zip group – modified by John Reilly (simpler sibling engine to the dll that Winzip and Dynazip use -- http://www.cdrom.com/pub/infozip/).


Running the Application

TaskZip will automatically setup a shortcut in your startup folder so that every time you reboot, TaskZip will be automatically run.  A reboot is forced once installation is complete, so TaskZip will automatically run. If you have shutdown TaskZip, you can always go to the Start | Programs | TaskZip folder to select and run TaskZip manually.


System Tray

When you first run TaskZip, it will silently popup in the system tray near the system clock at the lower right corner of your screen as show below.  The TaskZip setup will automatically build a shortcut to your Startup folder.

If you want to turn off the automatic startup feature, go to the File | Preferences dialog box and select “No” from the drop down box for the item “Run TaskZip in System Tray (True for Auto Scheduled Backups).”  You will have to exit and re-start TaskZip for the change to take place.


Scheduled Backup Jobs, Dialog

When you first run TaskZip, it has no backup jobs defined.  You will need to define backup jobs to execute.  By clicking the TaskZip icon in the system tray (Figure 1 above), a popup menu will appear.  You can either select “Exit TaskZip” to shut the application down, or “Schedule Backup Jobs” to bring up the Scheduled Backup Jobs dialog box.  Select the latter:

Here is what the dialog box looks like:

During the initial run, the table is empty because no jobs have been created.   The toolbar buttons have the following functionality on Backup Jobs (Add, Remove, Open, Copy, Run, View):

•   New Backup Job:  Add a new backup job for TaskZip to process.  The number of backup jobs you can add is limited only by the size of your harddrive (how many .tzp files you can store).

•   Remove Backup Job:  Will remove the currently highlighted backup jobs.  You will be prompted to confirm the deletion you are about to make.

•   Open Backup Job:  Will open an existing backup job whose properties you can alter.

•   Copy Backup Job:  Will copy the highlighted backup job to a new backup job prefixed with “Copy Of ”.  It will then open up the new “Copy Of “ backup job for editing.

•   Suspend Backup Job:  Will suspend automatic execution of a backup job until it is un-suspended.  Note that you can still manually run the backup thereby overriding the suspension.  The button is a toggle, so click it once to set, and another time to clear the suspension assignment.

•   Run Backup Job Now:  Will execute the backup job that is currently highlighted.  Will not alter the date of last run, or date of next run field values.

•   View Backup Job:  Will load the currently highlighted backup job into your default windows zip compression utility (e.g.: WinZip).  If you do not have a zip utility installed, try the freeware product “FreeZip” located at the url listed in the Requirements section; or if you can spend a little money use the best of the best – Winzip.

The File menu bar has the following functions:

•   Close:  Will close the Scheduled Backup Jobs Dialog, leaving the tray icon running.  Note: to close the tray icon, right click it, and select Exit TaskZip from the popup menu.

The Action menu bar has all the functions available in the toolbar above, plus the following functions:

•   View Transaction Log File: Will load the transaction log into Notepad.exe.  The transaction log lists every folder or file that is copied (can be multiple folders or files inside every backup job).  Any failures encountered during the archival process will be noted directly after the file or folder that failed in this log.

•   View Error Log File: Will load the error log into Notepad.exe.  The error log differs from the transaction log in that it contains only errors, and it includes very detailed error diagnostics including the error number and description, the module and function in which the error occurred, etc.

The Help menu bar contains several functions to assist users:

•   Contents:  Will load this HTML help file for you to peruse.

•   License Agreement, Message Box: Will popup a message box indicating that this product is freeware and can be freely distributed.

•   TaskZip Homepage: Will load your default browser and set the url to TaskZip’s homepage.  You can download TaskZip, download other freeware/shareware, look at the download/VB/Access links, etc. from this website.

•   About:  Will popup the About dialog box indicating version and build number, copyright information, license information, etc.

The list view box at the lower half of the screen lists every backup job you have built.  (Note that these backup jobs are each saved as a .tzp file in the “BackupJobs” subdirectory off of your TaskZip application directory.)  The fields or columns in the list view are as follows:

•   Backup Job, Type Icon: The first element on the far left of the list view is an icon.  There are two possible icons that can be displayed (as shown above in figure 2).  One icon represents a backup job using zip compression to squeeze all of the selected files and folders down into a single zip file.  The other icon represents a backup job using no compression, just performing a straight file copy of the files and folders selected.

•   Job ID:  This is the automatically assigned backup job ID number.

•   Backup Job, Name: This is the name of the backup job you assigned when you built the job (step 1).

•   Last Run Date: This is the date in which the backup job was last run (if never, then defaults to today).

•   Time Last Run: This is the time on which the backup job was last run.

•   Next Run Date: This is the date that the backup job is next scheduled to run based upon the days of week, frequency, day of month, etc.

•   Start Time: This is the time of day that the backup job is scheduled to run.

•   Size: This is the size of the most recent backup for either the zip file (compression backups) or the folder size (non-compression backups).

•   Status: This is the status flag field.  Codes are D, W, M, S, R, or #.  They stand for 'D'aily, 'W'eekly, 'M'onthly, 'S'uspended, 'R'unning, or # for invalid jobs.

•   Runs: This is the total number of times the backup job has been run.  It increments by one.

•   Type: This is the job type column.  Values include: "Zip", "Rebuild", "Update", or "Freshen".  Zip is for compression backups, the other three are for non-compression backups.


Backup Job Definition Wizard, General

The Backup Job Definition Wizard’s Step 1 – General Information dialog:

The following options are available on this dialog step:

•   Job Name: This text box enables you to name your backup job.  You can use any alpha or numeric characters for the backup job name.  Be forewarned that the output zip filename is derived from a condensed (spaces removed) and scrubbed (symbols removed) version of the name you enter here.  Therefore, it is not suggested, but you can use hyphens, tildes, and other symbols in the name.  You can also exceed 8 characters for a name.  However, if TaskZip is having any problems saving or opening .tzp files, then I would urge you to try the following naming convention modifications:

1)  Limit to 8 characters if using Novell.
2)  Remove the following (and similar) characters: `~!@#$%^&*()_+=-:;’”/?.>,<.
3)  Be sure that the name is unique from other backup jobs (esp. after strip and scrub).
4)  Be sure not to start backup job names with a number.

Also note that when zip files store the source path information, they do not save the drive letter.  This is important when you go to restore archived files en masse after a hard drive crash, and you have hundreds of paths.  If you can not easily distinguish which folders go on which drive, then you are better off creating separate backup jobs for the separate drives.

•   Target Directory: This text box enables you to specify where you want the output (zip file or standard folder of files) to be placed.  Use the browse button on the right of the text box to quickly pick a path.  This text box and accompanying browse button are used to specify the target directory into which the recurring zip file backup will be placed.  If compression is not selected, then this is the target directory into which all of the source files will be copied.  The name of the zip file placed into this directory will be scrubbed (of symbols) and stripped (of spaces) version of the backup job name entered above.

Note that there are web vendors on the internet (such as http://www.xdrive.com) that provide free hard drive space accessible through the web (ftp).  As long as you can go into Windows Explorer (not IE) and map a drive to that ftp location (typically using downloaded client-side software from the web vendor), then you can assign the target directory to that remote drive, and save your files offsite.  Now, I have not done this, however, it is theoretically possible.  It is also the work-around until I get a chance to “wire-in” some ftp functionality.

•   Backup Type: Select the type of backup job this will be: Full Backup or Incremental Backup:

•   Full Backup: will archive every file in the backup set. Typically, you should just use the default Full Backup option.

•   Incremental Backup: will only backup files whose date/time has changed since the date of last backup.  Numerous users requested that we add an Incremental Backup feature to reduce network traffic and storage requirements on really large backup sets; so we built the feature.  John Reilly did the work for non-compression backups so that the incremental backup is based off of the archive bit.  However, zip backups are NOT based off of the archive bit flag, but rather off of the file date time.

To build an incremental backup set, follow these steps:

1.	Create a Full Backup Job that is scheduled to run Weekly or Monthly that will archive all files. (Suggest make this Full Backup Sunday for Weekly backups, or the 1st for monthly backups).

2.	Create a complimentary Incremental Backup Job (same files archived) that is scheduled to run Daily.

3.	Schedule the Time of the Incremental Backup for late in the day.

•   Total Runs: This field indicates the total number of times the backup job has been executed.  Note the button to reset (or clear) the count.


Backup Job Definition Wizard, Scheduling

The Backup Job Definition Wizard’s Step 2 – Scheduling dialog:

This dialog will prompt you for scheduling information.  The fields are as follows:

•   Start Time: This is the time of day that you want the backup job to occur on.  The proper entry format is “hour : minute” in military time “14:00”.  AM, and PM designations are not allowed.

•   Frequency: This is the rate at which the backup job will be repeated: daily, weekly, or monthly.  Daily only allows the time field to be filled out.  Weekly allows you to check the days of the week on which to run the backup every week.  Monthly will produce a drop-down box containing the 1st – 28th day of the month on which backup jobs can be repeated.

•   Monday-Sunday Checkboxes: These checkboxes represent what day(s) of the week you want the backup job to recur on. For a frequency of weekly, the default value is only Sunday checked.   Note that these checkboxes are not visible if a frequency of “monthly” is selected.

•   Day of Month: If the frequency is set to monthly, then this drop down box will be visible.  It prompts you for the one day of the month on which you want the backup job to occur.  You are limited to days 1 –28 (I took the coding shortcut to prevent special code for handling the variations in month length—28 for February, and 30 or 31 for other months).

•   One Shot, Listbox: This listbox contains every special, one time, backups that you have built.

•   One Shot, Button: This button will popup the One Shot dialog for you to


Backup Job Definition Wizard, One Shot Scheduling

The ”One Shot, Scheduling“ dialog is accessible from the Backup Job Definition Wizard’s Step 2 – Scheduling dialog and looks like this:

•   Select Date/Time: The date and time controls for Month (MM), Day (DD), Year (YYYY), and time (HH:MM military 00:00-23:59) are listed in the upper left.  (Note that there was a nicer calendar control in place here, however that required an extra activeX control in the setup, so the feature was dropped in keeping with the theme of simplicity.

•   One Shot, Add: After filling out the date and time to the left via spinner controls, press this button to add the one-time scheduled event to the listbox below.

•   One Shot, Delete: Highlight the scheduled item you wish to delete in the listbox, then press the Delete button permanently remove the event.

•   One Shot, Clear: Press this button to clear the listbox of all One Shot scheduled events.


Backup Job Definition Wizard, File Selection

The Backup Job Definition Wizard’s Step 3 – File Selection dialog:

•   Add: This button will popup a dialog box in which you can select multiple files or build a wildcard spec to backup.

•   Remove:  This button will delete the currently highlighted files/wildcard specs in the File Specifications listbox to the left of the button.

•   Include Subdirectories: When checked, this checkbox forces all subdirectories below the selected directory to also be backed up.  This is a very important item.

•   Drag-n-Drop: Click this button to popup Windows Explorer. Drag and drop multiple files and folders from Explorer directly into the Source Files / Folders listbox to speed up your file selection process.


Backup Job Definition Wizard, Pick File Dialog

The Backup Job Definition Wizard’s Pick File dialog popup:

This dialog has three primary areas: Folder Selection, Specific File Selection, and Wildcard Specification.

•   Pick Folder: Use the browse button (open folder icon) to select a folder in which the source files exist.

•   Specific File: Check this option button to enable specific file selection.  You can either select a single file, or depress and hold the shift-key to multi-select a range of files, or depress and hold the ctrl-key to multi-select a disjoined set of files.

•   Wildcard Specifications: Check this option button to enable the choices below for specifying wildcard extensions.  The three options enabled for wildcard specifications include: All Files, Common Extensions, and Custom Spec.

•   All Files: Check this option button to backup every file in the directory selected above.

•   Common Extensions: Check this option button to enable a dropdown of common extensions.  Backups will include all files from the folder specified above that match the selected extension type.

•   Custom Spec: Check this option button to specify your own extension or file type to backup.


Backup Job Definition Wizard, Exclusions

The Backup Job Definition Wizard’s Step 4 – Exclusions dialog:

Use this step in the Job Definition Wizard to add wildcard exclusions.  Entries here will offset against entries in the previous Source Files step.  For example, if you entered a wildcard spec of “*.*” at the Pick File dialog, then an entry of “*.gif” here would exclude all gif files from the backup set.

•   Exclusions, Add: This button will popup a dialog box in which you can select multiple files or build a wildcard spec to backup.

•   Exclusions, Remove: This button will delete the currently highlighted files/wildcard specs in the File Specifications listbox to the left of the button.


Backup Job Definition Wizard, Compression

The Backup Job Definition Wizard’s Step 5 – Compression dialog:

•   No Compression: When checked, all source files and folders are copied directly (mirrored) to the target directory as is (no compression). There are reasons why you may not want to compress:

1)	Copy files directly to be picked up by some polling agent

2)	Copy zip files from one archive to a second tier archive

3)	Copy files directly to a zip drive or CD-ROM burner where re-naming the temporary zip file is illegal

4)	Other

•   Zip Compression: Zip Compression is the default selected.  When checked, all source files and folders are compressed into a single .zip file and stored in the target directory under the name of the backup job. Typically users will want to compress the backup output to save space, keep archives organized, etc.

•   Rebuild: Used on non-compression backups only.  Completely rebuild the whole directory structure.  This is the default for new jobs which matches the previous style of backup.

•   Update: Used on non-compression backups only.  Copy newer files over existing ones, and any files not backed up.

•   Freshen: Used on non-compression backups only.  Copy only newer files that already exist in the backup.

•   Keep up to N Copies/Days/Weeks/Months: This option is only available if the Compress Data checkbox is checked.  It allows for between 1 to 12 copies of previous zip file backups to be retained and stamped with the suffix “_n” before the “.zip”.  There are two different formats for _n: for Copies n is the number 1 to 99, and for Days, Weeks, and Months, _n is the date of that backup.  These copies give you additional safety in cases where you are unaware of a file corruption and you need to restore it after several “bad” backups have been made (just go back several versions and restore from an old backup).

•   Password Protect: This option is only available if the Compress Data checkbox is checked.  It enables a zip archive to have all files password protected.  Users can still open the zip file in their favorite zip shell (e.g. Winzip); however, they must enter the correct password to access the files.


Preferences, Dialog

The TaskZip preferences dialog:

TaskZip has the ability to store a user’s preferences.  These preferences are saved into an INI-format file called ‘TaskZip.txt’ which is stored in the application directory.  Currently there are two preference settings that are saved:

•   Preferences, Maximum Number Backup Copies: You can select a numeric value from 1-99 from this drop-down box.  The value you select will be the default range automatically placed into the Backup Job Definition Wizard’s ‘Number Backup Copies’ drop down.

•   Preferences, Stop Auto Backups On Error: Occasionally, users will encounter situations where backup errors occur (user’s machine is turned off for the night accidentally, machine name changed, etc.).  When these errors occur, you have one of two options: silently log the error and proceed on, or log the error and popup a message box, halting further processing until an operator confirms the error message (clicks Ok).  Selecting ‘No’ at this drop-down on the dialog below will silently log the error; whereas selecting ‘Yes’ will halt other backup jobs until you confirm.

•   Preferences, Run In System Tray: This is defaulted to yes so that TaskZip runs automatically at bootup.  By setting this preference to No, TaskZip will run like a standard application, opening and closing without the tray icon in use.  Note that you can manually remove the shortcut in the Windows Startup Folder.

•   Preferences, Transaction Logging Mode: Transaction Logging translates to writing out to a text file log all backup jobs as they are run, plus a list of zip- or copy-related system errors.  There are four different Transaction Logging Modes:

1)	Logging, Detailed  -  Everything possible is logged

2)	Logging, Standard  -  Intermediate level of detail

3)	Logging, Minimal  -  Only header information showing which jobs ran

4)	Logging, Errors Only  -  Only errors are always logged

•   Preferences, Manual Comment Mode: Manual comments are entered into the Transaction Log when backup jobs are manually run – the user is prompted.  The comments appear after the backup job name header in the log file.  There are three commenting modes available:

1)	Comments, Never  - You are never prompted for comments.

2)	Comments, Always  - You are always prompted for comments.

3)	Comments, Job Defined  - You are prompted for comments depending on backup job settings.

•   Preferences, Log Viewer Executable: You can specify the file and path to the executable you want to use to view transaction and error logs.  The default is “notepad.exe”

•   Preferences, View Columns: You can specify which fields to display as columns in the main Scheduler form.  Simply check or uncheck the columns, and even alter the display order with the Move Up and Move Down buttons.

•   Preferences, Save Screen Size: You can save the screen size, and restore the next time you run TaskZip by setting this preference to Yes.


Suggestions and Bugs

If you encounter bugs or just have good suggestions, please email them to us.  We value all input as it will improve the product in future releases.

Our email address is:
taskzip@pb-sys.com

Our website containing additional tools is located at:
http://www.pb-sys.com/


Source Code

You can download the source code by clicking the Download Source Code button on the Help | About dialog.

There are a few stipulations that I will request in exchange for the source code:

1)	Leave the application name the same.

2)	Leave PBSystems as the author’s website (although you can add your name and website to the About box and help file).

3)	Do not charge a fee for the modified application, distribute it for free (unless there are reasonable costs associated with distributing it).


TZP Files

TaskZip stores backup job schedule information in .tzp files in a subfolder titled “BackupJobs” off of the main TaskZip folder.  These files can be opened with Notepad or any other text editor.

All fields are stored in an INI format, where every field is stored on a separate line with the field name prefix followed by an = sign.

Here is a sample file layout:

[Config]

JobName=BackThisUp

DateLastRun=Mar-01-2000 00:00

SizeLastRun=4093492

RunCount=0

StartTime=19:31

Frequency=1

DayOfWeek=254

DayOfMonth=1

Compress=True

CopyStyle=0

KeepCount=35

KeepPeriod=Copies

Password=

ParseSubDir=True

Incremental=False

Suspended=False

PreBackupCommand=

PostBackupCommand=

TargetDir=C:\Test\

[Source]

File_0=C:\WINDOWS\*.dat

[Exclude]

[OneShot]


Info-Zip Compression Engine

The zip compression engine is the zip.dll file taken from the Info-Zip Group’s webpage (http://www.cdrom.com/pub/infozip/).  These guys did a wonderful job of building a zip engine—as well as unzip engine and other components.  Using this freeware engine saved us from having to purchase a copy of Dynazip (or other VB-Addin); and you may find it handy too.  John Reilly did a wonderful job of slightly modifying the dll for TaskZip.


License Agreement
TaskZip End User License Agreement

Use of TaskZip (hereinafter 'SOFTWARE') is contingent on your agreement to the following terms:

1. Grant of License

Pierce Business Systems (hereinafter PBSys) grants you a limited non-exclusive license to use the SOFTWARE free of charge.

If you are using the SOFTWARE free of charge under the terms of this Agreement, you are not entitled to any support whatsoever; however, you can try and email us…I will most likely respond unless am too busy, or the answer is in the FAQ on the website.

2. Disclaimer of Warranty

THE SOFTWARE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, PBSYS FURTHER DISCLAIMS ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE PRODUCT AND DOCUMENTATION REMAINS WITH RECIPIENT. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL PBSYS BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, DIRECT, INDIRECT, SPECIAL, PUNITIVE, OR OTHER DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THIS AGREEMENT OR THE USE OF OR INABILITY TO USE THE PRODUCT, EVEN IF PBSYS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

3. Scope of Grant

You may not reverse engineer, de-compile or disassemble the SOFTWARE.  PBSys shall retain title and all ownership rights to the SOFTWARE.
For that software which includes the source code, this paragraph applies: you may modify the source code for yourself, your organization, or other users who would benefit by your modifications.   However, you are not permitted to distribute the modified software for profit.  The intent of this clause is to permit you to make any modifications you need to use the software; but to also preclude unethical people from slightly altering the code and then re-distributing the application as their own.

4. Copyright

This SOFTWARE is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties.

5. Maintenance

PBSys is not obligated to provide maintenance or updates for the SOFTWARE.  However, any maintenance or updates provided by PBSys shall be covered by this Agreement.

6. Distribution

The SOFTWARE may be freely distributed provided that the PBSys website links and support mail addresses remain unchanged inside the application, and provided that no fee is charged (except for any reasonable fees necessary to cover costs of distribution media).  The only exception is listed in item 3 above, or via email consent of the author (which he will grant for reasons such as localization to non-english languages, etc.)


Disclaimer of Warranty

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND WHETHER EXPRESSED OR IMPLIED.

In no event shall the author be held liable for any damages whatsoever, including without limitation, damages for loss of business profits, business interruption, loss of business information, or any other loss arising from the use or inability to use the software.