OK, now after my , let’s talk about serious things around Sitecore . Such as how to speed up installation of .
Sitecore packages

<setting name="Indexing.UpdateInterval" value="00:00:00" />

Setting this interval to all zeros actively disables the background index update job that maintains Sitecore’s search index.

While you can certainly do this manually, it is not always feasible since you need to edit web.config (have access to the server, etc) plus it restarts the application.

What you can do however is to add some logic to the Installation Wizard, specifically a flag to temporarily disable the search index updates during the package installation:

clip_image002

To make this happen, do the following:

  1. Create the following class in your project and compile it.
namespace SCUSAINC.Custom.Packager  
{

using System;

using Sitecore.Reflection;

using Sitecore.Web.UI.HtmlControls;

using Sitecore.Web.UI.Sheer;

using Sitecore.Shell.Applications.Install.Dialogs.InstallPackage;

public class CustomInstallPackageForm : InstallPackageForm

{

[HandleMessage("installer:setTaskId")]

private void OnSetTaskId(Message message)

{

var obj = this as InstallPackageForm;

ReflectionUtil.CallMethod(typeof(InstallPackageForm), obj, "SetTaskID", true, true, new object[] { message });

}

[HandleMessage("installer:commitingFiles")]

private void OnCommittingFiles(Message message)

{

var obj = this as InstallPackageForm;

ReflectionUtil.CallMethod(typeof(InstallPackageForm), obj, "OnCommittingFiles", true, true, new object[] { message });

}

protected Checkbox DisableIndexing;

protected override void OnLoad(EventArgs e)

{

DisableIndexing.Checked = false;

base.OnLoad(e);

}

protected override void OnNext(object sender, EventArgs formEventArgs)

{

base.OnNext(sender, formEventArgs);

if (Active == "Installing" && DisableIndexing.Checked)

{

Sitecore.Configuration.Settings.Indexing.Enabled = false;

}

}

protected override void EndWizard()

{

base.EndWizard();

if (DisableIndexing.Checked)

{

DisableIndexing.Checked = false;

Sitecore.Configuration.Settings.Indexing.Enabled = true;

}

}

}
}
  1. Copy the following file to the /sitecore/shell/override folder: \sitecore\shell\Applications\Install\Dialogs\Install package\Install Package.xml

  2. Open this XML file

  3. Change the CodeBeside reference in the XML source file to your custom name:

<WizardForm Application="Tools/Installer/InstallationWizard" CodeBeside="SCUSAINC.Custom.Packager.CustomInstallPackageForm,SCUSAINC.Custom ">
  1. Add the checkbox definition to the XML source:
<WizardFormPage ID="Ready" Header="Ready to Install" Text="The wizard is ready to install the package. Click Install to install the package." Icon="People/32x32/Box_Software.png">

<WizardFormIndent>

<GridPanel Columns="2" CellPadding="2" Width="100%">

…

</GridPanel>

**<Checkbox ID="DisableIndexing" Header="Disable search index update during the install" Checked="True" />**

</WizardFormIndent>
</WizardFormPage>

Based on my tests, this significantly decreases the installation time (up to a half), especially on high volume packages in terms of content items.

Special thanks to Paul from and Sergey