void Actions::_buildListOfActions() { m_actions.push_back(new WindowsLPIAction(_getNewOSVersion(), _getNewRegistry(), _getNewWin32I18N(), _getNewRunner())); m_actions.push_back(new MSOfficeLPIAction( _getNewRegistry(), _getNewRunner())); m_actions.push_back(new WindowsLiveAction( _getNewRegistry(), _getNewRunner())); m_actions.push_back(new IELPIAction(_getNewOSVersion(), _getNewRegistry(), _getNewRunner())); m_actions.push_back(new IEAcceptLanguagesAction( _getNewRegistry())); m_actions.push_back(new ConfigureLocaleAction()); m_actions.push_back(new ConfigureDefaultLanguageAction(_getNewOSVersion(), _getNewRegistry(), _getNewRunner())); m_actions.push_back(new ChromeAction( _getNewRegistry())); m_actions.push_back(new FirefoxAction( _getNewRegistry())); m_actions.push_back(new OpenOfficeAction( _getNewRegistry(), _getNewRunner())); m_actions.push_back(new AdobeReaderAction( _getNewRegistry(), _getNewRunner())); _checkPrerequirements(); }
void IELPIAction::CheckPrerequirements(Action * action) { Prerequirements pre; ActionStatus status; if (GetStatus() == CannotBeApplied) status = Selected; else status = GetStatus(); szCannotBeApplied[0] = NULL; pre = _checkPrerequirements(); if (pre != PrerequirementsOk) { switch (pre) { case UnknownIEVersion: _getStringFromResourceIDName(IDS_IELPIACTION_UNKNOWNIE, szCannotBeApplied); break; default: break; } } else if (action != NULL) { switch (_checkPrerequirementsDependand(action)) { case AppliedInWinLPI: _getStringFromResourceIDName(IDS_IELPIACTION_APPLIEDINWINLPI, szCannotBeApplied); break; case NeedsWinLPI: _getStringFromResourceIDName(IDS_IELPIACTION_IENEEDWINLPI, szCannotBeApplied); break; case NoLangPackAvailable: _getStringFromResourceIDName(IDS_IELPIACTION_NOPACKAGE, szCannotBeApplied); break; default: break; } } g_log.Log(L"IELPIAction::CheckPrerequirements: %s", wcslen(szCannotBeApplied) > 0 ? szCannotBeApplied: L"Ok"); if (wcslen(szCannotBeApplied) > 0) { status = CannotBeApplied; } else { if (_getDownloadID() != NULL) { if (_isLangPackInstalled()) { status = AlreadyApplied; } } else { status = CannotBeApplied; } } SetStatus(status); }