Microsoft Dynamics NAV

Team Blog

  • Microsoft Dynamics NAV Team Blog

    Warehousing Improvements in NAV 2009 SP1


    If you utilize some of the warehousing functionality - you have several reasons to look after 2009 SP1!

    While improved productivity - for customers and partners alike - is one of the main benefits of Microsoft Dynamics NAV 2009, we continue to focus on quality. We strive to make improvements in the product application with every release. Microsoft Dynamics NAV 2009 SP1 is no different. NAV 2009 SP1 provides application enhancements to address customer and partner requests including the correction of up to 170 different issues in Warehousing. Some of these include fixes, redesign or consolidation in the following three areas:

    1. Warehouse Granularity - The granularity in the Warehouse offering is an important characteristic of the feature - with five separate granules and a potential of 121 combinations that can be chosen. The flexibility of choice supports the concept that the warehouse offering in Microsoft Dynamics NAV can fit your business requirement and the granularity allows the system to grow with the company. We had an increasing number of customers who were utilizing this flexibility and some of the combinations that were used were unexpected and further development was necessary to consolidate the usage of these combinations. For example, some cases concerned the combination of all warehouse features except directed pick and put-away (a manual WMS) that is used frequently at installation before switching completely to a full-fledged WMS. Other cases related to a very simple combination with inventory pick or put-away without bin.
    2. Multiple Unit of Measures - Microsoft Dynamics NAV 2009 SP1 now supports multiple units of measures. For example, this makes it possible for a company to buy in tons and sell in meters and the quantities in both the company's inventory and warehouse will be synchronized and consistent. So, it's possible to calculate the availability of goods when shifting units of measure. This gives companies greater flexibility as they can change the unit of measure on the fly. This eliminates new specific warehouse rounding issues originating by handling the UOM differently than in the inventory.  The need for manual adjustments to handle rounding residuals is reduced dramatically. All of this saves users time and companies money.
    3. Partial Scenarios with Item Tracking - Several issues have been solved involving Item Tracking, including an issue where an order reservation could be deleted with partial posting. Order information is now sustained even when the order is deleted or only part of an order is shipped. This gives users more reliable information and enables customers to receive partial shipments without the risk of the company losing their order.

     Headlines of some of the fixes are added here:

    • Item Tracking Information Card - Lot No. Blocked field added to the warehouse activity lines in order to inform about the lot information card status of the blocked field.
    • Partial pick cannot be create directly from the sales order when using Whse shipment and the shipment advice is set to Ship complete on the customer card, an explanatory error message will be issued to the user, in case the user want to create the whse shipment to start a partial picking process, the whse shipment can be created and retrieving the sales order (in short: the push scenario is blocked with a new warning while the pull scenario still works)
    • You can use Filters to Get Src. Docs and avoid entries for Customers that are Blocked with Type 'Ship'; the batch job is now resilient and outbound lines are now retrieved even if some lines has a customer blocked with type "Ship"
    • Function Explode BOM does maintain reservation field on Sales Order Lines
    • The expected receipt date is calculated properly respecting the planned receipt date entered on the purchase order as well as the whse handling time
    • The auto-reservation feature is resilient when an user change Item No. on sales line
    • Various issues with Transfer Order and Item tracking (qty ship =0 generate an issue, reservation and lot tracking info in an order-to-order scenario, adjustment of reservation when adjusting qty) were fixed
    • FEFO and location with directed pick and put-away fixes (when using UOM>base UOM (Unit Of Measure) only one bin was considered, Bin Replenishment in the Movement Worksheet did not correctly use the First Expired First Out (FEFO) rules when creating the Movement request, The expiration dates did not appear on the Whse pick when assigned on the sales order)
    • Reservation and Item Tracking (Reservation Entries were incorrectly updated when partially picking inventory in a Directed Put-away and Pick Location)
    • Ability to ship specific serial numbers when everything is picked. The "Qty. to Handle (Base)" field on the item tracking lines was non-editable, and therefore you could not choose which ones to ship. The "Qty. to Handle (Base)" field is now made editable for situations where item tracking is handled with whse.
    • Next counting period field on Item card, Item (and SKU) are now updated if Physical Inventory Count feature is used to create physical inventory journal lines (both Warehouse and Item Physical Journal).
    • Wrong update of shipment date in sales order, the Shipment Date on Sales Order will only be update when Whse Shipment is fully shipped.
    • Pick worksheet had issues with qty to handle and Qty outstanding in partial scenario involving Serial Numbers.
    • When sales UOM > UOM in Whse, the highest ranking bin containing the item was suggested on pick, no matter if it contained the LOT as specified on the sales order. The Lot/SN filter were not used in the relevant code unit - this is now fixed.
    • Wrong Pick quantity were calculated when items were at multiple bins and using lot tracking and order tracking reservation.
    • Reservation entries are removed and users do not really know the impact on changing "Shipment Date" on the header. The mechanism has been re-implemented so that reservation entries are recreated correctly.
    • Tracking information created on a sales order were not deleted when the sales order line was.
    • Poor Performance on Get Bin Content function when using Lots, this has been fixed.

    -Philippe Jacobsen

  • Microsoft Dynamics NAV Team Blog

    Feature Enhancements Documents for Microsoft Dynamics NAV 2009


    The feature enhancements documents for Microsoft Dynamics NAV 2009 describe the enhancements to Microsoft Dynamics NAV 2.60 through 4.0 that are included in Microsoft Dynamics NAV 2009.

    The feature enhancements are categorized by granule ID. This will show the new features added to granules customers have already purchased and aid customers and partners in the upgrade process to Microsoft Dynamics NAV 2009.

  • Microsoft Dynamics NAV Team Blog

    Using XMLports With Web Services


    As a follow-up on my recent webcast (found HERE), here is the general walkthrough of how to create an XMLport and use it for sending data to NAV.

    First, what we want to do is create our XMLport and make sure it has the elements and values that we want.


    For the root element, I have set maxOccurs = 1 to avoid any confusion.
    For the general XMLport, the UseDefaultNamespace and the DefaultNamespace values have been edited as seen below.


    Other than that, I have no code on my XMLport, but naturally, anything goes that would work on a regular XMLport. Now to the Codeunit:

    ImportDim(VAR DimImport : XMLport DimImport) Return : Text[30]
    EXIT('Import Run');

    So basically we’re telling the XMLport to run an import and we’re returning to the Web Service that we’ve run. All we need to do now is expose the Web Service using Form 810:


    Remember that the actual name of the codeunit does not have to match that of the service name here.

    So now we move over to Visual Studio and start working with what we have. The first thing we’ll notice is that the WSDL matches our XMLport.


    What we see is both the RootDimensions element which consists of multiple Dimension elements. From there, we can see the definition of the Dimension element the fields we’ve chosen to expose.

    When creating a new project, we will go with a Windows Forms project this time.


    And from there we will start off by adding a web reference to http://localhost:7047/DynamicsNAV/WS/Codeunit/DimensionImport .

    The details on how to add a web reference can be found in the Developer and IT Pro Documentation.

    On my new form, I have created two input boxes for the Code and Name of the dimension and a Create button.


    And then we have the code on the Create button, along with helpful comments:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms; 


        using WSDI; 
        public partial class Form1 : Form 




            public Form1() 
            private void button1_Click(object sender, EventArgs e) 
                //Make sure the ResultLabel doesn't have any text on multiple runs 
                ResultLabel.Text = ""

    //Create a WS reference instance, set credentials and define the company by specifying the URL. 
                DimensionImport NAVImport = new DimensionImport(); 
                NAVImport.UseDefaultCredentials = true
                NAVImport.Url = "http://localhost:7047/DynamicsNAV/WS/CRONUS%20International%20Ltd/Codeunit/DimensionImport"
                //First we create our root element 
                RootDimensions RootDim = new RootDimensions();




                //Then we create a List to handle our (possible) multiple dimensions 
                List<Dimension> DimList = new List<Dimension>();




                //And then we create a single dimension 
                Dimension Dim = new Dimension();  


                if (dimInputCode.Text != "" && dimInputName.Text != ""
                    //We assign the values from our textboxes to the single dimension 
                    Dim.DimensionCode = "AREA"
                    Dim.Code = dimInputCode.Text; 
                    Dim.Name = dimInputName.Text;




                    //Then we add the single dimension to our list 


                    //To get the list of dimensions "attached" to the root element, we use the following
                    RootDim.Dimension = DimList.ToArray(); 
                        //Then we send to NAV and show our result 
                        ResultLabel.Text = NAVImport.ImportDim(ref RootDim);




                    catch (Exception ex) 
                        //Show a possible exception 
                        ResultLabel.Text = ex.ToString(); 
                    //Make sure there are values 
                    ResultLabel.Text = "Both values must be filled"

    Our wonderful application is now ready to run and all we have to do is press F5:


    We have now created our XMLport, exposed it using a codeunit and set data into it from a form based application.

    Lars Thomsen

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Application Test Toolset for Microsoft Dynamics NAV 2009 SP1


    The C/AL Application Test Toolset for Microsoft Dynamics NAV 2009 SP1 is now available on PartnerSource. This toolset helps NAV developers to quickly develop and run C/AL-based tests in their primary development environment.

    The toolset includes sample tests to help you get started with C/AL test development, tools for test case management and execution, and useful test library functions, such as assert and database state restore.

    These tools build on top of the Test Features released with Microsoft Dynamics NAV 2009 SP1.

    Download from PartnerSource

  • Microsoft Dynamics NAV Team Blog

    Duplicate SPNs in a 3-tier setup and how to locate them


    One of the problems when troubleshooting why a 3-tier setup of NAV 2009 doesn't work is, that the same error - typically this one on the SQL Server:

    "Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'"

    can be caused by any number of problems between NAV Server, SQL Server and Active Directory settings.

    One quite common cause of this problem is duplicate SPNs. This post describes the problem with duplicate SPNs, and how to locate and solve it.


    What is the problem:

    When the NAV Server and SQL Server are on two different machines, a connection between Role Tailored Client (RTC) and the NAV Server requires Kerberos. Kerberos uses SPNs to locate which Windows account the NAV Server is running under. For this reason, each SPN must point to exactly one Windows account.

    Once you start setting up and troubleshooting a 3-tier setup it is easy to end up trying new SPNs on new accounts, and forgetting to remove the original SPNs. And you may end up with the same SPN assigned to two different Windows accounts. More about SPNs in this post:

    What do SPNs actually do - NAV 2009


    How to check if you have duplicate SPNs:

    This is easy if you have Windows 2008 somewhere on the domain. If you do, then from a command prompt, just run this command:

    setspn -X

    This command is new in Windows 2008, and was introduced exactly and specifically to help locating this problem.


    If you do not have Windows 2008 anywhere on the domain, then use the command line tool called "ldifde" from a Windows Server 2000 or 2003. More details and examples about ldifde in this KB article:

    LDIFDE - Export / Import data from Active Directory - LDIFDE commands


    For the purpose of finding duplicate SPNs, use ldifde from a command prompt like this:

    ldifde -f "c:\x\AD.txt" -l ServicePrincipalName

    This will export values of the ServicePrincipalName-property for all accounts in Active Directory to a text file. Here is an example of the output of this command:

    dn: CN=navservice,CN=Users,DC=contoso,DC=com
    changetype: add
    servicePrincipalName: HTTP/NAV-SERVER
    servicePrincipalName: HTTP/
    servicePrincipalName: DynamicsNAV/NAV-SERVER:7046
    servicePrincipalName: DynamicsNAV/

    dn: CN=SQLDUI SD.,CN=Users,DC=contoso,DC=com
    changetype: add
    servicePrincipalName: DynamicsNAV/NAV-SERVER:7046
    servicePrincipalName: DynamicsNAV/

    Then you must search manually for your SPNs, and see if they appear more than once. In this example, the SPN "DynamicsNAV/NAV-SERVER:7046" is set up for both accounts navservice and SQLDUI, so in this case you would have to remove this SPN from one of the accounts.



    Lars Lohndorf-Larsen

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    How To Install Microsoft Dynamics NAV 2009 SP1 Employee Portal on a 64-bit Operating System


    "How To" article describing how to install the Microsoft Dynamics NAV 2009 SP1 Employee Portal on a 64-bit Operating System has been published on Partner Source*.

    Note: After downloading the .zip file rename it to .docx
    *Login is required to access Partner Source.

    Mohamad Vajid (mvajid)
    Microsoft Dynamics ME
    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    What is the "Enable for Microsoft Dynamics NAV Server" option?


    In the Classic client, in either the Alter Database or New Database window, one of the options on the Options tab is Enable for Microsoft Dynamics NAV Server. This option should be selected if you are deploying the RoleTailored client, which communicates with the database through the NAV Server. When this option is selected, access to special properties and .NET code that NAV Server computers must use to access the database is enabled. The option is selected by default; you would clear this option if you knew for sure that all database access would be through classic architecture components such as Classic client and Classic Application Server.


  • Microsoft Dynamics NAV Team Blog

    Using CaptionClass property on a field in a system table can cause problems


    You can experience some problems if you set a value on the ‘CaptionClass’ system tables on NAV 2009 or NAV 2009 SP1. This can also happen if you had already a value on one of the ‘CaptionClass’ system tables on previous versions, and you upgrade to either NAV 2009 or NAV 2009 SP1.

    Problems can appear any time the engine is trying to recompile the system tables, for example, when importing fob files, when re-compiling, or when re-enabling the ‘Enable for Microsoft Dynamics NAV Server’.

    The problem can be prevented if you either: Remove the offending CaptionClass (on the corresponding System Table) or if you Disable the ‘Enable for Microsoft Dynamics NAV Server’ (this will prevent you from using the three tier architecture).

    We have identified this problem and should be solved in the Microsoft Knowledge Base 977121.

  • Microsoft Dynamics NAV Team Blog

    CREATE DATABASE failed when installing Cronus Sample Database


    Today I did run into a problem installing the “Cronus Sample Database”. In the error report view I found this error message

    SQL Server option

    Cronus Sample Database for Microsoft Dynamics NAV 2009

    Fatal error during installation. 

    CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

    After click on the open config link on the error report page I located this key part for the problem

    Configuring MSI package. Id = 'SQLDemoDatabase'

    MSI log file set to: C:\Users\xxxx\AppData\Local\Temp\1\setup.wix.msi.34.log

    Windows Installer: Error: Error -2147217900: failed to execute SQL string, error detail: CREATE DATABASE failed. Some file names listed could not be created. Check related errors., SQL key: CreateDemoDatabase SQL string: CREATE DATABASE [Demo Database NAV (6-0)]

    Done configuring MSI package. ReturnCode = 1603

    In C:\Users\xxxx\AppData\Local\Temp\1\setup.wix.msi.34.log we find this error in the middle of the file

    ExecuteSqlStrings:  Error 0x80040e14: failed to execute SQL string, error: CREATE DATABASE failed. Some file names listed could not be created. Check related errors., SQL key: CreateDemoDatabase SQL string: CREATE DATABASE

    MSI (s) (58!A4) [13:05:11:100]: Product: Microsoft Dynamics NAV 6-0 Database for SQL Server -- Error 26204. Error -2147217900: failed to execute SQL string, error detail: CREATE DATABASE failed. Some file names listed could not be created. Check related errors., SQL key: CreateDemoDatabase SQL string: CREATE DATABASE [Demo Database NAV (6-0)] 

    Error 26204. Error -2147217900: failed to execute SQL string, error detail: CREATE DATABASE failed. Some file names listed could not be created. Check related errors., SQL key: CreateDemoDatabase SQL string: CREATE DATABASE [Demo Database NAV (6-0)]

    The problem here is data files with the same name as the one we are trying to install already exist in the instance. To fix this problem we need to delete those already existing data files. On SQL server 2008 go to C:\Program Files\Microsoft SQL Server\MSSQL10.(instance name)\MSSQL\DATA and delete Demo Database NAV (6-0).mdf and Demo Database NAV (6-0)_log.LDF. After this start main installer again and execute repair.

  • Microsoft Dynamics NAV Team Blog

    Doing upgrades to NAV 2009 SP1


    When doing an upgrade - even when not touching the database and application objects - to NAV 2009 SP1, remember to also compile all objects for the new version of executables. Compiling all objects must be done when doing an update from NAV2009 RTM (No SP) to SP1.

    The way objects get compiled for the Role Tailored Client (RTC) has changed between NAV2009 RTM and SP1, and may change again in future versions as part of general improvements. Until you compile all objects in a SP1 Classic Client, opening a NAV 2009 RTM demo database with NAV2009 SP1 RTC will give you a lot of errors saying:

    "Error: Compilation of assembly c:\ etc'"

    And RTC will look like this:


    Of course, if you use a SP1 database or upgrade all objects to SP1, then this will not happen since the objects will already have been compiled for SP1. Compiling objects may also give a few errors even for objects that compiled fine in RTM.

    In a standard demo database at least these two reports in their RTM version will not compile in SP1:

    Report 13 - "VAT Register"
    Report 34 - "Change Payment Tolerance"

    In a localized and/or customized databases there may well be many more objects that won't compile.

    For these specific two reports, either import the SP1 version of the objects. Or correct them manually like this:

    For report 13, the layout has to be re-saved like this:
    Design the report, go to View -> Layout, then save it (Ctrl+S). Exit Visual Studio Report Designer, go back to the classic report design, import the layout, then close and save the report.

    Report 34 has this line that does not compile in SP1:

    Function PageSetCurrency:

        RequestOptionsPage."Max. Pmt. Tolerance Amount".DECIMALPLACESMAX(DecimalPlaces);

    Remove the line that does not compile. Remember to add a semicolon on the line before so that the report will compile.

    Lars Lohndorf-Larsen

    Microsoft Customer Service and Support (CSS) EMEA

  • Microsoft Dynamics NAV Team Blog

    Creating a web service manually, the importance of the name you give it, and a few small things to remember


    When you use the SC command line command to create a new NAV 2009 Service, how does the new service know whether it is a middle tier for RTC to connect to, or whether it is supposed to handle web service calls?

    In other words, what decides whether the new service will be "Microsoft Dynamics NAV Server" or "Microsoft Dynamics NAV Business Web Services"?


    It depends on the name. If it starts with "MicrosoftDynamicsNavWS", then it will be for Web Services. If the name starts with anything else, then it will be for middle tier for RTC clients.


    To keep things simple, just give your NAV Servers names beginning with MicrosoftDynamicsNAV / MicrosoftDynamicsNAVWS. Then if you need a second, third, etc server, add a unique name, seperated by a $-sign, for example:




    Here are the simple steps for how to create a new web service service, and a few more things to be aware of. Let's say that we want to start a second set of NAV Servers.


    First create the normal service from a command prompt:

    SC CREATE "MicrosoftDynamicsNAV$Svr2" binpath= "C:\Program Files\Microsoft Dynamics NAV\60\Service2\Microsoft.Dynamics.Nav.Server.exe" DisplayName= "MSSvr2"

    Then create the service for Web Services: 

    SC CREATE "MicrosoftDynamicsNAVWS$Svr2" binpath= "C:\Program Files\Microsoft Dynamics NAV\60\Service2\Microsoft.Dynamics.Nav.Server.exe $Svr2" DisplayName= "MSWSSvr2" type= share


    The additional settings you must provide as marked in bold above, and a few things that you must remember are:


    1)  The Name

    As described, the name must begin with MicrosoftDynamicsNAVWS if you want it to be for web services


    2)  Include the last part of the name in BinPath

    After the .exe in the binpath parameter you must specify the part of the name ($Svr2 in this case) that comes after MicrosoftDynamicsNAVWS. If you forget this step, you might get this error when you try to start the service:

    Windows could not start the MSWSSvr2 service on Local Computer.Error 1083: The executable program that this service is configured to run in does not implement the service.


    3)  Type must be share

    For the service that handles web services, add the parameter type= share. Otherwise the service will still try to start up as a middle tier (not for web services).


    4)  Spaces after =

    You must remember the space after each = in the command, as in for example "type= share". This is just the syntax of the SC-command.


    5)  DisplayName

    It doesn't matter what display name you give - this is just to find it in Services.


    These are just some of the small things to keep in mind. For many more details on web services go to Freddys blog, especially this post:

    Multiple Service Tiers - SP1


    // Lars Lohndorf-Larsen


  • Microsoft Dynamics NAV Team Blog

    New Colors, New Design, and Tons of New Content

    It has been about two years since the first post on the Dynamics NAV Team blog. Lots of changes since then! It is high time for a refresh. We hope you like our new design and are able to find topics and posts with ease. The design changes, which are very visible, occurred last week at the same time as some changes to the content and direction of our blog, which might not be so obvious. Here's what is changing:
    • We're focusing our energy on one team blog where you can hear from many different bloggers from all parts of the Dynamics NAV team.
    • We're incorporating lots of NAV blogs from around Microsoft into this one team blog. So far, we've brought in all the posts from the Microsoft Dynamics NAV Sustained Engineering blog and the NAV Developer's blog. You'll soon see a post on these blogs about moving over here to the NAV Team blog. More blogs will be moving soon.
    • We're keeping the original post dates from those blogs and adding tags for the original authors.
    • We organized and refined the tags on all of our blog posts, both the old NAV Team blog posts and the new posts from other NAV blogs.
      • A note about tags - you can set up RSS feeds based on tags. If you want an RSS feed for all posts on the NAV Team blog about Reporting, click the Reporting tag, and then click (RSS) under the Browse by Tags header.
    • With all this new content, we're shifting to being a more technical blog than we were previously. We'll still have announcements, news, and anecdotes now and then, but we'll also feature lots of technical content.
    Our goal is to make it easy for you to find great content from across our whole team and to keep you coming back for more. Let us know what you think!
  • Microsoft Dynamics NAV Team Blog

    Printer Selections in Role Tailored client


    Today Printer Selections Form 64 is not transformed to Printer Selections Page 64 since virtual table 2000000039 is not accessible from Role Tailored client.

    I thought of different options for how we could get page 64 to work and decided to try the new Client Extensibility feature in NAV 2009, although this could also be done with filing a temporary table from COM.

    I would like to share this option with you.

     Page “70809 Printer Selections FactBox” is using a client-addin, based on C#, to read the local installed printers and offers the way to select the name and save it to NAV 2009.

     Page “64 Printer selection” is enhanced with the new fact box.



    You can download the files here:

    You can use the file for your own risk. There is no support for it. 

    (Note: Before you can use the page 70809 you have to install the client extension library “printerslections.dll” on your machine. The easiest way to do this is using the Add-Importer from Christian. )


    Rene - Microsoft Dynamics NAV MVP (

  • Microsoft Dynamics NAV Team Blog

    Installation of Dynamics NAV 2009 hangs during installation of Outlook Add-in


    When installing NAV 2009 RTM you can sometimes if you are unlucky end up with an installer that hangs when installing Outlook Add-in. The most common reason for this is that the installation is not able to update the” Outlook.exe.config” file and get stuck in an infinitive loop.
    When looking in the event viewer you will get a similar error message to this:

    Product: Microsoft Dynamics NAV 2009 Outlook Add-in -- Error 27519.Error updating XML file C:\Program Files\Microsoft Office\Office12\Outlook.exe.config. -2147024891

    The problem is that the file is read-only or for some other reason is not accessible. To fix this problem in short words, simple search for “Outlook.exe.config” and make the file not read-only. The “Outlook.exe.config” is hidden, so the easiest way to change the property of the file is to search for it with explorer and under “More advance options” select “Search hidden files and folders”. The installation will directly after you have changed the property continue.

    This problem is fixed in NAV 2009 SP1.

  • Microsoft Dynamics NAV Team Blog

    License for Dynamics NAV 2009 RTC problem


    You do not have permission to run the ‘Microsoft Dynamics NAV Server' system. Contact your system administrator to have your permissions changed

    If you get this error when trying to start the RTC, it normally means it's something wrong with the licenses.
    Ensure that the license you are using has permission to run RTC and service tier (correct granule). Granule needed for RTC:

    • 9,000 Role Centers
    • 9,100 Dynamics NAV Server

    Ensure also that the license is uploaded.

    1. Start classic client
    2. Open the database used by RTC
    3. Click Tools->License information
    4. Click upload and pick the license file to be uploaded to SQL server

    Ensure also that the license is saved in the database.

    1. Start classic client
    2. Open the database used by RTC
    3. Click File->Database->Alter
    4. Click on integration tab
    5. Put a check mark on "Save license in database"
Page 36 of 50 (745 items) «3435363738»