Hi
I am a developer at Genie9. recently we have release GenieTimeline 2012 which use CodeJock's SkinFramework version (15.2.1).
We received issues from our customers stating that the application's UI was not showing. After some investigation we discovered that in the Windows Event Viewer there were several crash reports indicating that our main application (GenieTimeline.exe) has crashed and the faulting module was (WRusr.dll).
Further investigation revealed that the dll is part of an Anti-Virus software called WebRoot and when debugging our application we discovered that XTPSkinFramework was crashing..
The crash occurs in "XTPSkinManagerApiHook.cpp" on line 517 ::VirtualProtect(mbi.BaseAddress, mbi.RegionSize, mbi.Protect, &dwOldProtect);
We think that WebRoot is using CodeJock's SkinFramework and in some way its conflicting with our product. calling XTPSkinManager()->ExcludeModule(_T("WRusr.dll")); does solve the problem, however, we aren't sure if there are other DLL's that might cause the same problem.
Currently this is the code we are using to initialize and load our skin:
DWORD dwOptions = XTPSkinManager()->GetApplyOptions(); dwOptions &=~xtpSkinApplyMenus; dwOptions &=~xtpSkinApplyMetrics; XTPSkinManager()->ExcludeModule(_T("WRusr.dll")); <-- Added to resolve the issue temporarily XTPSkinManager()->SetApplyOptions(dwOptions); XTPSkinManager()->SetAutoApplyNewWindows(FALSE); XTPSkinManager()->LoadSkin(stStylePath, _T("GenieBlackNoTitle.ini")); <-- This is where its crashing XTPSkinManager()->SetAutoApplyNewWindows(TRUE);
The skin is loaded in the application main dialog constructor.
Where stStylePath is the path of our skin. we are not sure why SkinFramework is trying to ApiHook from different dlls and projects. And its not feasible to call ExcludeModule whenever a problem with a cretain DLL arise.
We would like to know if there is an optimal solution for this. Something that can enable XTPSkinManager to work only within our product environment and not try to hook to other Dlls.
The case is very common and any one can try it by installing Genie Timeline 2012 from http://www.genie9.com/business/Genie_Timeline_Pro/download.aspx - here . And installing WebRoot SecureAnywhere from http://www.webroot.com/customerSupport/trialRegistration.php?trpd=WSAC&loc=USA - here
Regards
------------- Product: Xtreme Skin Framework 2011 (15.2.1)
Platform: Windows 7 (64bit)
Language: VC++ (Visual Studio 2010 SP1)
|