uxtheme.dll substitute A potentially useful extension from the vineyard
#1
Posted 03 August 2012 - 02:19 AM
http://kzar.co.uk/bl...on-windows-2000
This is also a potentially useful approach to filling other holes in W98's set of DLL's.
Joe.
#2
Posted 03 August 2012 - 04:17 AM
Tapping into the on-going Wine development will be key to playing catch-up to new MS API's.
ReactOS has a later Win32 build of uxtheme.dll that is probably also based on the Wine sources, but it has heavy dependencies on newer system API's as well. Other versions of uxtheme.dll that I've found are only stubs or very limited implementations.
For DLL's that don't exist in 9x, we should be able to build with Mingw compatible versions from the latest Wine sources using the instructions in your linked article.
For DLL's that do, we can build full or partial (just the needed API's) DLL's and modify in core.ini the KernelEx compatibility modes to invoke them as needed. This would require some extra (Kext) code in each DLL, or the use of Kexstubs API forwarding. For non-KernelEx users, RLoew's API hook tool could be used instead.
#3
Posted 03 August 2012 - 09:40 AM
jumper, on 03 August 2012 - 04:17 AM, said:
My API Hook Tool DLLHOOK has been updated to support KernelEx 4.5.2. I have been developing a KernelEx specific addon called KEXEX that contains a DLL with functions I have implemented and an .INI File with redirects for these functions and numerous others that have to be forwarded to new names and/or Modules.
#5
Posted 03 August 2012 - 10:49 AM
#6
Posted 03 August 2012 - 09:40 PM
For weeks I've been researching projects that might be helpful in extending KernelEx once API forwarding was functional. Until last night I hadn't really focused on Uxtheme, however. Here are some options:
Uxtheme.dll support Project Date Size API count ----------------------- --------------- ------- --------- KernelEx 4.52 11/14/2011 5K 48 BWC KB935839-v15y 3/17/2012 16K 48 BlackWingCat kdw096m 2/10/2012 17K 48 OldCigarette W2KXPAPI 2/27/2011 44K 18 win2000-uxthemedll/Wine 10/06/2010 337K 52 ReactOS LiveCD 2/05/2012 232K 53
Quotes from "Windows NT4/2000/2003 > PE Tool for creating patches" posts:
- Uxtheme without Critical Section (Ctx) support causes problems in .NET apps:
tomasz86, on 14 May 2012 - 04:23 PM, said:
ActivateActCtx CheckRemoteDebuggerPresent CreateActCtxA CreateActCtxW DeactivateActCtx GetGeoInfoA GetGeoInfoW GetUserGeoID ReleaseActCtx WTSGetActiveConsoleSessionId
Would it be difficult to add them in the future version, especially the ones which have sth to do with ActCtx, i.e. ActivateActCtx, CreateActCtxA, CreateActCtxW, DeactivateActCtx & ReleaseActCtx? They help fix a lot of dependencies and also make it possible to use uxtheme.dll directly from %systemroot%\system32. Without these dependencies there are problems with .NET Framework (when uxtheme.dll is present in the system, that is).
Uxtheme causes .NET problems on Win2K:
tomasz86, on 27 October 2011 - 01:36 PM, said:
Uxtheme.dll seems to cause problems with .NET Framework based applications. I tried both versions - one from OldCigarette and the other one from BlackWingCat but unfortunately it's always the same. There's an error when trying to launch .NET based programs.
#7
Posted 06 August 2012 - 03:54 AM
jumper, on 03 August 2012 - 09:40 PM, said:
- Uxtheme without Critical Section (Ctx) support causes problems in .NET apps:
tomasz86, on 14 May 2012 - 04:23 PM, said:
ActivateActCtx CheckRemoteDebuggerPresent CreateActCtxA CreateActCtxW DeactivateActCtx GetGeoInfoA GetGeoInfoW GetUserGeoID ReleaseActCtx WTSGetActiveConsoleSessionId
Would it be difficult to add them in the future version, especially the ones which have sth to do with ActCtx, i.e. ActivateActCtx, CreateActCtxA, CreateActCtxW, DeactivateActCtx & ReleaseActCtx? They help fix a lot of dependencies and also make it possible to use uxtheme.dll directly from %systemroot%\system32. Without these dependencies there are problems with .NET Framework (when uxtheme.dll is present in the system, that is).
Uxtheme causes .NET problems on Win2K:
tomasz86, on 27 October 2011 - 01:36 PM, said:
Uxtheme.dll seems to cause problems with .NET Framework based applications. I tried both versions - one from OldCigarette and the other one from BlackWingCat but unfortunately it's always the same. There's an error when trying to launch .NET based programs.
Yeah, I saw some of these issues mentioned in regards the alternative 'uxtheme.dll' files from some of the unofficial W2000 updates, which is why I looked further afield.
The only dotNet application I use (that I'm aware of) is the command line "odfconverter" utility. This seems to be functioning normally after installing the Wine-derived 'uxtheme.dll' file (and 'libwine.dll') in the 'system' directory. Also, the "netfx_setupverifier" utility says my dotNet (2.0) installation is still OK.
Joe.
This post has been edited by jds: 06 August 2012 - 03:57 AM
#8
Posted 06 August 2012 - 04:36 AM
jumper, on 03 August 2012 - 09:40 PM, said:
So I take it you'd like to implement full XP theming support in 98/ME but I personally think there is no point to it since it's not something that's going to make more recent programs run on our systems.
#9
Posted 06 August 2012 - 04:52 AM
jds, on 06 August 2012 - 03:54 AM, said:
Well that's not surprising since that application is not dependent on uxtheme.dll...
Btw guys, it's possible to run quite a few dotnet 3.0/3.5 applications by getting the missing assemblies they may depend on from dotnet 3.5 installer and putting them in the system dir or the application folder. Remotesoft .NET Explorer is a good free tool for identifying missing .net dependencies. The WPF files won't work but often it's only just system.core.dll that's missing and this one runs just fine. I have tried hard to get some net 4.0 apps to run but to no avail even the simplest ones.
#10
Posted 06 August 2012 - 05:06 AM
#11
Posted 09 August 2012 - 03:13 AM
loblo, on 06 August 2012 - 04:52 AM, said:
Hey, that's great news, loblo.
Are you able to give a little more details on the process?
Joe.
#12
Posted 11 August 2012 - 12:26 PM
jds, on 09 August 2012 - 03:13 AM, said:
loblo, on 06 August 2012 - 04:52 AM, said:
Hey, that's great news, loblo.
Are you able to give a little more details on the process?
Joe.
I am not sure what more details I can give about that however I can say that the difficulty lies in determining whether a dotnet app which doesn't start has missing dependencies and which ones as the usual tool, dependency walker isn't useful and that's why I mentioned the Remotesoft .NET Explorer (which runs as a standalone program) as it allows to determine that, although not as straightforwardly as dependency walker does for non dotnet apps.
#13
Posted 20 August 2012 - 08:14 AM
loblo, on 11 August 2012 - 12:26 PM, said:
Well, I started looking at this by extracting the dotNet 3 installer contents with 7-Zip. That resulted in a reasonably large bunch of files to sift through. So I deleted all the localized versions of the various files, which was about half of them, then all the files that had "setup" in their name or within their Version information, similarly any download related files, then anything else that didn't look useful. In the end, I had no files left.
So it's not clear to me at all where are these "missing assemblies" that you mention within the dotNet 3 installer. If it's a file called 'system.core.dll', well this wasn't present in the stuff extracted by 7-Zip. BTW, I also don't know what is a "WPF" file, I presume it's not a Wordperfect Form?
I don't think I would be alone in needing an extra little clue or two to get started with this dotNet 3.X stuff.
TIA,
Joe.
This post has been edited by jds: 20 August 2012 - 08:15 AM
#14
Posted 20 August 2012 - 09:33 AM
I think you should have a look at the OnePiece's .NET 3.5 SP1 True Addon. It uses an INF file to install so it's much better to analyse and modify then the official MSI installer.
#15
Posted 20 August 2012 - 11:48 AM
As for system.core.dll it's a dotnet 3.5 file and you can find it at the following location (navigating the installer with 7-Zip):
dotnetfx35SP1.exe\wcu\.\.\.\.\.\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe\vs_setup.cab\FL_System_Core_dll_Gac_24763_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
This post has been edited by loblo: 20 August 2012 - 11:49 AM
#16
Posted 20 August 2012 - 08:37 PM
tomasz86, on 20 August 2012 - 09:33 AM, said:
I think you should have a look at the OnePiece's .NET 3.5 SP1 True Addon. It uses an INF file to install so it's much better to analyse and modify then the official MSI installer.
Thanks, Tomas, I'll check that out (just downloading now)
loblo, on 20 August 2012 - 11:48 AM, said:
As for system.core.dll it's a dotnet 3.5 file and you can find it at the following location (navigating the installer with 7-Zip):
dotnetfx35SP1.exe\wcu\.\.\.\.\.\dotNetFramework\dotNetFX35\x86\netfx35_x86.exe\vs_setup.cab\FL_System_Core_dll_Gac_24763_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
Thanks for the extra details, loblo.
I did google WPF, and the half dozen hits I opened all said about that Wordperfect stuff. That's why I asked.
As for the two dotNet installers I have, "dotnetfx3setup.exe" and "dotnetfx35setup.exe", neither of them have a "wcu" directory, etc. Hence my confusion. I'll download "dotnetfx35SP1.exe" and check it out.
Thanks again, guys.
Joe.
PS. I've now downloaded 3.5SP1 from MS under the file name "dotnetfx35.exe". It's huge, about 10 times bigger than the 2.0 framework, and almost 100 times bigger than the two 3.0 and 3.5 installer packages I'd previously downloaded. In retrospect, it's now obvious that the files I had previously downloaded from MS were just downloaders, not the real dotNet packages.
This post has been edited by jds: 20 August 2012 - 09:42 PM



Help

Back to top









