BOOL CPackage::clean()
{
	CString csPath;

	// Only delete unzip directory if is not a store action 
	if ((m_csAction != OCS_DOWNLOAD_ACTION_STORE) && !m_csPath.IsEmpty() && fileExists( m_csPath))
		directoryDelete( m_csPath);
	// Delete scheduler if needed
	deleteScheduler();
	// Delete download package directory and registry key
	csPath.Format( _T( "%s\\%s"), getDownloadFolder(), m_csID);
	return (regDeletePackageDigest() && directoryDelete( csPath));
}
BOOL COptDownloadPackage::clean(LPCTSTR lpstrID)
{
	CString csPath;

	ASSERT(lpstrID);

	// Delete tmp path folder where package was unzipped (not an eror if not existing)
	if (GetTempPath(_MAX_PATH, csPath.GetBufferSetLength(_MAX_PATH + 1)) == 0)
		return FALSE;
	csPath.ReleaseBuffer();
	csPath.AppendFormat(_T("\\%s.OCS"), lpstrID);
	directoryDelete(csPath);
	// Delete scheuler if needed
	deletePackageScheduler(lpstrID);
	// Now, really delete package directory and registry signature
	csPath.Format(_T("%s\\%s"), getDownloadFolder(), lpstrID);
	regDeletePackageDigest(lpstrID);
	return (directoryDelete(csPath));
}