NAV Server service logged on as domain user fail to start

chw_umchw_um Member Posts: 6
edited 2010-04-01 in NAV Three Tier
Hi everyone,

I am simulating a 3 tier installation with boxes running windows server 2008 but I fail to start a Microsoft Dynamics NAV Server service after having the "Log on as This Account" set to a domain user. ](*,)



And in Application Log in Event Viewer I got this,

Log Name: Application
Source: MicrosoftDynamicsNAVServer
Date: 3/26/2010 9:23:59 AM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: NAVSVR.NAVDEMO.CONTOSO.COM
Description:
Service:
The service MicrosoftDynamicsNavServer failed to start. This could be caused by a configuration error. Detailed error information:System.TypeInitializationException: The type initializer for 'Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider' threw an exception. ---> System.InvalidOperationException: Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\Windows\TEMP\hfnipgau.0.cs' could not be found
error CS2008: No inputs specified

at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider..cctor()
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider.get_Instance()
at Microsoft.Dynamics.Nav.WindowsServices.NavServiceBase.OnStart(String[] args).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"&gt;
<System>
<Provider Name="MicrosoftDynamicsNAVServer" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2010-03-26T16:23:59.000Z" />
<EventRecordID>591</EventRecordID>
<Channel>Application</Channel>
<Computer>NAVSVR.NAVDEMO.CONTOSO.COM</Computer>
<Security />
</System>
<EventData>
<Data>Service:
The service MicrosoftDynamicsNavServer failed to start. This could be caused by a configuration error. Detailed error information:System.TypeInitializationException: The type initializer for 'Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider' threw an exception. ---> System.InvalidOperationException: Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\Windows\TEMP\hfnipgau.0.cs' could not be found
error CS2008: No inputs specified

at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type)
at Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider..cctor()
--- End of inner exception stack trace ---
at Microsoft.Dynamics.Nav.Service.Metadata.MetadataProvider.get_Instance()
at Microsoft.Dynamics.Nav.WindowsServices.NavServiceBase.OnStart(String[] args).</Data>
</EventData>
</Event>


This step is rather straightforward with a Windows Server 2003 but I can't seems to make it happen with Windows 2008 :?

I have tried to look for a solution but failed to do so. Would like to check if anyone has similar issue before and manage to overcome?

Thanks.

Comments

  • nav-2-sharepointnav-2-sharepoint Member Posts: 25
    Make sure the account is in the local administrator group on the server.
  • chw_umchw_um Member Posts: 6
    First of all, I would like to say thanks to nav-2-sharepoint's reply.

    Frankly I have tried adding the domain user account to the local administrator group of the Windows 2008 server box and by doing that the service DO start sucessfully. But I face another situation by doing that.

    On the client box only login belongs to the domain admin group manage to connect to the NAV server using RTC. If I connecting with RTC with other normal domain user account then I will get "net.tcp:/<servername>:7046/DynamicsNAV/Service" cannot access error! ](*,)

    Again, it is straightforward if I use a Windows Server 2003 box to host the NAV Server service. I can start the Dynamics NAV Server service with a normal domain user account without requiring that account to be added into local administrator group of the Windows Server 2003 box and, any domain user account from RTC client can connect the NAV server without problem!

    I have configured delegation according to Installation Guide on both the Windows 2008 box and Windows Server 2003 box and have them checked with Best Practice Analyzer. The analyzer reported ok in both the server boxes.

    I have a feeling additional configuration is required in a Windows 2008 box to host the NAV Server service? :-k
  • rdebathrdebath Member Posts: 383
    Normal users no longer have access to c:\windows\temp in windows 2008.

    DotNet has a rather stupid library for use of XML files that generates, complies and then loads a C# program to cope with a compile time defined XML file. It uses C:\Windows\Temp to store the C# and object files.

    Give the domain user the same access to C:\Windows\Temp that "Network Service" has (more or less full control).
  • chw_umchw_um Member Posts: 6
    Thanks rdebath, allowing the domain account to access to the c:\windows\temp folder did allow the NAV Server service to start =D>

    But I am surprised that this let me to the next challenge - only users in Domain Admin group able to access the service using RTC and normal user will simply get this error ](*,)



    Any other setting that required for Windows 2008 to host the NAV Server service?
  • rdebathrdebath Member Posts: 383
    Sorry, that error is too generic, it just means the client got disconnected.

    But as Admins can access I'd be looking at the Navision permissions (user must be explicitly named as having access) and the delegation setup. If there isn't a message buried in a log somewhere. (Event log, SQL log etc.)
  • chw_umchw_um Member Posts: 6
    Yes I notices this error in the Security Log.

    Log Start

    - System

    - Provider

    [ Name] Microsoft-Windows-Security-Auditing
    [ Guid] {54849625-5478-4994-a5ba-3e3b0328c30d}

    EventID 4625

    Version 0

    Level 0

    Task 12544

    Opcode 0

    Keywords 0x8010000000000000

    - TimeCreated

    [ SystemTime] 2010-03-28T15:03:19.279Z

    EventRecordID 1734

    Correlation

    - Execution

    [ ProcessID] 584
    [ ThreadID] 660

    Channel Security

    Computer SVR02.NAVDEMO.CONTOSO.COM

    Security


    - EventData

    SubjectUserSid S-1-0-0
    SubjectUserName -
    SubjectDomainName -
    SubjectLogonId 0x0
    TargetUserSid S-1-0-0
    TargetUserName
    TargetDomainName
    Status 0xc000006d
    FailureReason %%2313
    SubStatus 0xc000006a
    LogonType 3
    LogonProcessName Kerberos
    AuthenticationPackageName Kerberos
    WorkstationName -
    TransmittedServices -
    LmPackageName -
    KeyLength 0
    ProcessId 0x0
    ProcessName -
    IpAddress -
    IpPort -
    Log End

    Guess I have to explore further on method to setup permission delegation in Windows 2008 :(
Sign In or Register to comment.