Установка пакета Sitecore никогда не заканчивается

У меня возникла интересная проблема. Когда я устанавливаю пакет Sitecore, пользовательский интерфейс никогда не обновляется, когда пакет полностью установлен. Установка пакета Sitecore висит.

В журналах Sitecore я вижу:

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

Это означает, что все установлено правильно, но в Sitecore загрузочная панель все еще работает. Кто-нибудь знает, что может вызвать это, потому что журналы пустые.

Ответы

Ответ 1

После много исследований в Sitecore.Kernel.dll я нашел решение. После "INFO Committing files". запись в журнале появилась еще одна запись: "Начало работы: WatchStatus". Этот Иов никогда не заканчивался.

ItemInstaller отвечает за журналы "Установка элемента:", а BlobInstaller отвечает за то, что журнал "Установка значений blob был закончен". В классе InstallPackageForm функция WatchForInstallationStatus() отвечает за logmessage "Job started: WatchStatus". Эта функция запускает новый поток, в котором он проверяет статус установки пакета, который хранится в папке temp. В моем случае роль IIS_IUSRS не имела права на запись в папке temp. После того, как я изменил его, он сработал.

Вот как выглядит файл журнала:

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>

Ответ 2

После установки по умолчанию 8.0 Update 4 вам нужно запустить mongo вручную.

Самый простой способ - установить mongo по умолчанию и запустить его из командной строки как: mongod.exe --dbpath c:\example_of_my_mongo_database_dir

Лучший способ - установить его в качестве службы Windows - http://mikerobbins.co.uk/2015/02/02/install-mongodb-as-a-windows-service-for-sitecore/

Как только вы это сделаете, вы сможете без проблем установить пакеты.

Ответ 3

Для всех, у кого есть эта проблема, может быть так же, как и у меня. У меня была такая же проблема, но не совсем с теми же трассировками стека, как указано выше.

Моя проблема заключалась в том, что у меня не было установленного/запущенного MongoDB, и это заставило его висеть, выбросив много ошибок в журналы. Выполнение простой установки и команды настройки пары с заранее определенными строками подключения, казалось, полностью ударили его в механизм.

Ответ 4

Параметр права на запись в папке temp для роли IIS_IUSRS также исправил проблему установки пакета Sitecore.

Ответ 5

Он работал у меня после того, как я дал разрешения на запись в IIS_IUSRS для папки веб-сайта Inetpub.

Немного странно, поскольку у меня уже есть полные разрешения для APPPooluser в папке веб-сайта.

Ответ 6

Если zip-пакет пакета Sitecore не завершает установку: в журнале была запись: "Задание запущено: WatchStatus". Эта работа никогда не заканчивалась.

Пакет хранится во временной папке на моем локальном компьютере, и вместо того, чтобы запускаться под учетной записью NETWORK SERVICE, которую использует веб-сайт, он работает с ролью IIS_IUSRS, для которой не было разрешений на изменение. Я предоставил разрешения на изменение этой роли и созданного пакета, как и ожидалось.