NAV 2016 - Trouble with CREATETEMPFILE

sheishei Member Posts: 9
Hi,
I hope anyone can help. The process is rather simple. A user presses a button and a file will be created on a UNC path to be processed by another (non-NAV) task. If the file does not exists CREATETEMPFILE will be used (simplified). For some reason, NAV decides to use the NAV server's temp path (%programdata%\Microsoft\Microsoft Dynamics NAV\90\server\<instance>\users\default\<username>\temp).
Unfortunately this will happen in the context of the user who started the process instead of the nav service user. As you might know, "normal" users do not have access to this path. The workaround is simple, if I grant access to this path to the users it will work. But I am not a big fan of workarounds.
Our developer cannot help and I am reluctant to simply grant the access - unless that's the only solution. The Internet and MS TechNet weren't really helpful.

PS: The Debugger stops at ClientFileHelper.Copy (trying to copy the file to temp path).


wx2tndaig2r9.png

Thanks!

Answers

  • vaprogvaprog Member Posts: 1,143
    edited 2017-02-16
    Hi,
    You seem to try to use client side file handling (ClientFileHelper.Copy) to copy a server based file.

    CREATETEMPFILE creates the temporary file in a folder named with the user, but access and ownership of the file are related to the service user (Tested with NAV 2016 CU5, Windows client).

    Use DOWNLOAD to transfer file data between Server and Client and also to make the transfer in ownership.
  • catiamatos1991catiamatos1991 Member Posts: 158
    I'm using DownloadToFile and I'm getting this error too
  • Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    Make sure the file is closed before attempting to download it.
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
Sign In or Register to comment.