/// <summary>
        /// Handler for the install button click event.  It installs the selected
        /// haks in the selected modules.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void PerformInstall(HakInfo[] hifs, string[] modules)
        {
            try
            {
                // Before starting check for hif conflicts and ask the user if they really want to
                // continue.
                if (CheckForHifConflicts(hifs, modules)) return;

                // Create a progress control,
                InstallProgressForm progress = new InstallProgressForm();
                ThreadPool.QueueUserWorkItem(new WaitCallback(DoHakInstall),
                    new InstallInfo(hifs, modules, progress));
                progress.ShowDialog(this);
            }
            finally
            {
            }
        }
            /// <summary>
            /// Class constructor
            /// </summary>
            /// <param name="hifs">The list of haks to add</param>
            /// <param name="modules">The list of modules to add haks to</param>
            /// <param name="progress">The object used to show progress</param>
            public InstallInfo(HakInfo[] hifs, string[]modules, 
				InstallProgressForm progress)
            {
                this.hifs = hifs;
                this.modules = modules;
                this.progress = progress;
            }