[Bug 7189] VS.NET 2005 fails to install

Wine Bugs wine-bugs at winehq.org
Fri Jun 15 16:14:19 CDT 2007


------- Additional Comments From focht at gmx.net  2007-15-06 16:14 -------

--- quote ---
The next problem is that the installer tries to run
executables requiring msvcr80.dll, which requires activation context support.
--- quote ---

yes it's annoying.
There are some ways to work around the VC 8.x CRT manifest checks.
This works for all applications which use manifest bound executables (e.g.
compiled with #pragma comment(linker,”/manifestdependency:..” )

- pretend to be a pre-fusion OS (Windows NT, Windows 2000).
  To do this, don't export "FindActCtxSectionStringW" from kernel32.dll
  (remove it from kernel32.spec and recompile).


- pretend to be in .NET CLR context by having mscoree.dll and pgort80.dll
(profiler instrumentation runtime) loaded into memory.
  The CRT explicitly looks for these dlls in memory, they just need to be
  Loading fake dlls seems to succeed this one.

The following conditions need to be satisfied if previous ones failed:

- don't ever load any VC 8.x CRT sxs assemblies from system32 directory.
  (requires loader override)
- implement FindActCtxSectionStringW to return a valid activation context

- dll was loaded from winsxs storage
- if loaded from another folder, manifest must reside in same folder


Summarizing, the removal of "FindActCtxSectionStringW" from kernel32 exports is
currently the fastest way to work around these problems.

For the time being (with no wine FindActCtxSectionStringW() impl in place) I
suggest a patch that comments out this export from kernel32.spec.
This would enable other bugreports which have sxs-related activation context
showstoppers to go further too.


Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

More information about the wine-bugs mailing list