OK so, I have finally installed KxStub and there is some good and bad. I'll start with the bad as it's very bad:
it seems I can't use any program requiring msvcr90.dll anymore.
When I attempt to launch any such program I get first a Microsoft Visual C++ Runtime Library popup message which says:
Program: path to whatever program dependant on msvcr90.dll
An application has made an attempt to load the C runtime library incorrectly
Please contact the application's support team for more information.
and then after I click on the OK button I get another message that says that msvcr90 can't start.
I couldn't find a single program dependant on msvcr90 that would run at all.
Examples: Audacity 2.0.3, Blender 2.49, FreeCAD, Scribus, TapinRadio
I deleted the whole block of msvcr90 entries in kxstub821.ini, thinking this was the problem but it made no difference.
And then I realized that most programs dependant on mscvr80 were also unusable, some crashing exactly like above and the others merely crashing in kernel32 on launch.
Examples: SEO Note, Seamonkey 10.0.0.4407, K-Meleon 184.108.40.206, Google Sketchup 8
After some further testing I can say that no program dependant on msvcr70, msvcr71, msvcr100 or msvcr110 appears affected.
LuxRender 0.8, 0.9 and 1.0 which rely on msvcr90 all crash but versions 1.1 and 1.2, which rely on msvcr100, run normally.I have many programs dependant on msvcr100 and they are mostly, like LuxRender develloped using the Nokia QT toolkit. I have only one program dependant on msvcr110 and that is the latest version of the fractal flame renderer Chaotica. I can run msvcr100 and 110 thanks to hexing them as explained in my little hex hacks thread, all functions not catered for by KernelEx being replaced by SetLastError as KxStub appears to crash native mscvr100.
Now for the good: if the ActCtx entries of KxStub.ini crash msvcr100 and don't appear to allow starting programs needing those functions, they have however allowed me to run VST audio plugins which I haven't otherwise been able to run.
Plugins made with the latest versions of Synthmaker which require the function FindActCtxSectionStringA can run normally with KxStub. I hadn't been able to attempt hexing of that function to SetLast Error as those plugins are UPX compressed in a special way that breaks the dll when unUPXing them. Plugins made with the latest versions of Synthedit which require all 5 ActCtx functions can be loaded and they work normally as far as DSP and host interfacing goes but unfortunately they only display a blank UI which is another story. I couldn't manage to get those plugins to run by hexing the ActCtx functions to SetLastError but the ActCtx entries of KxStub.ini do.
Now of course, I'd like to be able to run those plugins but without not being able to run msvcr80 and 90 dependant programs. I have no clue as to whether I can do something about it with the KxStub ini file?
This post has been edited by loblo: 02 February 2013 - 08:53 AM