Sitecore has provided these options in the Sitecore.Client
DLL. When I extracted it I found the code under the class Sitecore.Shell.Applications.Install.Controls.BehaviourOptionEditor
where it is setting the default values like this.
protected virtual void SetValue(BehaviourOptions value)
{
InstallMode itemMode = value.ItemMode;
this.OverwriteItems.Checked = false;
this.OverwriteItems.Checked = itemMode == InstallMode.Overwrite;
this.MergeItems.Checked = false;
this.MergeItems.Checked = itemMode == InstallMode.Merge;
this.SideBySideItems.Checked = false;
this.SideBySideItems.Checked = itemMode == InstallMode.SideBySide;
this.SkipItems.Checked = false;
this.SkipItems.Checked = itemMode == InstallMode.Skip;
this.AskUser.Checked = false;
this.AskUser.Checked = itemMode == InstallMode.Undefined;
if (!this.MergeOption)
return;
this.SelectListItem(((int) value.ItemMergeMode).ToString(), this.MergeOptions);
this.MergeOptions.Disabled = !this.MergeItems.Checked;
}
And here you can find the default descriptions.
private void ShowHint(BehaviourOptions value)
{
switch (value.ItemMode)
{
case InstallMode.Undefined:
this.messageText = this.User != PackageUser.Developer ? Translate.Text("Choose any option to view option description.") : Translate.Text("If files with the same ID or Path are found, you will be asked to resolve the conflict.");
break;
case InstallMode.Overwrite:
this.messageText = Translate.Text("Replace the entire subtree with the subtree in the package.");
break;
case InstallMode.Merge:
StringBuilder stringBuilder = new StringBuilder();
switch (value.ItemMergeMode)
{
case MergeMode.Undefined:
stringBuilder.Append(Translate.Text("Undefined."));
break;
case MergeMode.Clear:
stringBuilder.Append(Translate.Text("Leave the subtree and replace any matching items and versions with those from the package but do not replace any subitems."));
break;
case MergeMode.Append:
stringBuilder.Append(Translate.Text("Leave the subtree. Overwrite nothing. Append any matching item versions to the existing subtree by giving them incremental numbers."));
break;
case MergeMode.Merge:
stringBuilder.Append(Translate.Text("Leave the subtree and replace any matching items and versions with those from the package."));
break;
}
this.messageText = stringBuilder.ToString();
break;
case InstallMode.Skip:
this.messageText = Translate.Text("Take no action and move on to the next item.");
break;
case InstallMode.SideBySide:
this.messageText = Translate.Text("Install second item from the package without touching any existing items.");
break;
}
this.BehaviorOptionText.Text = this.messageText.ToString();
}
You will find the XML in this location.
wwwroot\<your-site-root>\sitecore\shell\Applications\Install\Dialogs\Install package
And the reference of this class can be found in this XML.
wwwroot\<your-site-root>\sitecore\shell\Applications\Install\Controls\BehaviourOptionEditor.xml
You can update and replace the XML with your own class here.
I hope this is enough information to get started.
Thanks.