This has been previously posted in DOTNET_WEB.

We have encountered a problem related to loading satellite resource
assemblies in .NET.  Maybe someone has some suggestion on how to debug
this problem.

We have the language neutral assembly (ebculture.dll) in the bin directory
and the en-US version (ebculture.resources.dll) in the corresponding
subdirectory.  "aspnet_wp.exe" is running under "SYSTEM".  VD is setup
with integrated Windows authentication.

Code is doing something like:

Assembly a = Assembly.Load( "ebculture" );
this.myRM = new ResourceManager( className, a );
string bla = this.myRM.GetString( .... )

Code is also looking at the Languages setup in browser and sets
CurrentCulture and CurrentUICulture accordingly.  When setting IE's
language to en-US, we get the following:

.Invoking the page under a non-admin user, ebculture.resources.dll is
not loaded and consequently the page is not translated.
.With the *exact* same setup but invoking the page under a admin user, the
satellite DLL is loaded and everything works OK. .Going back to the non-
admin user and copying the ebculture.resources.dll to the bin directory,
everything works also OK.

Thinking that aspnet_wp might be getting a security exception while
loading the satellite assembly located under the en_US subdirectory, I did
a filemon trace.  This looks like the following:

IRP_MJ_CREATE   C:\inetpub\wwwroot\eBranch\bin\en-
US\ebculture.resources.DLL    SUCCESS Attributes: N Options:
Open
FASTIO_QUERY_BASIC_INFO C:\inetpub\wwwroot\eBranch\bin\en-
US\ebculture.resources.DLL    SUCCESS Attributes: RA
IRP_MJ_CLEANUP  C:\inetpub\wwwroot\eBranch\bin\en-
US\ebculture.resources.DLL
SUCCESS
IRP_MJ_CLOSE    C:\inetpub\wwwroot\eBranch\bin\en-
US\ebculture.resources.DLL
SUCCESS
IRP_MJ_CREATE   C:\inetpub\wwwroot\ebranch\bin\en-
us\ebculture.resources.dll    SUCCESS Attributes: N Options: Open
Sequential
FASTIO_QUERY_STANDARD_INFO      C:\inetpub\wwwroot\ebranch\bin\en-
us\ebculture.resources.dll    SUCCESS Size: 188416
FASTIO_QUERY_STANDARD_INFO      C:\inetpub\wwwroot\ebranch\bin\en-
us\ebculture.resources.dll    SUCCESS Size: 188416
IRP_MJ_CLEANUP  C:\inetpub\wwwroot\ebranch\bin\en-
us\ebculture.resources.dll
SUCCESS
IRP_MJ_CLOSE    C:\inetpub\wwwroot\ebranch\bin\en-
us\ebculture.resources.dll
SUCCESS

But in spite of everything looking OK (from the IO point of view) still
the satellite DLL is not loaded (I checked with procexp).   Anyone has a
suggestion on how to pursue this further?

Rgds,
Manuel Patrone

Reply via email to