Skip to content

2023

"ActiveX component can't create object" when starting Lime CRM Desktop

Background

The error occurs when a user logs in to Lime CRM Desktop using major version 11, leaving the client in a broken state. This issue is caused by a recent update of WebView2 Runtime by Microsoft (version 120.0.2210.61). An issue has been open with Microsoft and others have experienced the same problem.

Update to WebView2 Runtime 120.0.2210.77 and later resolves the issue for all versions of Lime CRM Desktop. The updated versions was released 16th of December 2023 and should be generally installed by automatic updates by the 18th.

Lime CRM Desktop version 11.1.3088 resolves the login issue, but some customizations may not work correctly.

Lime CRM Desktop version 10.18.962 or older are not affected.

Solution

Upgrade to Lime CRM Desktop 11.1.3089 or later.

Download the installer from one of the links below. Ensure that you shut down the desktop client before running the installer. Double-click on the installer and follow the provided steps. You should now be able to use the Desktop Client again.

Auto Update Enabled

This solution assumes the auto-update feature is installed in your environment. By using the auto-update feature, the user does not require admin privileges, and the new Lime CRM version can be installed by the user themselves.

Download Lime CRM Desktop (requires auto-update to be enabled)

Administrators

For this solution, the user needs admin privileges to run the installer.

Download Lime CRM Desktop (requires admin privileges)

Lime CRM Desktop Client 11.1.3088

Product Lime CRM Desktop Client Version 11.1.3088 Date published 2023-12-08 Platform Windows Availability Manual installation and Automatic Updates.

This build primarily target error “ActiveX component can't create object” reported after Windows Update broadly distributed 8th of December 2023.

Fixes

  • Use C++-level object creation instead of COM for internal object.
  • Fixed regression in cookie transfer that broke session handing for WinINET.
  • Removed obsolete reference to loginwithsession, session transfer is since long time handled via cookie sync. Switched to InternetSetCookieEx2 to properly handle expiration and removal of obsolete cookies.
  • Updated MSVCRT to match VS 2022
  • Removed dependency for deprecated .Net Framework v4.0
  • Updated bootstrapper for WebView2
  • Improved robustness for tracking modifications for relations in user interface
  • Avoid reporting errors for abandoned/orphaned operations.
  • Coerce optional parameter-argument in Application.RaiseEvent to string-compatible type to ensure compatibility with existing VBA customizations.
  • Ensure session state is cleared before initiating login.
  • Separate sessions using WebView2 profiles.
  • Ensure SSPI does not take priority over explicit login.

Lime CRM Desktop Client 11.1.3089

Product Lime CRM Desktop Client Version 11.1.3089 Date published 2023-12-11 Platform Windows Availability Manual installation and Automatic Updates.

This build primarily target error “ActiveX component can't create object” reported after Windows Update broadly distributed 8th of December 2023.

Fixes

  • Use separate registration of internal COM-objects to mitigate problem introduced by WebView2 v120 and later.

Lime CRM Desktop Client 11.1.3057

Product Lime CRM Desktop Client Version 11.1.3057 Date published 2023-11-17 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Refined usage reporting.
  • Fixed problem with client-side sorting after switching view.
  • Compatibility: Fixed problem with modified handling when removing file contents for document
  • Added events to allow customization of template and document handling: BeforePopulateTemplate, AfterPopulateTemplate, BeforeOpenDocument, AfterOpenDocument
  • Ignore cookies during SSPI negotiation to avoid implict session.
  • Stability: Worked around crash due to improper window procedure for editing GPS coordinates.
  • Fixed compatibility issue for case-insensitive lookup of translation keys.
  • Stability: Added guards against unsafe thread access to fix rare crash seen via Sentry
  • Extended validation of parent argument for OpenInspector. Refined support for Controls as parent for Inspector.
  • Disable CCC unless explicitly enabled via config for view. This will reduce backend load for ActionPads without any visible components.
  • Compatibility: Gracefully handle missing add-permission for fields and unified policy for new/add to workaround issues with policies via hyper-cache, which is mandatory in cloud.
  • Restructured detection of parallell sessions to handle situations where username is not known, ie. SSPI and web-based login via AzureAD or similar.
  • Fixed bug in cookie sync that broke support for WinINET with app-proxy
  • Stability: Improved robustness for parent-child relations between Records.
  • Worked around compatibility problem with Word for situations where application is closed by user.
  • Re-enabled integration with Heap.io
  • Improved handling of embedded email addresses in text.
  • Removed dependency on VBScriot to open links in text.
  • Implemented proper error handling for Application.Shell.
  • Implemented explicit support for handling SetForegroundWindow via DDE.
  • Stability: Worked around race-conditions discovered after updating SDK and WebView2 119
  • Stability: Avoid unexpected side-effects of accessing closed tabs during cleanup.
  • Stability: Worked around crash when hit counting is triggered without record.
  • Scalability: Dynamically adjust batch size based on number of relations affected by the update.
  • Stability: Handle potential memory and reference leak due to internal usage of assignment operator.
  • Stability: Ensure any pending settings changes are applied before index operations to avoid race-conditions.
  • Stability: Worked around unhandled exception during shutdown.
  • Compatibility: Fixed problem where text shortcuts was loaded from wrong location.
  • Ensure records added with backend ID are shown.
  • Allow automatic requery when list edit is finished.
  • Render paused results unless loading.
  • Use string logical order for options.
  • Compatibility: Fixed bug in cursor handling for One-by-One, previously masked by other bug.
  • Added warning for slow timers.
  • Improved robustness for closed and invisible inspectors.
  • Prefer To over CC and BCC when relating email to recipient.
  • Stability: Avoid triggering Records.Requery from WM_PAINT to avoid violations to COM threading model due to modal dialogs displayed from formulas in filters. This should resolve (or at least mitigate) problems with empty ActionPads.

Lime CRM Desktop Client 11.1.3059

Product Lime CRM Desktop Client Version 11.1.3059 Date published 2023-11-17 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Refined usage reporting.
  • Fixed problem with client-side sorting after switching view.
  • Compatibility: Fixed problem with modified handling when removing file contents for document
  • Added events to allow customization of template and document handling: BeforePopulateTemplate, AfterPopulateTemplate, BeforeOpenDocument, AfterOpenDocument
  • Ignore cookies during SSPI negotiation to avoid implict session.
  • Stability: Worked around crash due to improper window procedure for editing GPS coordinates.
  • Fixed compatibility issue for case-insensitive lookup of translation keys.
  • Stability: Added guards against unsafe thread access to fix rare crash seen via Sentry
  • Extended validation of parent argument for OpenInspector. Refined support for Controls as parent for Inspector.
  • Disable CCC unless explicitly enabled via config for view. This will reduce backend load for ActionPads without any visible components.
  • Compatibility: Gracefully handle missing add-permission for fields and unified policy for new/add to workaround issues with policies via hyper-cache, which is mandatory in cloud.
  • Restructured detection of parallell sessions to handle situations where username is not known, ie. SSPI and web-based login via AzureAD or similar.
  • Fixed bug in cookie sync that broke support for WinINET with app-proxy
  • Stability: Improved robustness for parent-child relations between Records.
  • Worked around compatibility problem with Word for situations where application is closed by user.
  • Re-enabled integration with Heap.io
  • Improved handling of embedded email addresses in text.
  • Removed dependency on VBScriot to open links in text.
  • Implemented proper error handling for Application.Shell.
  • Implemented explicit support for handling SetForegroundWindow via DDE.
  • Stability: Worked around race-conditions discovered after updating SDK and WebView2 119
  • Stability: Avoid unexpected side-effects of accessing closed tabs during cleanup.
  • Stability: Worked around crash when hit counting is triggered without record.
  • Scalability: Dynamically adjust batch size based on number of relations affected by the update.
  • Stability: Handle potential memory and reference leak due to internal usage of assignment operator.
  • Stability: Ensure any pending settings changes are applied before index operations to avoid race-conditions.
  • Stability: Worked around unhandled exception during shutdown.
  • Compatibility: Fixed problem where text shortcuts was loaded from wrong location.
  • Ensure records added with backend ID are shown.
  • Allow automatic requery when list edit is finished.
  • Render paused results unless loading.
  • Use string logical order for options.
  • Compatibility: Fixed bug in cursor handling for One-by-One, previously masked by other bug.
  • Added warning for slow timers.
  • Improved robustness for closed and invisible inspectors.
  • Prefer To over CC and BCC when relating email to recipient.
  • Stability: Avoid triggering Records.Requery from WM_PAINT to avoid violations to COM threading model due to modal dialogs displayed from formulas in filters. This should resolve (or at least mitigate) problems with empty ActionPads.

2023.2 – Vaalserberg

Release notes

⚡ Features

Aggregates

Aggregates can add new data to the table and thus drive insights based on information that is otherwise stored in tabs; customers without customer visit, which products customers have bought, number of open tickets, etc. The easiest way to think about Aggregates is "Info Tiles in the table".

You can show and filter on Aggregates and also include them in the filter set you build.

aggregates

Limitations
  • You can create filter sets that include Aggregates. However, these filter sets are not supported to be used in Add-ons that use filter sets, such as Info Tiles or Call Out.
  • Bulk actions can only be done if records are "manually selected", if an Aggregate is included in the view or filter set. In other words, use the checkboxes, not "Select all" if you have an Aggregate in the table.
  • Aggregates that are created in Lime Admin can only be used in the web client. (Aggregates can be accessed via our API, but then the Aggregate needs to be defined in the query.)

Find the Filter Sets You Are Looking For

Browsing and navigating between filter sets can be tedious. Some solutions have 50+ filter sets. And that is only counting the Company table.

With the new filter set picker we make it a breeze to browse, search, find and use the filter sets that are relevant to you. No configuration, no user or group management, no admin work. Just use it and the experience will be more user-adapted.

filter-sets

Document Templates: Image Support and XLSX + PDF Support

Document templates have received two major features.

Images

Now you can insert images of products, coworkers or something else in your template. It's not harder than writing {{coworker.picture}} , and you are done.

images-support

Support Excel And Pdf File Types

Use any file type (not only docx) as a template. Great for those Terms of conditions.pdf or Quote calculation.xlsx. Docx is still the only format that support merge codes.

xlsx-and-pdf-support

Stacked Cards

An innovative solution with a design that explains itself so well. Adds that extra flavor and conveys that user-friendliness is one of our corner stones.

stacked-cards

Adding Customer's Logos To The Web Client

Add a link to an image in Lime Admin and 💥, you are good to go! If you want it permanently in a customer's solution, please read the docs.

customers-logo

New Bulk Create Workflow

Bulk create is the feature you use when you want to create, for example, several history notes or to-dos for a set of records. It is also the feature you use when you attach Persons to a Marketing activity. You turn the feature on for the lime types where you want it and configure which lime types you want to create. Now it supports:

  • Hide Fields In Create New Dialog
  • Variants
  • Inline Create

This makes workflows such as "create marketing activity when adding participants" possible.

bulk-create

Faster

We have replaced the whole frontend framework from Angular.js with Stencil. This makes the web client go much faster.

Actions - Beta

We have created a solution for you where you only need to create the logic of an action and we take care of the rest. Actions are straight-forward things that the user is encouraged to do, here and now. "Assign me", "Close ticket" or "Send with E-sign" are typical actions. They have never looked better than now.

So now you can stop putting ugly web component buttons in the Overview tab and use Actions instead!

The Action Bar

The first thing you will notice is the Action bar. The Action bar is present in all tabs and scales great on different screen sizes.

action-bar

The Bulk Action Bar

Bulk actions are way easier to find since they also get to use the action bar.

bulk-action-bar

Actions Everywhere

Once you add an icon to a lime type, it will be accessible from all views which support actions. The List view, for example.

action-everywhere

Read more in our docs.

Change Application Languages in Lime Admin

Users is encouraged to provide filter set names, table names, fields names etc. in all active languages. Now it's possible to change active langauges in Lime Admin and make it workflows easier for users.

You need to set the feature switch useLimeAdminForLanguageSettings to true.

languages

🐞 Bugfixes

  • Table freezes after applying filter
  • Support inline-create when creating document from template
  • Sorting does not work after you have moved a column
  • Change object values that aren't part of the object form
  • Postpone component: postpone button is disabled when StartDate and DueDate hold the same value.
  • Inline create breaks form after saving
  • It is not possible to change filters in the history panel on any card.
  • Option fields do not work with option queries
  • You can save even though fields are set as required through Variants
  • Inline create breaks form

Changelog

⚠️ Breaking Changes

Application configuration file location

Application configuration file (application_config.yaml) must now be placed in the root of C:\ProgramData\Lundalogik\LIME Pro Server folder, instead of anywhere within the folder.

The Installer

Add support fro mjs type files

The desktop client would not work properly due to mjs type was missing in the types list of the nginx config so the mimetype got set to text/plain.

Ensure Celery nodes get unique names

To support Celery running on two on-premise servers on the same network the node names must be unique. If two or more replicas are to work together they must mingle and gossip (sublime setup).

Fix installation when HOMEDRIVE is not a local drive

The installer will interrupt the upgrade if HOMEDRIVE is not a local drive.

If JAVA_HOME is set, the installer will check if it points to a version that is supported by Elastic Search shipped in version that is installed. If not, it will interrupt the installation.

Reinstall RabbitMQ when upgrading

From now on, the installer will reinstall RabbitMQ when upgrading so no manual actions are necessary.

Lime CRM

Cleanup job does more

In this release, the cleanup job will also remove files that have been uploaded but not attached to any entity. This is to avoid having files that are not used in the system.

Additionally, there are system jobs periodically prune files that are marked as deleted.

Last but not least, files that were locked are unlocked after 24 hours.

Performance changes

  1. SQL changes - different locking level
  2. Introduced a draft file status - Files uploaded but not attached will be removed when
  3. SCIM change - extra fields for handling long names (when deleting accounts)
  4. S3 md5 checksum fixes
  5. Support multipart file uploads

Included services and frameworks

Below is a list as originally shipped with 2023.2:

  • LDC - 12.9.2019
  • LISA - 12.8.35
  • Elastic Search - 7.17.14 (shipping Java from Oracle Corporation in version 21+35-2513)
  • Ngnix for Windows - 1.23.3.4 SnapDragonfly
  • NSSM - 2.21-134
  • WinSW 2.12.0
  • Microsoft ODBC Driver 18 for SQL Server (MSODBCSQL18) - 18.3.2.1
  • Microsoft Visual C++ 2015 x86 Redistributable (VC Redist) - 14.36.32532.0
  • Microsoft Visual C++ 2015 x64 Redistributable (VC Redist) - 14.36.32532.0
  • Microsoft OLE DB Driver 19 for SQL Server - 19.3.2
  • Erlang OTP - 26.1.1
  • RabbitMQ Server - 3.12.6
  • Microsoft Handle (sysinternals) - 5.0

RabbitMQ cannot be started after an upgrade of Lime CRM

Summary

After an upgrade of Lime CRM, the RabbitMQ service might either not be able to start or it might not be visible in the list of installed Windows services at all.

RabbitMQ is used for sending messages to other services about events happening in Lime CRM. It is also used for triggering asynchronous jobs, like text file imports.

Symptoms

This may give rise to several symptoms like imports not working, not being able to open documents, or not being able to update values.

Resolution

Remove Erlang and RabbitMQ from the server

  1. Make sure that all Windows Management Console application (like windows event log, computer management etc.) are closed.

  2. Uninstall Erlang

  3. Uninstall RabbitMQ

  4. Ensure that the RabbitMQ service is not visible in the Windows Services list. If it is, open a command prompt as admin and run

sc delete RabbitMQ
  1. Ensure that the following directories are deleted:
C:\Program Files\erl5.10.4
C:\Program Files (x86)\Lundalogik\Lime Pro Server\Erlang
C:\Program Files (x86)\RabbitMQ
C:\Program Files (x86)\Lundalogik\Lime Pro Server\RabbitMQ
%appdata%\rabbitmq
%programdata%\Lundalogik\LIME Pro Server\RabbitMQ
  1. Remove all registry keys under (by clicking windows button + write “regedit” + enter)
HKEY_LOCAL_MACHINE/SOFTWARE/Ericsson/Erlang/ErlSrv

, and

HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432Node/Ericsson/Erlang

Reinstall

There are two ways to reinstall - either reinstall Lime CRM Server, or install Erlang and RabbitMQ manually.

Install Erlang/RabbitMQ Manually
  1. Open a terminal and check Windows PATH variable “HOMEDRIVE” by running the following command.
echo %HOMEDRIVE%

If set to a mapped network drive (ie H:) Erlang won't be able to set the erlang cookie correct. Change HOMEDRIVE to C:\ before registrering the service again.

set HOMEDRIVE=C:\

NOTE! If you have to change the HOMEDRIVE path in step 1, you also have to run the .exe files in the same terminal for step 2. and 3.

  1. Install Erlang by running (find the .exe file in the folder and run as administrator)
C:\Program Files (x86)\Lundalogik\Lime Pro Server\webserver\externals\otp_win64_R16B03-1.exe
  1. Install RabbitMQ by running (find the .exe file in the folder and run as administrator)
C:\Program Files (x86)\Lundalogik\Lime Pro Server\webserver\externals\rabbitmq-server.exe (name may differ)

Cause

This may be caused by MMC applications, such as the event log viewer, computer management, or even task manager being open during an upgrade.

Affected products

Lime CRM Server 12 & 13

Questions?

Please contact our support team if you have questions regarding any of the above.

Version 2020.2.371 (2.76.0)

Released September 21, 2020

⚠️ Breaking changes!

With this release of Lime CRM the add-ons Infotiles, Newsletter, GDPR and Lime Event are no longer included in the base installer. To (keep) use(ing) these add-ons they should be added to your solution as requirements.

✨ Highlighted Features

📁 File based document storage

Lime CRM can be configured to store documents on disk instead of in the database. Shout out to Tommy Hallman Lindh for implementing this feature!

🔐 Login in using AzureAD for the Web Client

Support for AzureAD while logging into the Web Client. This will enable customers to use security and convenience features such as single sign-on, multi-factor authentication, and enforced password policies.

✏️ A brand new Lime Admin

A brand new version of Lime Admin, providing a visual UI for configuring the web client and add-ons. When creating add-ons to Lime CRM, you can automagically get a custom UI for the add-on to simplify configuration.

💄 Improved UI in the Web Client

Many minor UI improvements in the Web Client; to provide a simpler and easier to use interface:

  • Related view is now wider and pops out to make it easier to know where you are in the web client.

  • The table view is now adjusting to screen size in a much better way, making it easier to grasp the information shown. The rows are also tighter to get a better overview of the data shown in the table.

  • The activity feed has been redesigned to include soft borders, more highlighted headings and improved relation pickers.

🛠️ Application Configuration

When configuring Lime CRM we have so far had to pick between either lime-config or lime-data based config. lime-config is file based and server instance unique; perfect for server configuration such as ports, timeouts etc. lime-data powers Lime Admin and is stored in the database. Albeit convenient it comes with some trade offs; secrets such as API-keys or passwords are best kept out of the database and URLs for integrations can become problematic when for example restoring a production database to a test environment.

With Lime 2020.2 we are expanding lime-config to include application level configuration. One can now configure unique configurations for each app running on a Lime Server. This is perfect for API-keys, Passwords or URLs. Full documentation can be found here.

👩‍🔬 EXPERIMENTAL: A completely re-designed object card

A completely new layout of the object card in the Web Client behind a feature switch. The new design includes the following:

  • Related information is now presented in tabs
  • The tabs have counters indicating the number of items in them
  • You now have the possibility to create custom tabs to meet specific customer needs (on-premise only until we have isolated apps)
  • There are now three different slots where customized widget/actions can be reached (on-premise only until we have isolated apps)
  • The visual design is more minimalistic and cleaner and
  • The overall usability is improved

👨‍🔬 EXPERIMENTAL: Speed improvements for the Desktop Client on-premise

A Redis caching backend can now be configured and The Lime CRM data structure is cached. We have seen speed improvements between 3x-10x for common read operations in the Desktop Client. Read more here

🔨 Highlighted Improvements and Bug fixes

Lime Core

  • Improvements to Object Access. Several bugs where to few objects where returned has been fixed
  • Makes the task-handler debuggable in VSCode
  • The API documentation now supports having a colon in a fields local name.
  • The API documentation can now be used while developing, served over http
  • The search indexer no longer crashes while indexing fields with over 10000 characters, instead these fields are ignored
  • BeginsWithOperator now works with Lime Objects,
  • You can use much larger DSL while writing tests

Lime Web Client

  • Search in option queries now handle capital letters
  • The table view is now updated when updating an object not part of the current filter
  • Editing an existing history note will no longer update the date for when the history note was originally created
  • User is now returned to previous page after logging in again