KERNEL: honor additional DLL search paths under HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths

Alex Villací­s Lasso a_villacis at palosanto.com
Mon Oct 2 13:13:13 CDT 2006


All commentary uses Spanish locale (where Program Files is at 
"C:\Archivos de programa\").

Here at work I am trying to run Dreamweaver MX 6.0 as a proof of concept 
in order to
convince the rest of the staff to run Dreamweaver in Wine, rather than 
on a Windows virtual
machine across the network. So I installed Dreamweaver, but at runtime, 
when choosing
the Help or Commands menu, the following message appears in a message box:

---------
While executing DWMenu_Help_ManageExtensions canAcceptCommand in Manage 
Extensions.htm
the following JavaScript error(s) occurred:

At line 14 of file "C:\Archivos de programa\Macromedia\Dreamweaver
MX\Configuration\Commands\Manage Extensions.js": TypeError:
DWEMLaunch.mayLaunchExtensionManager is not a funcion
---------

At the same time, the following message appears in the Wine console:
---------
err:module:import_dll Library Gemstone.dll (which is needed by 
L"C:\\Archivos de programa\\Macromedia\\Dreamweaver 
MX\\Configuration\\JSExtensions\\DWEMLaunch.dll") not found
---------
So obviously the error message in the messagebox is caused by this error 
(Gemstone.dll not found).

[alex at srv64 drive_c]$ find . -name Gemstone.dll
./Archivos de programa/Archivos comunes/Macromedia/Gemstone.dll

This DLL exists in the system, but not in a place where Wine will look 
for while searching DLLs.
The only plausible mention of this directory "C:\Archivos de 
programa\Archivos comunes\Macromedia"
is in the following registry key:

---------
system.reg (under HKEY_LOCAL_MACHINE):
[Software\\Microsoft\\Windows\\CurrentVersion\\App 
Paths\\Dreamweaver.exe] 1159489970
@="C:\\Archivos de programa\\Macromedia\\Dreamweaver 
MX\\Dreamweaver.exe\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
"Path"="c:\\Archivos de programa\\Macromedia\\Dreamweaver 
MX;c:\\Archivos de programa\\Archivos comunes\\Macromedia"

[Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\Extension 
Manager.exe] 1159489412
@="c:\\Archivos de programa\\Macromedia\\Extension Manager\\Extension 
Manager.exe"
"Path"="c:\\Archivos de programa\\Macromedia\\Extension 
Manager;c:\\Archivos de programa\\Archivos comunes\\Macromedia"

---------

Apparently the Macromedia installer wrote these registry entries on the 
expectation that they
would be used as additional places to search for DLLs required by the 
application. So here is a
patch that makes Wine do the same. This fixes Dreamweaver MX 6.0 so it 
does not longer show the
error message. Please make comments about the patch.

Changelog:
* Check under HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App 
Paths\\EXENAME.EXE for
  additional directory locations to search for DLLs. Fixes Dreamweaver 
MX 6.0.
 
Alex Villacís Lasso

-- 
The following cryptic message was allegedly found in the inner edge of a Windows
XP installation CD:

4F6E65204F5320746F2072756C65207468656D20616C6C2C204F6E65204F5320746F2066696E6420
7468656D2C0D0A4F6E65204F5320746F206272696E67207468656D20616C6C20616E6420696E2074
6865206461726B6E6573732062696E64207468656D2E0A

It is rumored that only a true Unix Wizard can decypher this mysterious message,
which supposedly encodes the true nature and purpose of the software.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine-kernel-loader-app_private_path.patch
Type: text/x-patch
Size: 6638 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20061002/246a884e/wine-kernel-loader-app_private_path-0001.bin


More information about the wine-patches mailing list