17
votes

I got an interesting problem. When I install a Sitecore package the user interface never gets updated when the package is fully installed. The Sitecore package installation is hanging.

In the Sitecore logs I see:

ManagedPoolThread #18 11:36:00 INFO  Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/{BEA47CD0-C3B3-4EFD-A781-997292620312}/nl/1/xml
ManagedPoolThread #18 11:36:00 INFO  Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/foobar/{4E0129CF-1C03-4BC8-B049-7D641D46797C}/en/1/xml
ManagedPoolThread #18 11:36:00 INFO  Installing item: items/master/sitecore/system/Tasks/Schedules/Portals/Default/foobar/{4E0129CF-1C03-4BC8-B049-7D641D46797C}/nl/1/xml
ManagedPoolThread #18 11:36:00 INFO  Installing of blob values has been finished. Installed: 3 Skipped: 0
ManagedPoolThread #18 11:36:00 INFO  Committing files.
ManagedPoolThread #11 11:36:00 INFO  Job started: WatchStatus

This indicates that everything is installed correctly but in Sitecore the loading bar is still running. Does anybody know what can cause this because the logs are empty.

6

6 Answers

17
votes

After a lot of research in Sitecore.Kernel.dll I found the solution. After the "INFO Committing files." log entry there was another entry: "Job started: WatchStatus". This Job never ended.

The ItemInstaller is responsible for the "Installing item:" logs and the BlobInstaller is responsible for the "Installing of blob values has been finished" log. In the InstallPackageForm class, the function WatchForInstallationStatus() is responsible for the "Job started: WatchStatus" logmessage. This function starts a new thread in which it checks the status of the package installation which is stored in the temp folder. In my case, the IIS_IUSRS role did not have write rights on the temp folder. After I changed it, it worked.

This is what the log file should look like:

ManagedPoolThread #7 12:45:57 INFO  Committing files.
ManagedPoolThread #11 12:45:57 INFO  Job started: WatchStatus
ManagedPoolThread #7 12:45:57 INFO  Job ended: Install (units processed: )
ManagedPoolThread #11 12:45:58 INFO  Job ended: WatchStatus (units processed: )
ManagedPoolThread #8 12:45:58 INFO  Job started: InstallSecurity
ManagedPoolThread #8 12:45:58 INFO  Installing security from package: <package>
10
votes

After the default installation of 8.0 Update 4 you need to run mongo manually.

The easiest way is to install mongo by default and run it from command prompt as: mongod.exe --dbpath c:\example_of_my_mongo_database_dir

The best way is to install it as a windows service - http://mikerobbins.co.uk/2015/02/02/install-mongodb-as-a-windows-service-for-sitecore/

As soon as you do that - you'll be able to install the packages without any problem.

5
votes

For anyone else that has this issue that might be in the same way that I had it. I had the exact same problem, but not quite with the same stack traces as defined above.

My problem was that I didn't have MongoDB installed/running, and that caused it to hang, throwing many errors in the logs. Doing a simple install and a couple setup commands with the pre-defined connection strings seemed to kick it into gear just fine.

0
votes

It worked for me after I have given write permissions to IIS_IUSRS for website folder on Inetpub.

Its bit strange as I already got full permissions to APPPooluser on website folder.

0
votes

If the Sitecore package zip never finishes installation: There was a log entry entry: “Job started: WatchStatus”. This Job never ended.

The package is being stored in a temporary folder on my local machine, and instead of running under the NETWORK SERVICE account that the website uses, it runs with IIS_IUSRS role which did not have modify permissions. I granted modify permissions to this role and the package created as expected.

0
votes

Navigate to inetpub\wwwroot\newsxa[Your file]\Website\App_Config\Include where you will find Sitecore.Xdb.config in line 8

<setting name="Xdb.Enabled" value="true" />

Just make it false

It will install after that.