How to resolve a missing Persona Bar

Overview

This article aims to provide possible solutions on how to resolve a missing Persona Bar to restore administrative functions. There are three fixes outlined in this article:

 

As with all display errors, any module, skin, or plug-in may affect page rendering and prevent elements from appearing. When troubleshooting a malfunctioning UI element, we strongly advise that the default skin be loaded and all custom extensions and browser extensions that modify page content be disabled. See the Testing section at the end of this article for tips on how to effectively test UI error solutions.

 

Solutions

The website files are located on a Root Drive rather than inside a Folder

  1. Create a new folder within the drive. The directory for websites is usually located in the following path on your server:
    C:\inetpub\wwwroot\Your_Website_Folder
  2. Apply the correct IIS permissions to the new folder by following the steps in our Set Up the DNN Folder article.
  3. Move the DNN website files to the newly created folder.
  4. Change the website's physical path to point to this new folder on IIS by following the steps in our Set Up IIS article.
  5. Go to Control Panel > Administrative Tools > Internet Information Services (IIS) Manager.
  6. Click on Manage Server > Restart to restart IIS and reload your website.
    IIS Manager - Restart

 

The web.config file is missing the correct assembly binding

If the error message [ERROR] DotNet.Nuke.Common.Internal.ServicesRoutingManager - Unable to register service routes below is displayed after an upgrade; this means no API routing is getting registered. The solution is to add the correct assembly binding into the assemblyBinding section of the web.config file.

[ERROR] DotNetNuke.Common.Internal.ServicesRoutingManager - Unable to register service routes

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. --->
System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies.
The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
  1. Access the web.config file by following the steps in our article Access web.config article.
  2. Identify the assemblyIdentity node causing the problem or throwing an exception (in this example, the Newtonsoft.Json assembly):
    <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="4.0.0.0" />
    </dependentAssembly>
  3. Replace the bindingRedirect tag with the correct routing information for the assemblyIdentity:
    <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" />
    <bindingRedirect oldVersion="0.0.0.0-32767.32767.32767.32767" newVersion="7.0.0.0" />
    </dependentAssembly>
  4. Go to Control Panel > Administrative Tools > Internet Information Services (IIS) Manager.
  5. Click on Manager Server > Restart to restart IIS and reload your website.
    IIS Manager - Restart

Missing Application pool user permissions on the Root folder

Please make sure the root folder has the Read and Write Permission by following below steps:

  1. On IIS, right-click on the DNN application on the left-hand side of Connections under Sites and click Explore.
  2. To set the entire/main DNN folder as the root directory, then right-click on the main folder and properties

  3. Click on the "Sharing" tab, then click "Advanced Sharing"

  4. Check/Select the "Share this Folder" option and click "Ok"

  5. Go back to the Sharing tab again with a "Network Path" to be saved in notepad since it will be used on the site

  6. Click on "Share" button, then add the necessary permissions, make sure to set the permission to be "Read and Write" not only read, then click Share

  7. A popup window will appear. Select Yes to confirm the folder has been shared, then click Done, then close.


After then you should open IIS and edit the file permissions using the App Pool identity (for example, if your site name on IIS is TestSite, this would be the app pool identity).

  1. Right-click on the site that you created (TestSite in this example) and click on Edit Permissions

    Screen_Shot_2019-10-04_at_12.56.17_PM.png

  2. Go to Security and click Edit.  

    Screen_Shot_2019-10-04_at_12.10.38_PM.png

  3.  Click Add.

    Screen_Shot_2019-10-04_at_12.11.06_PM.png

  4.  Add permissions to the user, IIS AppPool\<NameofTheSiteCreated>. This is because we are providing permissions using the App Pool identity. 

    Screen_Shot_2019-10-04_at_12.11.13_PM.png

  5. Provide Full Control to the selected user. 

    Screen_Shot_2019-10-04_at_12.11.34_PM.png

 

Comments

1 comment

Please sign in to leave a comment.