Index: Shared/PluginClass.cpp |
=================================================================== |
--- a/Shared/PluginClass.cpp |
+++ b/Shared/PluginClass.cpp |
@@ -278,8 +278,15 @@ |
::ZeroMemory(&si, sizeof(si)); |
si.cb = sizeof(si); |
si.wShowWindow = FALSE; |
- |
- CString cpath = _T("\"msiexec.exe\" /i \"") + strPath + _T("\" UPDATEPLUGIN=\"True\""); |
+ CString cpath; |
+ if (strPath.Find(L".exe") == strPath.GetLength() - 4) |
+ { |
+ cpath = strPath; |
+ } |
+ else |
+ { |
+ cpath = _T("\"msiexec.exe\" /i \"") + strPath + _T("\" UPDATEPLUGIN=\"True\""); |
+ } |
if (!::CreateProcess(NULL, cpath.GetBuffer(), NULL, NULL, FALSE, CREATE_BREAKAWAY_FROM_JOB, NULL, NULL, &si, &pi)) |
{ |
@@ -322,7 +329,7 @@ |
// so we should handle that it is called this way several times during a session |
STDMETHODIMP CPluginClass::SetSite(IUnknown* unknownSite) |
{ |
- |
+ |
CPluginSettings* settings = CPluginSettings::GetInstance(); |
#ifdef AVAST_ABP |
HKEY hkey; |
@@ -933,6 +940,12 @@ |
bool CPluginClass::CreateStatusBarPane() |
{ |
+ CPluginClient* client = CPluginClient::GetInstance(); |
+ |
+ if (client->GetIEVersion()< 7) |
+ |
+ return true; |
+ |
TCHAR szClassName[MAX_PATH]; |
// Get browser window and url |
@@ -2174,9 +2187,12 @@ |
{ |
CreateStatusBarPane(); |
} |
- if (!::InvalidateRect(m_hPaneWnd, NULL, FALSE)) |
+ if (m_hPaneWnd != NULL) |
{ |
- DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_INVALIDATE_STATUSBAR, "Class::Invalidate statusbar"); |
+ if (!::InvalidateRect(m_hPaneWnd, NULL, FALSE)) |
+ { |
+ DEBUG_ERROR_LOG(::GetLastError(), PLUGIN_ERROR_UI, PLUGIN_ERROR_UI_INVALIDATE_STATUSBAR, "Class::Invalidate statusbar"); |
+ } |
} |
} |