Upgrading from Smart Office to

I like shiny new things. Apparently I’m attracted to flashing lights aswell, which explains the working in IT.

FWIW, in my mind, I was justifying the use of .Net4.5 and access to the new parallelism functionality that is available.

Because I like new toys, and because I didn’t really have a hope of getting budget approval for an Infor upgrade of Smart Office, I figured I’d do some research, use my DR environment and test doing an upgrade by myself.

During the research I came across two major stumbling blocks.

1). Our M3 UI Adapter wasn’t supported under 10.1

2). Smart Office doesn’t get upgraded, it gets replaced <sigh>

So, pouring over the documentation in my usual manner I looked to see if I could run multiple grids against a single BE and couldn’t find an answer – this may well have been because there wasn’t a section that said “Running Multiple Grids against a Single BE” but that’s a conversation for another day.

I caved and flicked a quick message to the resident Infor techy and asked “Can you have multiple grids against the same BE” which resulted in a resounding (ok, somewhat paraphrased) “not sure”.

This meant I was going to have to take a risk and potentially hose one of my environments and then get someone in to fix the issue. Not really something that appeals to me but I was planning on using my DR environment to test against. The beauty of this is, AS400 aside, the supporting services are all virtualised and get refreshed each night. Plus they have snapshots that I can quickly and easily revert back to.

As it turned out, doing the upgrade on my DR environment turned out to be a real drama that was going to absorb far too much time so I took a calculated risk and decided to try against our TEST environment. Our TEST environment has only been used a few times over the last 12 months and most people test in DEVE – don’t ask.

To make me more nervous, we have our production AS400, it runs our DEVE, PROD and TEST environments (we are a small company, so even with the AS400 we run, it’s more than capable of hosting the lot and more). Likewise, our Smart Office server has three environments, DEVE, PROD, TEST.

Upgrading one environment shouldn’t affect any of the others, but it really just didn’t feel good.

My plan of attack became:

1). Upgrade the M3 UI Adapter ( to

2). Ensure that Smart Office still works without issue

3). Export the Smart Office settings using the MangoAdminTool

4). Uninstall Smart Office

5). Install Smart Office

6). Import Smart Office settings and Test

7). Congratulate myself heartily for my death defying feat


It’s worth nothing that I did upgrade all the components under the grid that didn’t require a new version before I took on this challenge.

So, I went through and casually documented the upgrade of the TEST environment and after a few missteps got it working and upgraded the DEVE environment (which is what we’ll actually run through shortly).

First I’ll mention some of the things I discovered on my first upgrade:

  • M3 UI Adapter sucks a heap of the settings from the mne.properties file (mne\WEB-INF\properties) in to the H2 database. It appears to assume that the mne data (languages, view definitions etc) are under the mne directory (LifeCycle\<server>\grid\<environment>\applications\M3_UI_Adapter\webapps\mne). Unfortunately for us, this wasn’t the case.

    This created a few headaches for me trying to get things running correctly. Copying the contents of mne_data_<environment> under the WEB-INF dir after the install seemed to work. On my second attempt I did this before upgrading the UI Adapter which worked like a charm.
  • Exporting the Smart Office settings (including the profile). If you’ve been good and exercised due diligence by reading the http://smartofficeblog.com/ blog you’ll know that you need to upgrade to to export the settings before you can import them with the MangoAdminTool in
    The trap however (if you’re working on the No.8 Fencing Wire method as I am) is that when you use the MangoAdminTool to export the settings it will export them in to the Smart Office environment directory on the Smart Office server. This is an issue if you happen to UNINSTALL Smart Office after you have exported (of-course you can’t export the settings after the uninstall ;-)) – the exported file of-course gets deleted. Funnily enough during my first upgrade, I had actually copied my file to my local machine so I could have a wee nosey at what the file contained. But then I deleted it <sigh>
    The moral is, copy the settings file to your local machine – the MangoAdminTool has the facility to do this.
  • After installing the MangoServer and starting it, it appeared that the Grid didn’t recognise the registration (possibly because I had uninstalled an existing Smart Office first). I needed to shutdown the Grid for that environment and restart it for Smart Office to correctly register. Incidentally, the registrations look like they are stored in the following file https://<grid registry server>:<grid environment port>/grid/info.xml
    eg. https://wlmx02:21006/grid/info.xml
  • Take snapshots of your existing Smart Office profile – you’ll feel better for it 🙂

And finally, I wouldn’t recommend doing this unless you REALLY REALLY know what you are doing. Seriously! If you choose to follow these steps they are at your own risk.

I’ll admit, I didn’t know enough about what I was doing but I have a fairly good understanding of how the M3 components work, a solid troubleshooting methodology, snaphots, a DR environment to compare against and had the luxury of an environment that I could hose.

I think the first install took around 1.5 hours, second a fraction of that. The really good thing was that I gained some more insight in to how the components fit together.

So here goes…

Upgrading the M3 UI Adapter

  1. Copy the mne data in to the ‘default’ location (Automations, Customizations, DocumentLinks, Env_<environment id>, Help, Languages, MvxSys, UserSettings, ViewDefinitions)
    Eg \\wlso02\c$\mne_data_Deve to \\wlso02\c$\LifeCycle\WLSO02\grid\IFL_DEVE\applications\M3_UI_Adapter\webapps\mne\WEB-INF

    We do this as the new M3 UI Adapter doesn’t honour the path in the mne.properties file

  2. In LifeCycle Manager we upgrade the M3 UI Adapter

  3. Next

  4. Finish
  5. We can click on the Progress tab at the bottom of LifeCycle Manager. An upgrade successful message will appear if the upgrade worked. Click on OK
  6. Start the M3 UI Adapter

    We can see that we are at the new version
  7. Verify that the existing Smart Office ( is running correctly

Upgrading Smart Office

In the LifeCycle Manager I use the Hosts tab unless otherwise noted.

  1. Export all of the settings using the MangoAdminTool. You need to retrieve these settings!
  2. Set up your configuration – the environment name and the URI to connect to Smart Office
  3. I will export everything.

    Note: be aware that as we are going to uninstall our existing Smart Office, that the directory the data is exported to on the Smart Office server gets deleted! You MUST download the file before you uninstall.
  4. Download to local machine
  5. Stop Smart Office Instance
  6. Uninstall existing Smart Office
  7. Click on OK for the uninstalled message. You should see something like this now.
  8. Install new Smart Office (under the Applications tab)
  9. Select Environment
  10. Next

  11. Default System Profile Name – I just used DEVE as that was what my old one was
    Suffix – I’ve seen a number of consultants with a bagillion Smart Office instances installed, so I wanted to make the Suffix descriptive for them so it looks like so when installed

  12. Which server should it be installed on?

  13. Summary page, click on Finish
  14. Note it now says “MangoServer” – hopefully no more naming confusion 🙂
    Now we do the standard “Export Server Information” – this will be used to sign Smart Office

  15. Select an appropriate directory

  16. Click on Finish
  17. Now we need to Sign our Smart Office install – you need the cert that you have previously signed Smart Office with.

  18. If all went well, then the install gets signed and is ready to be imported in to the Install Point.

  19. Import our signed install

  20. Locate where the install file was output to in step 16

  21. Hit finish

  22. And we should see that all is good in the world!

  23. Shutdown all the components for the environment – including the Grid itself. The grid/info.xml won’t get updated with the new services until that point

  24. Because we uninstalled we need to set our rights back up
  25. Edit User and Role Mappings as appropriate
  26. And now we use the Mango Admin Tool to Import the old settings
  27. Upload the settings we downloaded
  28. Import
  29. Click Yes

And then I was able to install Smart Office on my machine.

This entry was posted in How Far is Too Far?, M3 / MoveX, Misc, Uncategorized. Bookmark the permalink.

15 Responses to Upgrading from Smart Office to

  1. karinpb says:

    You’ll see that with some practice you can to this in 20 minutes.
    I wanted to have a post on how to do this, but now I can just link your post so thanks for that!

    Important to note however is that you did not install any extra lawsonapplications such as the Mashup Designer or Process Flow. You still need to install them in the new Smart Office.

    As for the M3 User Adapter they don’t have a H2 database, at least not in this version. But the grid is moving configuration to the database. I’m not sure in which version I would have to check my notes.

    • potatoit says:

      Yup, even given the second environment upgrade I noticed a significant reduction in time – granted I didn’t have to troubleshoot and explore as much as I did in the first attempt 🙂

      H2 db – ah, I had made an assumption that the h2 db was the standard used based on the GDBC component.

      For the sake of completeness, I did notice recently that in the uplifted version of the M3 UI Adapter there is a “File Root Path” option available in the Application Properties, which if I had populated, I expect would have meant that I wouldn’t have needed to copy the mne data contents.


      • karinpb says:

        Yes, the file root path can be a mapping to a drive on the machine. Although MUA isn’t using H2 or a database in this version it does not mean that it won’t use a database instead of file storage in, let’s say, the the next version or so.

  2. Pingback: Migrating from Smart Office to | Developing for Infor Smart Office

  3. Pam Ekstrom says:

    Hi, we recently upgraded our Smart Office to and now our GLS100 uploads produce a Status Bar error message that we have to enter through twice for each line. We originally got this script from you so I was wondering if you could let me know where we would need to tweak it to get it to work again.

    • potatoit says:

      Hi Pam,

      what is the error message in the status bar?

      And do you know which version of the script you are running?
      I’ve just tried my V10 version against and it worked without issue.


      • Pam Ekstrom says:

        Hi Scott, The error message that we get is: “Couldn’t find the status bar”.

        Could you e-mail me the V10 script that you are using?

        Let me know.

      • potatoit says:

        Hi Pam,

        email has been sent, please let me know if that resolves the issue – if yes, I’ll make sure an updated version is easy to find here 🙂


  4. Jean says:

    On the previous version of LSO (version 9.0) this code segment use to work
    var border = VisualTreeHelper.GetChild(listView, 0);
    var grid = VisualTreeHelper.GetChild(border, 0);
    this.scrollViewer = VisualTreeHelper.GetChild(grid, 3);

    but ever since the upgrade I’ve been receiving this error:

    System.ArgumentOutOfRangeException: Specified index is out of range or child at index is null. Do not call this method if VisualChildrenCount returns zero, indicating that the Visual has no children.
    Parameter name: index
    Actual value was 3.
    at System.Windows.FrameworkElement.GetVisualChild(Int32 index)
    at System.Windows.Media.Visual.InternalGet2DOr3DVisualChild(Int32 index)
    at System.Windows.Media.VisualTreeHelper.GetChild(DependencyObject reference, Int32 childIndex)

    is there a new way to access the scrollViewer with the new version of LSO?

    • potatoit says:

      Hi Jean,
      the issue is that the controls have changed – so hard-coding the index of the control is causing the issue.
      You can check the number of children a control has with the VisualTreeHelper.GetChildrenCount method.

      Taking a look at that shows that against the ListView in OIS300 there is only 1 child based on your code, so when you call VisualTreeHelper.GetChild(grid, 3) you get the exception.
      Interestingly if you add a debug.WriteLine(grid.GetType()); you’ll get a ScrollViewer 🙂 – I haven’t dug deep enough to determine if this is the one you’re after though.

      A helpful tool you can use is WPF Inspector – this will show you the VisualTree. It isn’t maintained anymore but still works well.

      Hope this helps point you in the right direction.


  5. nikhil says:

    Hi Scott,

    I am unable to export using Mango Admin tool.
    I am getting below error:

    Failed to execute operation
    An error occurred while sending the request.
    The underlying connection was closed: An unexpected error occurred on a send.

    I am using TST which is Test Grid name under configuration.
    and for server uri i am using https://m3hostname:16201
    Port 16201 is port for mango application which can be seen in grid ui.

    please help!


    • potatoit says:

      Hi Nikhil,

      off the top of my head, I think you need to specify /mango
      so try pointing the MangoAdminTool to

      Also, in a standard configuration 16201 looks is a http port, not https, so you probably want:


      • nikhil says:

        Hi Scott,

        Thanks for your response. I figured it out after sometime using different ports.
        It worked with HTTPS port of the Default Router for Mango Server which was 48625.
        Also, Can you help me high level plan for ISO to ISO 10.2.1 upgrade.
        My assumption is taking full export, update grid, update grid extensions, update DSP, update DSSO and then reinstall ISO 10.2.1 and then import.

        Let me know your view, and yes i am doing this on lawson side.


      • nikhil says:

        Hi Scott,

        Thanks for your response. I tried different things and it worked finally. I had to use HTTPS port for the default web router on Mango Server.

        Also, am planning to upgrade ISO from to 10.2.1. My assumption is that I’ll do full export, uninstall ISO, update grid, update grid extensions, update DSP, update DSSO, reinstall ISO 10.2.1 and then import. Can you see if my high level plan looks ok?
        Please note am doing this for Lawson.


      • potatoit says:

        I haven’t done such a large leap in versions, so scrutinise the documentation. Under M3 there are some additional steps that need to be taken with the M3 specific components (eg. M3 UI Adapter) on the later versions, I don’t know if there are similar requirements for the sforms adapter. It probably wouldn’t hurt to log a question on InforXtreme to confirm that those steps are ok.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s