====== Troubleshoot Server Installation/Upgrades ====== Sometimes the Lime CRM Server installation fails and sometimes when it succeed, it doesn't work as expected. If that happens, this guide might be your savior! Let's start with two rules: * Don't manually delete directories and files if you're not really sure what the consequences are. * [[#restart|Restart]] is the best! It solves so many possible issues. ===== Logs ===== The installer prints a log while installing. The log files are also saved in: %userprofile%\AppData\Local\Temp These are named: * //limepro_install_.txt// for the main installation. * //.msi.install.txt// for the installation of related components. ===== Restart ===== Restarting the Windows server solves many issues. If you have no idea what's wrong, start with that. ===== Admin Rights ===== Many steps of the installation require admin rights. Make sure running the installer as admin and Command Prompt as admin when installing the solution, attaching the database, etc. ===== Stop All Lime CRM Services ===== The Lime CRM Installer, tries to stop all services for you. If running into problems it's worth trying to do that job yourself to make sure it doesn't create any issues. Open up Services as Admin and stop all service named [[installation:lime-crm-services|Lime CRM * and RabbitMQ]]. If SQL is on the same server, it might help to stop all SQL services to. ==== Windows Could Not Stop the Service ==== Sometimes Windows fail to stop a service. If this is the case you need to stop it yourself. - Right click the service in the Services list, click "Properties". - In the top find the "Service name:". E.g. "lime-event-handler". - Open a Command Prompt as admin and run: sc queryex - Locate the PID from the output and use it to kill the process: taskkill /pid /f ===== Exception: Failed to call install script. Return code: 9999 - Installation failed... ===== This error doesn't say much. To find out what the issue is. You need to read all the way up to the latest INFO row in the log and usually connect two lines to figure it out. Here's an example: INFO: Fetching info about installed ODBC drivers INFO: Installing ODBCSQL18... INFO: Installing msi C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\externals\msodbcsql18.msi INFO: Installing msi C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\externals\ldc-12.9.1738.msi Traceback (most recent call last): File "C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\\install.py", line 1371, in sys.exit(main()) File "C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\\install.py", line 67, in main install() File "C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\\install.py", line 87, in install install_ldc() File "C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\\install.py", line 675, in install_ldc 'ARPSYSTEMCOMPONENT=1']) File "C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\\install.py", line 1338, in _install_msi format(res)) Exception: Failed to install msi package. (Error: 1603) Installation failed... Traceback (most recent call last): File "C:\Users\username\AppData\Local\Temp\RarSFX1\\deploy.py", line 194, in sys.exit(main()) File "C:\Users\username\AppData\Local\Temp\RarSFX1\\deploy.py", line 35, in main raise e File "C:\Users\username\AppData\Local\Temp\RarSFX1\\deploy.py", line 30, in main perform_install() File "C:\Users\username\AppData\Local\Temp\RarSFX1\\deploy.py", line 165, in perform_install "Failed to call install script. Return code: {}".format(res)) Exception: Failed to call install script. Return code: 9999 Installation failed... Reading from bottom up. First interesting line is: Exception: Failed to install msi package. (Error: 1603) What msi package? Let's continue reading further up. What's the last thing the installer tried to do before printing traceback? INFO: Installing msi C:\Program Files (x86)\Lundalogik\LIME Pro Server\webserver\externals\ldc-12.9.1738.msi Bingo! It tried to install ldc-12.9.1738.msi and then failed. To get suggested solution for this example. Check out: [[#failed-to-install-msi-package|Failed to install msi package]] ===== Failed to install msi package ===== Start with finding out which msi package failed to install. See how to do that with [[#exceptionfailed-to-call-install-script-return-code9999-installation-failed|this]] example. ==== Restart or Admin Rights==== If you haven't restarted the server, it might help here. Also make sure to run the Lime CRM Server installer as Admin. ==== Manual Uninstall ==== If it's still an issue after restart you can try to uninstall it instead. It can be done by right clicking and choosing uninstall or by finding the service in "Add or remove programs". When it's uninstalled you can run the Lime CRM Server installation again. ===== Check Lime CRM Services Are Running ===== The installation might succeed even though some Lime CRM Services fails to start or unexpectedly shuts down directly after starting. If something isn't working as expected after installation. Make sure all service named [[installation:lime-crm-services|Lime CRM * and RabbitMQ]] is running. ==== Lime CRM Webfront Won't Start ==== If you see that Lime CRM Webfront is having problems starting, it most probably is due to the fact the port 443 is already in use by another process. Open a command prompt, and run: netstat -nao | findstr LISTEN Ensure that there is no entry using port 443. These show up as ''0.0.0.0:443'', ''127.0.0.1:443'', ''[::]:443'', or a specific IP-address followed by '':443''. If you see an entry like this, make a note of the process ID (PID) and see if you can find info about the corresponding process in Window's task manager. A PID of 4 means the System Process. We've seen the system process allocate port 443 if SQL Server Reporting Services is installed. ===== Solution Install Issues ===== From Lime CRM 2022.3.1015(2.437.0) it is possible to use [[https://platform.docs.lime-crm.com/en/latest/on-premise/overview/#lime-project|lime-project on-premise install]]. This will most likely solve most solution install issues seen before. Also remember to start Command Prompt as admin. Restart might also solve some issues here. ===== Register Database Issues ===== ==== Failed to create a new database. The size of the database ID "" is invalid. ==== This is error might be thrown when trying to register a new database. It usually means connection issue. Here are some common reasons for this error. === Service User Missing SQL Login or Permissions === Lime CRM service user is missing SQL login or permissions. Make sure these requirements are met: [[installation:server-installation#users-and-groups|Server installation]] === Can't Connect to SQL Server === SQL server isn't reachable from the Lime CRM application server. Open a Command Prompt and run: ping If you don't get a response this is at least one of the issues that need to be fixed. === Wrong Database Name or Instance === Make sure you have the correct database name. If the database is on a SQL server instance make sure the instance name is correct and really, really check so you don't do a back-forward-slash-mixup **/** <-> **\**. ==== Global search not working in the Web client ==== If you have created a new search index onprem after upgrade / install and the global search is not working, and you have followed the instructions [[here]][[https://docs.lime-crm.com/configuration/views#update-search-index]] do the following: Check the remaining size of the disk space and the total size. If the remaining space is less than 5% of the total size it's possible elastic search has entered read-only mode and automatically stopped indexing to prevent it from using all the diskspace. Notice that it's percentage based. This can affect all tables or a specific table. For the latter try the command below in a cmd and change limetype to the one affected. curl -XGET "http://127.0.0.1:9200/lime/_search" -vv -H "Content-Type: application/json" --data-binary "{\"query\":{\"match\":{\"limetype\":\"company\"}}}" This command can be used to match all limetypes: curl -XGET "http://127.0.0.1:9200/lime/_search" -vv -H "Content-Type: application/json" --data-binary "{\"query\":{\"match_all\":{}}}" If you confirm the above you can try to free up enough disk space so that more than 5% of the disk is free. Elasticsearch may automatically take itself out of read-only mode once enough disk is free. If not you though, you'll have to do something like this in a cmd to unlock the indices: $ curl -XPUT -H "Content-Type: application/json" https://http://127.0.0.1:9200/lime/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' ===== Knowledge Base ===== If everything above has not helped, check out the [[kb:|Knowledge Base]] to see if any article there can help you. If you are installing the latest Lime CRM Server release, most likely the articles in the top area are most relevant for you.