void AdobeReaderAction::CheckPrerequirements(Action * action)
{
	_readVersionInstalled();

	if (m_version.size() > 0)
	{
		if (_isLangPackInstalled() == true)
		{
			SetStatus(AlreadyApplied);
			return;
		}

		int major = _getMajorVersion();
		if (major != 9 && major != 10)
		{
			_getStringFromResourceIDName(IDS_NOTSUPPORTEDVERSION, szCannotBeApplied);
			g_log.Log(L"AdobeReaderAction::CheckPrerequirements. Version not supported");
			SetStatus(CannotBeApplied);
			return;
		}
	}
	else
	{
		_setStatusNotInstalled();
		return;
	}
}
void OpenOfficeAction::CheckPrerequirements(Action * action)
{
	_readVersionInstalled();

	if (m_version.size() > 0)
	{
		if (_isLangPackInstalled() == true)
		{
			SetStatus(AlreadyApplied);
			return;
		}

		if (_doesDownloadExist() == false)
		{			
			_getStringFromResourceIDName(IDS_OPENOFFICEACTION_NOTSUPPORTEDVERSION, szCannotBeApplied);
			g_log.Log(L"OpenOfficeAction::CheckPrerequirements. Version not supported");
			SetStatus(CannotBeApplied);
			return;
		}
	}
	else
	{
		_setStatusNotInstalled();
		return;
	}
}
예제 #3
0
void ChromeAction::CheckPrerequirements(Action * action)
{
    bool acceptLanguagesOk, localeOk;
    wstring langcode, firstlang;

    if (_isInstalled())
    {

        _readVersion();

        acceptLanguagesOk = _chromeProfile.IsAcceptLanguagesOk();
        localeOk = _chromeProfile.IsUiLocaleOk();

        if(acceptLanguagesOk && localeOk)
        {
            SetStatus(AlreadyApplied);
        }
    } else {
        _setStatusNotInstalled();
    }
}
예제 #4
0
void MSOfficeLPIAction::CheckPrerequirements(Action * action) 
{
	if (_getVersionInstalled() == NoMSOffice)
	{
		_setStatusNotInstalled();
		return;
	}

	if (_getVersionInstalled() == MSOffice2010_64 || _getVersionInstalled() == MSOffice2013_64)
	{
		SetStatus(CannotBeApplied);
		_getStringFromResourceIDName(IDS_NOTSUPPORTEDVERSION, szCannotBeApplied);
		g_log.Log(L"MSOfficeLPIAction::CheckPrerequirements. Version not supported");
		return;
	}

	if (_isLangPackInstalled())
	{
		SetStatus(AlreadyApplied);
		return;
	}
}
bool FirefoxAction::IsNeed()
{
	bool bNeed = false;
	wstring firstlang;

	_readVersionAndLocale();

	if (_readLanguageCode())
	{
		if (m_languages.size() == 0)
		{
			if (m_locale == L"ca")
			{
				bNeed = false;
			}
			else
			{
				bNeed = true;
			}
		}
		else
		{
			_getFirstLanguage(firstlang);
			bNeed = firstlang.compare(L"ca-es") != 0 && firstlang.compare(L"ca") != 0;
		}

		if (bNeed == false)
		{
			SetStatus(AlreadyApplied);
		}
	}
	else
	{
		_setStatusNotInstalled();
	}
	
	g_log.Log(L"FirefoxAction::IsNeed returns %u (first lang:%s)", (wchar_t *) bNeed, (wchar_t *) firstlang.c_str());
	return bNeed;
}