Webmail Broken after latest upgrade
Problem reported by Praveen Raj - 6/5/2018 at 12:28 PM
Web mail has broken after latest update.. error attached below
Please help urgently, server is windows 2012 R2
Server Error in '/' Application.
Access to the path 'C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\App_Data\Translations' is denied.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\App_Data\Translations' is denied.
ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.
To grant ASP.NET access to a file, right-click the file in File Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.
Source Error:

Line 34:         var htmlCacheBustQs = "cachebust=@ScriptFileDependencies.HtmlTemplateVersion";
Line 35:         var languageCacheBustQs = "cachebust=@ScriptFileDependencies.LanguagesVersion";
Line 36:         var angularLangList = @Html.Raw(TranslationFiles.LanguageCodeList);
Line 37:         var angularLangMap = @Html.Raw(TranslationFiles.LanguageCodeMap);
Line 38:         var angularLangNames = @Html.Raw(TranslationFiles.LanguageCodeNames);

Source File: C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\Views\Home\root.cshtml    Line: 36
Stack Trace:

[UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\App_Data\Translations' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +12702637
   System.IO.FileSystemEnumerableIterator`1.CommonInit() +268
   System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost) +434
   System.IO.Directory.GetFiles(String path, String searchPattern) +79
   SmarterMail.Logic.HelperClasses.Files.TranslationFiles.RefreshLanguageFiles() +242
   SmarterMail.Logic.HelperClasses.Files.TranslationFiles..cctor() +49
[TypeInitializationException: The type initializer for 'SmarterMail.Logic.HelperClasses.Files.TranslationFiles' threw an exception.]
   SmarterMail.Logic.HelperClasses.Files.TranslationFiles.get_LanguageCodeList() +0
   ASP._Page_Views_Home_root_cshtml.Execute() in C:\Program Files (x86)\SmarterTools\SmarterMail\MRS\Views\Home\root.cshtml:36
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +198
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +105
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +78
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +235
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +107
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +291
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +56
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +420
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +52
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +173
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +100
   System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +21
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9748665
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +48
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +159

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.7.2623.0

26 Replies

Reply to Thread
Thomas Lange Replied
If you have kept the installer of a prior SmarterMail version - for example v16.3.6705:
I would suggest uninstall v16.3.6726 (or .6729), reboot the server and install/go back to v16.3.6705.
For our server the installation of the prior version "repaired" the folder rights.

We are on Windows 2012R2 and having issues with Webmail / for example MRS\App_data folder rights,
in case of making any difference: our server runs Windows Server in German language version!

I do not really want to manually fix/repair the destroyed folder rights.... SmarterTools should fix this in the installer is possible,
if it is not possible to fix then they should mention the (hopefully one-time required fixing steps inside the release-notes!)
Praveen Raj Replied
Thanks for reply..
unfortunately I don't have old version with me and not finding any link to download 16.3.6705 , any one know or can share the setup please? I can give you my email id, so that you can wetransfer it. please help
Thomas Lange Replied
I would really like to help you - but I suppose it is not allowed to re-distribute any installer, because SmarterTools has copyright and distribution rights of it.

If a SmarterTools representative states here, that is it allowed to pass prior installer to you I can do that. But normally I would advise only use/trust files from original source - you never know what files other people will give you.

I already suggested SmarterTools, that they should make older/prior installer-versions available on their website - and I advised not to release updates on Fridays, because then over the weekend no support/solution... (except their emergency-tickets!).
Information Technology Replied
On the MRS folder, our permissions are:
SYSTEM - Full Control
Administrators - Full Control
Users - Read & Execute, List Folder Contents, Read
Trusted Installer - List Folder Contents
On the MRS folder you may want to "Replace all child object permissions with inheritable permissions from this object"
On the Smartermail application pool we are using ApplicationPoolIdentity
See if your permissions match.
Information Technology Replied
Same issue, same OP, different post:
Thomas Lange Replied
In my humble opinion Smartertools should address this issue concerning "wrong" folder-access-rights.

Sure this manual restoration/setting of folders access rights could be a "quick and dirty" manuel fix and the SmarterMail system should be up and running again - but I suppose this will no solve the issue for future update-installations of SmarterMail.

v16.3.6705 is ok / sets correct folder access rights at our Windows 2012R2 server (German language)

but v16.3.6726 (Fridays, second, "fixed" release) and v16.3.6729 as of Monday June 4th - have both problems with "destroying"/changing the folder access rights - so I live in danger even by future SmarterMail updates that the installer will again change/kill the folder access rights!

Thats why I recommend and expect that the developer should fix their installer,
Probably there were changes concerning installer and not all site-effects adjusted/solved yet.
Or developers should give us a note (inside release notes) in case of only this specific update needs to manually set folder access rights - and how to set them that all future updates of SmarterMail will not cause similar issues again and again.
Jeff Roberg Replied
I upgraded last night and spent the next 5 hours trying to get this fixed. 
Windows 2012r2 upgrading to smartermail to latest version 16.3.6729.
When trying to reset the permissions on the App_Data folder I kept getting a enumeration error and could not reset the permissions.  I was finally able to take ownership of it by changing the owner to "Administrator".   After taking ownership of it I was able to add everyone and system to the permissions.
After upgrading I am getting a message on the bottom left of the web page that says 
Anyone know how to fix this cookie message?
Information Technology Replied
No arguments here. I know they perform testing prior to release. I don't know enough about building installers to even guess what could have happened and why it wasn't identified prior to release.
Thomas Lange Replied
so probably one thing in common: Windows Server 2012R2
perhaps this is already the first important clue/hint where SmarterTools should look/check and try to fix/adjust installer
Thomas Lange Replied
quality assurance of SmarterTools right now is really bad - needs to be much better!
Failures can occure - but they should withdraw any faulty version - and provide suggestions to solve issues - and bad is to re-release/re-package an update with identical version/build number!

they had a first fix available later during Friday.... but this fix did not solve all issues, even the Monday Jun4th fix (6729) does not solve it all - we really need a reliable version for download.

and really make available prior versions of v16.3 - in case of issues in latest/actual build

I will open a Support/Email-ticket with SmarterTools, sales-department was not able to solve my issues so they advised to contact support (ticket will be refunded/made re-usuable again in case of SmarterMail product error/failure)

Due to Community-Comments it really looks like being a SmarterMail / installer-issue with the two latest versions (SmarterMail 16.3.6726 and 16.3.6729) - probably at least on Windows Server 2012R2.
Thomas Lange Replied
btw: I created email-support-ticket concerning this reproducable issues at our server
Praveen Raj Replied
Thanks Thomas.. let me check if there is any option
Praveen Raj Replied
Thanks information Technology.. I will check
Praveen Raj Replied
Thanks for the ticket..
Praveen Raj Replied
Yes, from now I will never install any new release and will wait for few days ..I was not expecting such issues from smartermail as it never happened from my last 4 year's experience ..
Thomas Lange Replied
how to get hold on a specific older version:

Derek Curtis wrote: You can request a previous version from us if need be -- just email our sales@ address.

so one way could be to contact "sales" and request a specific version/build-number you need
at least on my server-system just install the v16.3.6705 made our mailserver back to work including webmail/webgui-access!

I will keep you updated concerning a solution to my support-ticket, I need to check some settings of my installation tomorrow and then respond to first-reply to my support-ticket.
Andrea Free Replied
Employee Post
Hello all,
We apologize for the inconvenience that resulted from Friday's faulty installer. Our developers were quickly made aware of the issue and had provided an updated installer on the Download SmarterMail page that prevented the permissions issue from occurring. However, the current build on the Download SmarterMail page doesn't modify the App_Data permissions. 
They've just put out a new custom build that corrects the issue that occurred from the faulty installer. This new build sets NetworkService, Administrators, and IIS_IUSRS to Full Control. It will also NOT remove the current permissions if anyone has custom permissions on the folder. 
Please let us know what you find with the custom build. If this goes as expected, we'll push this build to a minor release. 
Custom build: 
Thank you!

Andrea Free
SmarterTools Inc.


Praveen Raj Replied
Thank you very much ! it is fixed , webmail is back
Praveen Raj Replied
I was able to fix the issue using above build. Thank you all for the kind help and participation.
Mars _ Replied
the new build fixed the issues with Webmail GUI and permissions.
Windows Server 2016
Thomas Lange Replied
I can confirm that the custom build v16.3.6731 which Andrea posted here does work and did not "destroy/change/messed-up" our App_Data folder-access-rights!
so probably installing this custom-build should be solution to your issues :-)

Took developers a while until SmarterTools realized/analyzed what was going wrong/worse with last Fridays-Update... first they stated that their re-released "fixed" version should solve all issues...
Thomas Lange Replied
I got reply asking about our actual settings and remote-access....
Today I wanted to answer - but I saw at early morning that the questions were probably obsolete, because devteam already figured out what was going wrong - and that installers caused access-rights-trouble/changes!

custom-build v16.3.6731 solved issues
Sangum Chhhetri Replied
Fixed thanks
Ray Cook Replied
I have completely lost confidence in SM releases. It used to completely reliable. We have 2 V15 and 1 v16 installations and the last two times there has been a release we have had issues with something not working. V15 latest upgrade had to be reverted because webmail login threw an error. And there are these permissions issues with v16. I now have to keep working versions of installers just in case. Someone has to sort this out because it wastes time and drains confidence.
Darren Lombardo Replied
I had the same issue upgrading from version 16.3.6885 to the version 17 (the version that they are not calling 17), which is January's release Build 6948. After the install, it blew the webmail to bits. I selected to use the existing site during install, but resulted in a "Server Error in '/' Application" error in my browser. I had to unistall and roll back to  and took a few hours to do since it wiped out all of the protocol bindings and certificates. Very disappointed with the poor integrity of these updates.I am still waiting for a solution, but don't want to sacrifice my one and only support instance over their own issues. The permission suggestions in this KB or KB titled "Server Error in '/.Application" did not work for me. 

Jade D Replied
Some advice to those of you who may have changed permissions
Full Access should never be granted to any folder which a web server has access to other than what has been initially setup by an OS.

For most cases the network service, iusr ( and in some cases iis_iusrs) should only ever be granted modify permissions.

If in doubt, run procmon and only allow access to the user that requests it.

The same applies to IIS application pool identities.

Reply to Thread