We are deploying a DotNet website managed using SDL Tridion 2013. We need to deploy the website on two web servers (web1 & web2) load balanced using a NLB. The CMS is set to publish files through the Content Deployer which is running on web1. This deployer is configured to store all published contents on a network share which is accessible to both web servers. The IIS website on both servers is set to use the network share as the home directory (using UNC path). The Application Pool identity has been set to a user that has full access to the network share.
Publishing contents from the CMS is working fine and the contents are being stored on the network share. However when we try to access the website we are getting the below error. So far we have verified the following:
The web servers are running a 64 bit OS and the xmogrt.dll being used is also for the same Access privileges at various levels Restarted IIS on both servers and also restarted the server boxes
@Dominic: Could you please elaborate on how you think this setup is not "standard configuration". For a load balanced setup you would have to store the published website contents on to a network share accessible from all your web servers, unless you want to setup multiple Publishing Targets (associated with the same Target Type) which if I am not mistaken is not recommended by SDL.
Line 10: <script runat="server">
Line 11: string linkAsString = "";
Line 12: Tridion.ContentDelivery.Web.Linking.PageLink pageLink = new Tridion.ContentDelivery.Web.Linking.PageLink(1020);
Line 13: Tridion.ContentDelivery.Web.Linking.BinaryLink binaryLink = new Tridion.ContentDelivery.Web.Linking.BinaryLink(1020);
Line 14: Tridion.ContentDelivery.Web.Linking.BinaryLink rootBinaryLink = new Tridion.ContentDelivery.Web.Linking.BinaryLink(1020);
[DllNotFoundException: Unable to load DLL 'xmogrt': The specified module could not be found. (Exception from HRESULT: 0x8007007E)]
Codemesh.JuggerNET.NativeInterface.GetJvmLoader(Int32 ctorVersion, String configFile, String vers, String conf, String reserved, Boolean bEnvOverrides, Boolean bDefaultJvm, Int32 traceFacility, Int32 traceLevel, Int32& error) +0
Codemesh.JuggerNET.JvmLoader.GetJvmLoader(Boolean bEnvOverrides, Boolean bDefaultJvm, TraceFacility fac, TraceLevel level) +196
Codemesh.JuggerNET.JavaClass.init() +92
Codemesh.JuggerNET.JavaClass.get_JObject() +34
Codemesh.JuggerNET.JavaMethod.init() +838
Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo, JavaMethodArguments args) +494
Com.Tridion.Linking.PageLink..ctor(Int32 publicationId) +269
Tridion.ContentDelivery.Web.Linking.PageLink..ctor(Int32 publicationId) +37
ASP.default_aspx..ctor() in \\172.20.11.67\websites\xxx\default.aspx:12
__ASP.FastObjectFactory_app_web_lxadcsvc.Create_ASP_default_aspx() in c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\2e440540\fa2bb6de\App_Web_lxadcsvc.13.cs:0
System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) +174
System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +42
System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +516
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288