Skip to content

2019

Outlook shows security alerts on unprotected computers

Summary

A change in the way Lime CRM Desktop Client integrates with Outlook will cause a security alert to be displayed whenever Outlook is accessed by Lime CRM if the computer does not have up to date antivirus protection.

Symptoms

When Lime CRM attempts to access Outlook a message that says:

A program is trying to access e-mail address information stored in Outlook. If this unexpected, click Deny and verify your antivirus software is up-to-date..

Resolution

The message is typically displayed if your antivirus software is not up to date. This can be verified by following these steps:

  1. Open the Outlook Options dialog by choosing Options from the File menu.
  2. Select Trust Center in the menu to the left.
  3. Press the Trust Center Settings button.
  4. Select Programmatic Access in the menu to the left.
  5. Verify that the Antivirus status message says Valid.

Cause

In previous versions a library was used for integrating with Outlook that evaded the security alerts in Outlook. Since using the library added unnecessary complexity and was really not needed with newer versions of Outlook (when having up-to-date protection) it has been removed.

Affected products

All Lime CRM Desktop Clients versions after to 10.12.135.

Questions?

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

Not possible to access Lime CRM when using an expired certificate

Summary

When the certificate used for the Lime CRM Server expires it is not possible to log in to Lime CRM.

Symptoms

When choosing server and pressing the Refresh button in the log in dialog, no applications are shown.

Resolution

Update the certificate on the Lime CRM Server to a valid one.

Cause

Expired certificate.

Affected products

All Lime CRM Desktop Clients versions.

Questions?

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

"File name or directory name is not valid" when dropping email

Summary

When using drag and drop to save an email message from Outlook 2013 in Lime CRM Desktop Client, an error message appears but the save operation succeeds when it is dismissed. The error message was introduced with an Office update released by Microsoft.

Symptoms

An error message saying “File name or director name is not valid” (“Filnamnet eller katalognamnet är ogiltigt” in Swedish) is displayed.

Resolution

The issue is solved in Lime CRM Desktop Client v 10.14.13 or higher.

Cause

The Office update causing the problem is called KB3115158 and details can be found here.

Affected products

All versions of Lime CRM Desktop Client < v 10.14.13 when used with Microsoft Outlook 2013.

Questions?

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

“Object reference not set to an instance of an object” when saving document

Summary

When saving a document in Lime CRM Desktop Client, an error message appears saying “Object reference not set to an instance of an object”. The error message was introduced with the introduction of the new file-API for Lime CRM Server in v. 12.9.0.95 and the desktop client v. 10.12.219.

Symptoms

An error message saying “Object reference not set to an instance of an object” is displayed when saving a document through the desktop client.

Resolution

The resolution is to upgrade to Lime CRM Server version 12.9.1.14 or later.

Cause

As default the file-API is switched off, even though the desktop client tries to save the document using the file-API.

Affected products

The combination of Lime CRM Desktop Client v. 10.12.219 or above and Lime CRM Server v. 12.9.0.95.

Questions?

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

Lime CRM Server Installer may report that the installation failed

Symptoms

The Lime CRM Server Installer reports that the installation failed even though everything seems OK.

Resolution

No action is needed if the installation can be verified as completed. Follow these steps:

  • Open the installation log (exists in %localappdata%\temp).
  • Scroll down to the end of the log check for a line saying that “limepro webfront failed to start”.
  • If the line mentioned above exists, open Administrative tools | Services and check whether the “Lime CRM Webfront” service is running. If it is, the installaion has succeded and no further action needs to be taken. If it has not started, attempt to start the service manually.
  • If the service does not start, please contact Lundalogik.

Affected products

Lime CRM Server 12.9.2 and Lime CRM Server 12.13.1.20.

Questions?

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

Database objects may be created in the wrong schema during upgrade

Summary

When upgrading a database, the database is accessed using the user account that has launched the command prompt and thus the limefu database upgrade command. If this user has a default schema in the database that is not dbo, database objects may be created in different schemas which makes the system unusable.

Symptoms

Users are not able to log in.

Resolution

Make sure the user accessing the database has dbo as its default schema in SQL Server. If database objects have been created using the wrong schema, use the following T-SQL query to find objects that have the wrong schema and to create ALTER statements to change the schema:

SELECT 'ALTER SCHEMA dbo TRANSFER [' + SysSchemas.Name + '].[' + DbObjects.Name + '];'
FROM sys.Objects DbObjects
INNER JOIN sys.Schemas SysSchemas ON DbObjects.schema_id = SysSchemas.schema_id
WHERE SysSchemas.Name = '<wrong username>'
AND (DbObjects.Type IN ('U', 'P', 'V'));

Example of an ALTER statement:

ALTER SCHEMA dbo TRANSFER lje.lsp_addtemptable;

Affected products

All 12.x versions of Lime CRM Server.

From version 12.16 you will get a warning if the user does not have “dbo” as the default schema.

Questions?

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

LISA must be running as a service user in order to generate API keys

Summary

From Lime CRM 12.22 it's possible to create API users and generate API keys. If you have LISA running as the Local System account you, need to either use limefu to generate API keys, or you need to change the service account for LISA.

Symptoms

When you attempt to generate an API key in LISA, you'll get an error. On the server, you'll get something similar to the following if you look in Windows Event Log:

Limefu output: 
stdout:
stderr:
<long, scary, error message>
  ...

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('28000', "[28000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'WORKGROUP\\SOMEACCOUNT$'. (18456) (SQLDriverConnect)")

Resolution

There are two resolutions for this.

  1. The simplest solution is to use LISA to create and configure API users, and then use limefu for the API key generation only.

  2. Another solution, which involves a bit more restrictions but allows an admin to configure everything in LISA, is to configure LISA to run as the same service account as, for instance Lime CRM Web Server.

Generate API keys with limefu

Create your API user in LISA as normal and configure its group memberships as normal. To generate an API key for it:

  • On the server where Lime CRM is running, start the Lime command line console
  • Run the following command
(lime) C:\> limefu users generate-api-key -a "<lime application>" -u "<apiusername>"
Configure LISA to run as the same user as the other Lime CRM services

This is only feasible if you don't use LISA for configuring the Lime CRM Web service or viewing event logs etc.

In the service manager, configure the service “Lime CRM Server Administration” to run as the service user.

Allow LISA to listen to traffic on port 5472

You have to bind the service user to LISA's port in order for LISA to be able to receive requests.

Delete the previous binding (may not be necessary)

Open a command prompt and run the following command:

netsh http delete urlacl url=http://+:5472/
Bind the service user

Open a command prompt and run the following command:

netsh http add urlacl url=http://+:5472/ user=<service-account>

Changes in Handling of Lime vs Windows Users

Since Lime CRM v.12.29 we have changed users with regards to how they can logon to Lime. Prior to this version, a single user could be configured to allow both Lime and Windows logon.

This causes a few problems as a user may be linked to a user in Active Directory, and if configured incorrectly may allow a user to use Lime login as well. This makes it harder for an admin to change passwords or deactivate users by just performing actions in active directory.

Since 12.29, to prevent degradation from Windows logon to Lime logon, we no longer allow Lime logon for a Windows user. Period.

The way we determine if a user is a Windows user or not, is to check if the user has a SID (a windows user ID) connected to it. If it has, it's a Windows user, and it only accepts Windows logons.

Consequences

When upgrading from an earlier version, you may experience problems if a user is connected to an AD account but has been using Lime login. In that case, either start logging on using the connected AD-account or disconnect the user from the AD-account in LISA.

In some scenarios, users may have a SID in the database's user table that isn't connected to an AD-account. Perhaps as a result of moving a database from one environment to another. If you cannot disconnect it from AD using LISA, you may have to clear the SID using the power of SQL.

Upgrade of Lime CRM Server fails due to old version not being uninstalled

For older versions of Lime CRM, upgrading may fail as the older versions isn't uninstalled properly.

Symptoms

This will cause the installer to fail with a stacktrace similar to this:

Checking for existing installation and doing magic...
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\\deploy.py", line 36, in main
Existing installation found, uninstalling...
    raise e
C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\uninstall.bat
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\\deploy.py", line 26, in main
    handle_existing_install()
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\\deploy.py", line 110, in handle_existing_install
    call(uninstall_string)
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\\deploy.py", line 176, in call
    sp.check_call(cmdline, stdout=sys.stdout, stderr=sp.STDOUT)
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\Python34\lib\subprocess.py", line 556, in check_call
    retcode = call(*popenargs, **kwargs)
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\Python34\lib\subprocess.py", line 537, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\Python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "C:\Users\nta\AppData\Local\Temp\RarSFX2\Python34\lib\subprocess.py", line 1114, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Installation failed...

Resolution

  • Ensure that all Lime Services are uninstalled in Window's service manager
  • Ensure that all files for the previous installation has been removed from C:\Program Files(x86)\Lundalogik
  • Manually remove the installation entry by deleting the following key from the registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Lundalogik LIME Pro Server
  • Rerun the installation

RabbitMQ fails to start after Lime CRM Server upgrade

After an upgrade from an older version of Lime CRM, RabbitMQ may fail to start. This is caused by earlier versions of Lime CRM installing a malformed configuration file for RabbitMQ. This file was, however not used in that version.

Newer versions of Lime CRM does read that configuration file, which may cause RabbitMQ not to start. A Lime CRM upgrade never overwrites existing configuration files, therefore the syntax error is not automatically fixed.

Resolution

Edit the file C:\ProgramData\Lundalogik\LIME Pro Server\RabbitMQ\rabbitmq.config

Change it from:

%% -*- mode: erlang -*-
%% ----------------------------------------------------------------------------
[
{rabbit,
    [
        %% Log levels (currently just used for connection logging).
        %% One of 'info', 'warning', 'error' or 'none', in decreasing order
        %% of verbosity. Defaults to 'info'.
        %%
        {log_levels, [{connection, error}]},
    ]},
]

to:

%% -*- mode: erlang -*-
%% ----------------------------------------------------------------------------
[
{rabbit,
    [
        %% Log levels (currently just used for connection logging).
        %% One of 'info', 'warning', 'error' or 'none', in decreasing order
        %% of verbosity. Defaults to 'info'.
        %%
        {log_levels, [{connection, error}]}
    ]}
].