No subject


Thu Feb 24 14:23:06 CST 2011


are 2 different ways for an LOCAL server.

The first is that the AppID entry in the registry specifies an executable, that
provides a COM object of the class. When an object of a CLSID is requested by a
process that has not been started yet, the executeable that is specified in the
registry is started, it then registers an object of the class with the COM
system and the requesting process can then access it. Wine seems to support
this and it starts the executable.

The second possibility is, that the AppID contains DllSurrogate. In this case
there is no executeable to start. Only a DLL specified in the CLSID entry.
Windows then starts the program dllhost with the AppID as a parameter. This
program loads the DLL, creates an instance of the COM object and registers it
as a local server in the COM system. This method is not supported by Wine. So
to support this, Wine would have to check for the DllSurrogate entry and then
start dllhost.exe. I have tried to run the original dllhost.exe of a Windows XP
on Wine and it seems to load the DLL and then fails to register the COM object
because a call is not implemented. Wine would probably have to implement
dllhost.exe and the missing call in the COM system.

For League of Legends it is used to run some code as a Windows service with
administrative priviledges. This process then gives the priviledges to the
League of Legends launcher, because it has to write to the Program Files
directory of League of Legends, what a normal user process can not do with User
Account Control. As far as I know, Wine has no access control to files. It
doesn't really need that, because it is already a user process that has to
follow the access control of the host operating system. So I guess the code in
the DLL has no effect on Linux anyway, and it does not matter if the DLL is
loaded in process or into a service process started by dllhost.exe.

To make League of Legends run out of the box DllSurrogate would have to be
supported. But maybe it would also be possible to simply modify the registry
entry of the CLSID to load the DLL in process instead of patching wine.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list