Installs a mod as an upgrade.
An upgrade installs the mod without changing the owners of installed files and other items.
Inheritance: ModInstaller
		/// <summary>
		/// Removes the given upgrading task (the task is already in queue or running).
		/// </summary>
		/// <param name="p_tskTask">BasicInstallTask task to remove.</param>
		public void RemoveUselessTaskUpg(ModUpgrader p_tskTask)
		{
			ActivateModsMonitor.RemoveUselessTaskUpg(p_tskTask);
		}
		/// <summary>
		/// Removes the upgrading given task.
		/// </summary>
		/// <param name="p_tskTask">BasicInstallTask task to remove.</param>
		public void RemoveQueuedTaskUpg(ModUpgrader p_tskTask)
		{
			if (ActivateModsMonitor.CanRemoveQueuedUpg(p_tskTask))
				ActivateModsMonitor.RemoveQueuedTaskUpg(p_tskTask);
		}
		/// <summary>
		/// Removes the upgrading given task.
		/// </summary>
		/// <param name="p_tskTask">BasicInstallTask task to remove.</param>
		public void RemoveSelectedTaskUpg(ModUpgrader p_tskTask)
		{
			if (ActivateModsMonitor.CanRemoveSelectedUpg(p_tskTask))
			{
				if (p_tskTask.IsCompleted)
					ActivateModsMonitor.RemoveTaskUpg(p_tskTask);
				else if (p_tskTask.IsQueued)
					ActivateModsMonitor.RemoveQueuedTaskUpg(p_tskTask);
			}
		}
		/// <summary>
		/// Determines if the given upgrading <see cref="BasicInstallTask"/> selected can be removed from
		/// the monitor.
		/// </summary>
		/// <param name="p_tskTask">The task for which it is to be determined
		/// if it can be removed from the monitor.</param>
		/// <returns><c>true</c> if the p_tskTask can be removed;
		/// <c>false</c> otherwise.</returns>
		public bool CanRemoveSelectedUpg(ModUpgrader p_tskTask)
		{
			if (p_tskTask.IsQueued || p_tskTask.IsCompleted)
				return true;
			else
				return false;
		}
		/// <summary>
		/// Determines if the given upgrading <see cref="BasicInstallTask"/> queued can be removed from
		/// the monitor.
		/// </summary>
		/// <param name="p_tskTask">The task for which it is to be determined
		/// if it can be removed from the monitor.</param>
		/// <returns><c>true</c> if the p_tskTask can be removed;
		/// <c>false</c> otherwise.</returns>
		public bool CanRemoveQueuedUpg(ModUpgrader p_tskTask)
		{
			return p_tskTask.IsQueued;
		}
		/// <summary>
		/// Determines if the given <see cref="BasicInstallTask"/> can be removed from
		/// the monitor.
		/// </summary>
		/// <param name="p_tskTask">The task for which it is to be determined
		/// if it can be removed from the monitor.</param>
		/// <returns><c>true</c> if the p_tskTask can be removed;
		/// <c>false</c> otherwise.</returns>
		public bool CanRemoveUpg(ModUpgrader p_tskTask)
		{
			return p_tskTask.IsCompleted;
		}
		/// <summary>
		/// Removes a useless upgrading task (the task is already in queue or running).
		/// </summary>
		public void RemoveUselessTaskUpg(ModUpgrader p_tskTask)
		{
			m_oclTasks.Remove(p_tskTask);
		}
		/// <summary>
		/// Removes an upgrading task from the monitor.
		/// </summary>
		/// <remarks>
		/// Tasks can only be removed if they are not running.
		/// </remarks>
		/// <param name="p_tskTask">The task to remove.</param>
		public void RemoveQueuedTaskUpg(ModUpgrader p_tskTask)
		{
			m_oclTasks.Remove(p_tskTask);
		}