Wednesday, January 28, 2015

Retail Modern POS (mPOS) installation and setup via AX 2012 R3 CU8 demo machine

When you open the AX 2012 R3 CU8 machine, you'll notice that you cannot see the Retail Modern POS (mPOS) application (Figure 1 below). Additionally, if you spend time trying to load it onto the administrator account's Windows 8 profile, you will not be able to run it. The application was specifically designed to not allow the user to run this app. So you will have to log into a different user to access it.

So the whole purpose of this post will be: 'How can I get into the mPOS'.

OPTION 1 - Use an existing user with the mPOS installed and configured
There is a user setup out of the box for this. Literally you can spin up the machine from Lifecycle Services (LCS) and start getting into the mPOS in this version. In previous versions, there were issues but it seems to have been ironed out now.
  1. Log into the RDP session as contoso\Emmah, with the 'standard' AX password with the '@' sign we all know and love .
    1. You will now see a number of POS registers on the desktop. If you navigate to the Start screen, you will see the Retail Modern POS (Figure 1 below) installed.
  2. Click on the Retail Modern POS application
  3. Enter the Device activation information in Figure 2 (or whatever yours is but this is from the demo)
  4. Click 'Activate'. It will take ~15 seconds to activate as seen in Figure 3.
  5. You are in the modern POS now!
Something interesting happened for me testing this route though. I was in the mPOS and poking around very casually. Then got up to get coffee, started documenting this in this blog post and noticed that the screen flashed and the app apparently crashed or something. Now the app can't be found anywhere. That's fun. So onto the second option I guess...

Figure 1 - The Retail Modern POS application
Figure 2 - The mPOS settings needed to log in

Figure 3 - The mPOS processing and activating the device
OPTION 2 - Create a new user, install the mPOS, configure, and go.
I wanted to use my own username instead of Emmah and do the configuration from beginning to end. This includes installing the mPOS on the machine for the user. Since the Emmah mPOS session crashed and apparently uninstalled itself, this option was a natural progression now.
  1. Create the new user and add them to the appropriate permissions (I did admin group because I need to do a bunch of admin tasks in demos)
    1. I believe you need to be an admin to install the mPOS. I haven't confirmed but I have a very strong feeling that you do.
  2. Add the user to AX (not required for mPOS but I have to demo other stuff)
  3. Setup the user in AX as a POS user that will ultimately get into the POS
    1. I won't get into the details of how to do that in this post as that would be off topic.
  4. Install the mPOS app to the user (note that the other components have already been installed on the machine
    1. Navigate out to the Retail Modern POS Tools in Windows Explorer (C:\Microsoft Dynamics AX\60\Retail Modern POS\Tools)
    2. In Windows Explorer, click File->Open Windows PowerShell->Open Windows PowerShell as administrator
    3. UPDATE 6/21/2016: change your directory in powershell to: cd "C:\Program Files (x86)\Microsoft Dynamics AX\60\Retail Modern POS\tools"
    4. Enter the following in PowerShell: .\Install-RetailModernPOS.ps1 -Path "C:\Program Files (x86)\Microsoft Dynamics AX\60\Retail Modern POS"
      1. If you enter the location wrong, obviously you will get an error. If its correct, a bunch of stuff will occur and fly around in the PowerShell script.
      2. When successful, you'll see Figure 5 below.
    5. Create a new Device in AX
      1. You should create a new Device in AX for every new mPOS instance (Dynamics AX->Retail->Setup->Devices)
      2. If you skip this step and you activated the 'Houston-3' device like in Option 1 above, you'll get the error below in Figure 4.
      3. You can skip this step if you deactivate the other device and associate it with this instance. Up to you, but I want a new device setup.
    6. Activate the new device with the new user (Figure 6)
    7. The mPOS will open and you can log in!
    8. The device activations can be seen in Figure 7. All done!
All done! Easy enough!

Figure 4 - The error trying to activate a device that's already been activate

Figure 5 - Last part of the PowerShell script indicating everything installed correctly

Figure 6 - Activating the new device

Figure 7 - The device activations

18 comments:

  1. Hi,

    I can activate modernpos on vm demo contoso , and then log in.

    If I run the same operation on my own server retail environment , I also manage to activate modernpos , but I can not initialize the data . When I look in Fiddler , the queries stop at GetButtonGrids while in demo contoso environment , it continues with Shifts / GetByStatus and Shifts ( ShiftId = ' 1', TerminalId = ' HOUSTON -3') / Resume

    I try to initialize the data parameter in retail but the problem is still present.

    After turn on the application at the first login, a quick message appears:

    A problem occurred with the encryption device. Call your system administrator

    Do you have any idea?

    https://community.dynamics.com/ax/f/33/t/153811.aspx

    ReplyDelete
    Replies
    1. Florent, Sorry for the delay. I responded to this below today. Not sure if you get an update to my response on this when I reply to this blog as a whole or just to yours so I'm doing both.

      Delete
    2. Florent, there is a bug in the code. KB3046477 was supposed to fix this but it sadly didn't do it for us atleast.

      As a workaround, set up a TestConnector in accounts receivable and then choose this as the "EFT service" in the "hardwareprofile" for your device and then a full activation of the device will work and you can log in.

      Delete
  2. https://community.dynamics.com/ax/f/33/t/153811.aspx

    ReplyDelete
  3. Flourent,
    Sorry for the delay in response. Things have been wild with the preparation for the Microsoft Convergence 2015 this year. Are you still having the issue?

    I haven't seen your specific issue before but I have an idea that might help.

    So the POS appears to be authenticating the user and then logging in. The error is thrown when the objects within the POS are being loaded (with the 'stop at GetButtonGrids' part). This indicates to me that the button grids can't be loaded for one reason or another. Can you verify that the user's configuration is setup correctly? Is this an issue when you attempt to log into other users into the same device?

    I'd also try checking the permissions of the POS application against the machine where the POS objects are located. There was something in AX 2012 FTP and 2009 retail where the user running the POS application had to have access to certain dll objects on the server in order for the profile to take its data and render them with the objects installed on the server. I'm not sure if this is still the case in the mPOS but was for the ePOS. Especially when trying to configure the layout of the POS in the AX designer.

    Some places to start for sure though!

    ReplyDelete
  4. Hi Justin,
    Thanx for your reply !

    The convergence 2015 it was interesting to you ? What's new for the upcoming releases of Ax ?

    I ask myself if the layout, buttons and buttons groups are correct and up to date. Indeed they have been created in R3. Following the update R3 has CU8 , I have launched the initialization, but a message that some records already exists and will not be replaced . When I compare with CU8 Contoso, I do not have the same visual. How to Reset CU8 with the components to be sure ?
    I will try to connect with another user to see .
    I have added the configuration layout modernpos to the user, as well as store.

    The modernpos client I use is the contoso vm . It works with retail confguration server contoso . The problems come I get when I try to connect the client modernpos contoso my own retail server that is on another machine and connected to another database.

    Merci

    ReplyDelete
    Replies
    1. Florent, that makes me think that either the mPOS is missing something on that machine or the machine can't access the server you need. I haven't seen this before so I'm taking some stabs at it.

      Can you verify that the data in the POS terminal in question has the appropriate information in the database? Can you try logging in using an 'offline' mode and verify you're getting the same error? As one last question, can you run an ePOS on the machine where the mPOS is failing? That can help us identify its just with the mPOS.

      As an additional trick, maybe copy a working database from an mPOS machine and restore it on the one in question and log in from an offline mode?

      Here is another post that you may/may not have seen. Not sure if it can help.
      http://blogs.msdn.com/b/axsa/archive/2015/02/07/how-to-connect-modern-pos-to-dynamics-ax-2012-cu8-instance-in-azure.aspx

      Delete
    2. Convergence is always an interesting yet tiring time. Lots of stuff to do before and after the event. Upcoming stuff for new release was pretty much same AX7 info from the tech conference. Can't post about it though :-) But I think its available on the tech conf site in one of the keynotes. Very informative!

      Delete
  5. I am getting error while activating Modern POS. I checked on Server that crt.EmployeepermissionsView is not there . Although when I checked in the database,It was there

    ReplyDelete
    Replies
    1. When you checked the server, did you check the actual AX data? I would make changes to make sure that there is a proper data flow to/from AX synchronously and asynchronously (to channel DB). Especially if you are seeing discrepancies.

      The activation could be an issue with the connection between the mPOS and the AOS, not necessarily due to user data. I would expect the user permissions for something like that (not sure exactly what it is) to create an issue after the device is activated and the user is attempting to log in.

      Are you using the AX Azure CU8 install and an mPOS outside of the domain or is the till on the same server as the AOS?

      Delete
  6. Hi Justine. I wonder if you have experience in connecting an MPOS installed outside LCS/Azure (let's say in your company network) to the Retail Server running on one of the demo LCS VMS.
    What I am trying to do is to consume the Retail Server from outside LCS/Azure. We would potentially have the Retail Server installed on our network at some point, but for now we just want to check whether it is an option for us without wasting time to install it first.
    Thanks!

    ReplyDelete
  7. Hi,

    Thanks for the detailed steps.

    Did you found anyway to automate the activation process?

    As it can be a ticket generator for the helpdesk.

    Kind regards...

    ReplyDelete
    Replies
    1. There are ways to automatically deploy the MPOS via PowerShell scripts. And I have done it before. In the latest release of Dynamics AX (e.g. AX 7), the deployment process has been significantly streamlined.

      Delete
    2. You mean install/uninstall process or the "activation"-flow or both?

      For the install there is a PowerShell out of the box. For activation, I can not find any PowerShell out of the box.

      Delete
    3. Activation will be a different process than the PowerShell process.

      Delete
  8. Hi all,

    Do you know if there is a way of how I can uninstall all the modern pos app at one go? (I mean windows app).

    Thanks and Regards,
    Kevin

    ReplyDelete
  9. Thank full , epos he was new Way to help to us to get the business running sucessfull.

    ReplyDelete