Esse último passo é opcional, porém muitos plugins necessitam dessa etapa. A etapa de instalação é necessária quando o plugin precisa que seja feita alguma configuração, criação de tabelas, ou qualquer lógica necessária para que possa funcionar corretamente. Por exemplo, o plugin pode precisar de novas mensagens, de uma nova tabela, ou mesmo você pode apenas desejar gravar algum valor padrão para as configurações do plugin. Para isso, basta sobrescrever (override) os métodos abaixo:

  1. Install. Esse método será executado no momento da instalação do plugin. Você pode criar e inicializar qualquer tipo de configuração aqui, inserir novos locale resources, criar novas tabelas, criar novas tarefas agendadas (schedule tasks).
  2. Uninstall. Esse método é chamado quando o plugin for desinstalado, e nele você deve remover os objetos que criou no momento da instalação.

Importante: Se você sobrescrever os métodos acima, não se esqueça de chamar a implementação da classe base. Por exemplo, se você sobrescrever o método “Install”, então você deve incluir a chamada ao método base.install() na sua implementação. Veja no exemplo abaixo, retirado do plugin Authorize.NET que acompanha o código do nopCommerce, a implementação do método “Install”:

public override void Install()
{
    var settings = new AuthorizeNetPaymentSettings()
    {
        UseSandbox = true,
        TransactMode = TransactMode.Authorize,
        TransactionKey = "123",
        LoginId = "456"
    };
    _settingService.SaveSetting(settings);

    base.Install();
}

Dica: A lista de plugins instalados está localizada em \App_Data\InstalledPlugins.txt. Essa lista é criada durante a instalação.