Lawson Smart Office and desktop virtualized environments

Why is it so hard to get Lawson Smart Office to work well with a desktop virtualized environment? I will try to answer that question is this article.

What is a desktop virtualized environment? You can read one definition on Wikipedia, http://en.wikipedia.org/wiki/Desktop_virtualization but explained briefly it is an application that makes it possible to execute other applications like they where installed locally but in fact they are executed on a server somewhere and only the “screen” is transferred to the client machine. That means no code from the application is actually executed on the client machine.

Microsoft Terminal Services and Citrix are probably the most popular desktop virtualized environments. It is possible for users to start separate programs and make them appear like they are running locally. It is also possible to let the user get remote access to the entire Windows desktop.

Desktop virtualization is very popular because it makes life easy for administrators, there are no users that can install something on the machines that can interfere with important applications and an application is updated the same time for all users etc.

ClickOnce

Lawson Smart Office is using a Microsoft technology called ClickOnce for client installations. ClickOnce makes it very easy to deploy Smart Office because users are not required to have administative rights on their PC.

One of the reasons why this is working is that all binaries in a ClickOnce installation are installed into a “sandbox” which only lets the user that installed the application access the binaries and the data files. This is great when installing locally, but not ideal used in a desktop virtualization environment, in particular when having a farm of servers. So what is really happening?

The Smart Office binaries and data files are installed into C:\Users\<users>\AppData\Local\Apps\2.0 and that location is not included when using Windows Roaming Profiles. This becomes a problem when having a server farm where the desktop virtualized environment is executed and it is very common to make use of a farm, both to gain enough performance but also for failover. Normally when having such an environment Windows Roaming Profiles is turned on and everything below the path C:\Users\11914\AppData\Roaming (and some more) is copied to a storage server every time the user logs out or exits a program. The next time the user logs in or starts a program those files are copied to the server that is currently executing the desktop or the application.

With ClickOnce the problem is that the binaries are not in the path that is being roamed. If a user installs Smart Office in a virtualized desktop environment where Windows Roaming Profiles is turned on everything will work fine as long as the user gets directed to the same server machine. If not, then a broken Smart Office link will be visible in the Windows Start menu because Smart Office was not installed on this particular machine. If the user installs Smart Office again everything will work fine. This is very hard for users to understand.

I should mention one more thing about Windows Roaming Profiles. It is possible to configure Windows Roaming Profiles to delete all local files as soon as the user logs out in order to save disk space. This will make life much worse for the user because the Smart Office link in the Windows Start menu will always be broken.

There are customers that have created special packages with the binaries from a Smart Office client installation that are automatically copied and extracted to the correct location whenever a user is starting a virtualized desktop.

One solution to this would be to create a MSI installation package, which is a better way to install in a desktop virtualization environment. From Smart Office 10.0.0 we have created a MSI installation of the Smart Office client and the next chapter will explain some of the things that needs to be taken into account before deciding to start using the MSI installation.

ClickOnce vs MSI (Windows Installer)

Both ClickOnce and MSI have their pros and cons and below I have listed the most important ones.

Side-by-side installations

A ClickOnce application is installed from an installation point and every installation is unique. The Smart Office install process even let you name each installation with a suffix which makes it easy for the user to find the correct installed Smart Office in the Windows Start menu.

It addition to getting a separate link pointing the Smart Office client to the right server, each installation of Smart Office on the client have its own binaries which makes it possible to have one Smart Office installed for production with version 10.0.0 and another Smart Office client installed for test that uses version 10.0.2.

A MSI installation can only be installed once so it is not possible to have two versions of the Smart Office MSI installed at the same time.  If there are some other users that need to install other Smart Office clients maybe they can do it locally or a separate desktop virtualized environment could be created.

A new feature in Smart Office 10.0.3 is that it is possible to start the LawsonClient.exe (installed with the MSI installation) with parameters of where the Smart Office server is located and where the features for Smart Office are located. These parameters overrides the values specified when installing the Smart Office client using the MSI. This feature makes it possible to create shortcuts that start Smart Office with different server URLs. This may solve some problems but remember that the Smart Office client and the Smart Office server must be of the same version. If you have a test and production environment of different versions, this feature cannot be used.

Automatic updates

The Smart Office client consists of the framework and the Smart Office features executed inside of Smart Office. A Smart Office feature can be removed/added/updated without re-installing the framework. The framework is included in the ClickOnce installation and the MSI package, the features are automatically downloaded (if needed) when the Smart Office client is started. The features are managed in the Installation Point Manager.

The Smart Office features are downloaded in the same way for both the MSI install package and the ClickOnce installation point.

Updates of the Smart Office framework differs when using ClickOnce installation point and the MSI install package:

When using a ClickOnce installation point the Smart Office client checks if there is a new version deployed on the installation point whenever the client is started and if there is a new version deployed, the new version is automatically installed.

When using the MSI installation package it is up to the administrator to deploy updates and new versions. Remember that the Smart Office client and server must be of the same version otherwise the Smart Office client may fail to start.

Integration

The following features depend on a ClickOnce installation and cannot be used when installing the Smart Office client with a MSI.

  • The ability to e-mail a link to another user with a bookmark that will start Smart Office and open up the correct program and go to the right form.
  • Other applications cannot make use of the named pipe to communicate with the Smart Office client. (No products delivered from Lawson are using this functionality today.)
  • Other applications cannot use the port opened by the Smart Office client for communication.
  • Exporting to Excel and similar functionality may be a problem.

No testing is being done in a desktop virtualization environment

Smart Office is not being tested in a desktop virtualization environment and there can be scenarios that are not working, especially when integrating with other applications like Excel and Outlook. The official statement from Lawson is that running the Smart Office client in a desktop virtualization environment is allowed but not fully supported. Eventual issues must be possible to reproduce in a normal ClickOnce installation.

Good things to know

When uninstalling Smart Office installed with the MSI, no user files are deleted. The user files must be deleted manually for each user and the files are located here, C:\Users\<user>\AppData\Roaming\Lawson Software\Lawson Smart Office

When turning on Windows Roaming Profiles it can be a good idea to remove all features that are not being used to reduce the amount of files that will be roamed. Use the Installation Point Manager to remove deployed features.

If Windows Roaming Profiles is enabled for the users there is no meaning to use the roaming functionality in Smart Office as well. The roaming functionality is turned on by default but can be turned off in the Settings Editor on the Mango Core tab.

Smart Office is made to look good on a local machine with a decent graphics card. When executing inside of a desktop virtualization framework the graphics card may be overloaded or might not be used at all. Make sure to have the latest drivers for the graphics card. There is also some graphical functionality in Smart Office that can be turned off to gain performance.

–          Enable 3D animations

–          Enable radial gradients

–          Enable bitmap effects

–          Enable 2D animations

Turn on the following setting to get the best performance.

–          Enable high contrast

It can be a good idea to lock the settings so the users cannot change them.

Summary

Desktop virtualization environments are great as long as you know the limitations before starting to use it. If the users only needs to use one Smart Office client, normally the production version, and is not dependent on functionality to send bookmark links etc. then Smart Office will work great.

Links

Desktop virtualized definition
http://en.wikipedia.org/wiki/Desktop_virtualization

Citrix and ClickOnce workarounds
http://support.citrix.com/article/CTX125453

13 thoughts on “Lawson Smart Office and desktop virtualized environments

  1. Jonas Regmyr

    Great article!

    Please expand the section about Automatic Updates with the use of the msi installation. It’s not clear how to handle that from an administrators point of view for msi.

    /Jonas…

    Reply
  2. countzero42 Post author

    Unfortunately it is not so much more to say. If you install Smart Office with the MSI file you need to do the upgrade manually on all machines it is installed on. And this has to be done at the same time as the server is updated. The MSI is installing for “for all users” so the upgrade is only needed once on each machine. There exists tooling from Microsoft that can push out MSI files to computers that can help, but I do not know any details.

    Reply
    1. Jonas Regmyr

      Well, now it’s clear.
      An administrator has to rerun the msi on all machines in the farm after an upgrade of Smart Office. The ClickOnce installations of the same instance of Smart Office will handle a situation like this automatically without any intervention from the administrator.

      /Jonas…

      Reply
  3. Pingback: It’s all in the URL – Client Configuration « Developing for Lawson Smart Office

  4. Pingback: ClickOnce installation in Chrome | Developing for Infor Smart Office

  5. Johan

    Hi Rickard!

    We are trying to get Smart Office working on microsoft terminal server using the SmartOfficeEnabler application. The problem we run into is that it is not possible to use shortcut commands when running ISO via terminal server. Example: Trying to hit Ctrl + 1 + 1 is supposed to call related option 11, but ISO only reacts on the first digit. This means that it reacts on Ctrl + 1 (create) and don’t bother about the second digit.

    Have you heard about this problem before? We are running ISO 10.0.5 and M3 10.1.

    Regards,
    Johan

    Reply
    1. Rickard Eklind

      Hi!
      It sounds like it is a problem with terminal service, but I have never heard about it before. I do not work at Infor anymore and I have not the possibility to do any testing. Peter and/or Karin should be able to answer if it is a known issue.

      Regards
      Rickard

      Reply
    2. norpe

      I have not heard about this issue before.

      I guess it could be a timing issue if the keys are pressed to quickly for the remote application to respond. Does it work at all if you press the keys slowly? Try to hold down control and press 1, keep holding down the control key and wait for the option window to show and update its text. Then press 1 again, still holding down the control key. If the option window still only shows option 1 when pressing the keys slowly and waiting for the screen to update this could be some issue with remoting / terminal server.

      Reply
  6. Jason

    Hi Richard,
    Is there any plans to have a “light” client version of LSO for virtual or low spec PC’s? I have LSO running in a virtual environment and also on low spec thin clients running click once install and the performance of rendering a panel in M3 is so slow (even on a new desktop running click once of LSO) compared to the Movex Explorer V12Java client (talking seconds to open and close panel). LSO might look nicer the users of the system were expecting faster performance to display panels compared to an older version and never stop complaining 🙂

    Reply
    1. Rickard Eklind Post author

      Hi Jason,

      I am no longer working at Infor so I will not be able to answer your question, but I know there is a web user interface that should be more “light” then LSO. Just for clarfication, Movex Explorer is a C++ client and not a Java client 🙂

      Reply
    2. karinpb

      Hi,
      I’m sorry if Smart Office does not meet your users expectations. The light option is the H5 web client as Rickard mentioned. It comes in a free version and an Enterprise version. As for Movex Explorer – you just get so much more great user experience with Smart Office so I wouldn’t compare them. But I understand.

      I do remember 5250 – that was fast 🙂

      Reply
    1. karinpb

      Hi Drew,
      There are still a few limitations to the virtualized environments but we have done improvements as well. The new SOHO UI is more suitable for these kinds of installations. We have also introduced a new window setting that allows you to open all windows detached from the Canvas which will make less screen updates when running the client on a server. But the overall issue is still that Citrix XenApp for example does not support this type of installation technology. So ClickOnce is not supported. Now we can install with our MSI installation but then Smart Office still needs the isolated storage / user file area to be available (between sessions) for a better experience. For this to work Roaming Profiles needs to be turned on.

      For more info see Understanding Citrix XenApp and ClickOnce Applications.

      Reply

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s