Every now and again we get a request for performing silent installs with Neuron.  This article will describe how to accomplish that with the Neuron 3.0.3 release and later.

Format

msiexec.exe /i <Neuron msi> <properties in the format of NAME=value; see below>

Properties

Required

  • LICENSEKEY – the Neuron ESB license key code.
  • INSTALLFOLDER – The path where Neuron ESB should be installed. This property must be set.  When using the UI to install, the default value for installing the x64 version of Neuron is “C:\Program Files\Neudesic\Neuron ESB v3\”.  The default value for installing the x86 version of Neuron is “C:\Program Files (x86)\Neudesic\Neuron ESB v3\”.

Optional

  • ADDLOCAL – This is a comma-separated list of features to install. It will default to ALL.  If not specified, all of the features will be installed.  See below for a list of features.
  • USELOCALSYSTEM – “Yes” or “No” depending on whether to use the LocalSystem account to run Neuron. Defaults to “Yes.”
  • SERVICEDOMAIN – If USELOCALSYSTEM is “No,” this is the domain name for the user account. (must be specified if USELOCALSYSTEM = “No”)
  • SERVICEUSER – The user name for the user account. (must be specified if USELOCALSYSTEM = “No”)
  • SERVICEPASSWORD – The password for the user account. (must be specified if USELOCALSYSTEM = “No”)
  • INSTANCENAME – The name of the instance to install (DEFAULT, TEST, etc). This will default to DEFAULT if not specified.  Required if a DEFAULT instance is already installed.  When installing a second or greater instance, then the next three properties are required.
  • MSINEWINSTANCE – Must be set to “1” in order to support multiple instances.
  • MYINSTANCE – This needs to be a value between “Instance1” to “Instance10.” Neuron supports up to 10 Neuron ESB instances being installed.  When adding a new instance, you need to choose the next instance identifier to install. You can see how many instances are installed by looking in the registry at the sub-keys of HKEY_LOCAL_MACHINE\SOFTWARE\Neudesic\Neuron ESB v3
  • TRANSFORMS – For example, if MYINSTANCE is “Instance3,” this value will be “:Instance3;”

Features

Note – the connector features will install the ESBServiceFeature if it is not already installed.

  • ALL = installs everything
  • DiscoveryServiceFeature – Installs the discovery service
  • ToolsFeature – Installs the client tools
  • NeuronExplorerFeature – Installs the Neuron ESB Explorer and its dependencies
  • NeuronTestClientFeature – Installs the Neuron Test Client and its dependencies
  • NeuronAPIFeature = installs NeuronEsb.dll, Neuron.dll, Neuron.Pipelines.dll, Neuron.Scripting.dll, and Neuron-API.chm
  • ESBServiceFeature = installs ESBService.exe and its dependencies (no Connectors)
  • ActiveMqConnectorFeature – Installs the ActiveMQ connector
  • EConnectConnectorFeature – Installs the EConnect connector
  • FileConnectorFeature – Installs the File connector
  • FtpConnectorFeature – Installs the FTP connector
  • MailConnectorFeature – Installs the Mail connector
  • MSCRMSubscriptionConnectorFeature – Installs the Microsoft Dynamics CRM Subscription connector
  • MQSeriesConnectorFeature – Installs the MQ Series connector
  • MSExchangeConnectorFeature – Installs the Microsoft Exchange connector
  • MsmqConnectorFeature – Installs the MSMQ connector
  • OdbcConnectorFeature – Installs the ODBC connector
  • POP3ConnectorFeature – Installs the POP3 connector
  • RfidConnectorFeature – Installs the BizTalk RFID Event Handlers
  • SharePointConnectorFeature – Installs the Microsoft SharePoint Subscription connector
  • SmtpConnectorFeature – Installs the SMTP connector
  • SqlConnectorFeature – Installs the SQL connector
  • WindowsAzureServiceBusConnectorFeature – Installs the Windows Azure Service Bus Connector
  • Crm4PluginFeature – Installs the Microsoft CRM 4 workflow plugin installer
  • MSCRM2011PluginFeature – Installs the Microsoft Dynamics CRM 2011 workflow plugin installer
  • SharePointPluginFeature – Installs the SharePoint 2007 event handler plugin installer
  • SharePoint2010PluginFeature – Installs the SharePoint 2010 event handler plugin installer
  • VisualStudio2010PluginFeature – Installs the Visual Studio 2010 Plugin and its dependencies
  • VisualStudio2012PluginFeature – Installs the Visual Studio 2012 Plugin and its dependencies
  • DocumentationFeature – Installs the documentation files
  • SamplesFeature – Installs the sample files
  • AlwaysInstall: Installs the instance registry keys, license files, and program menu shortcuts.  This feature should be specified when you need to install the license key (i.e. NeuronExplorerFeature), or if you need the program menu shortcuts

Examples

Installing Neuron

Note – all of the following examples are for use in the command prompt (cmd.exe) and include the /qb /lvx* install.log flags at the end of the command.  These are the msiexec.exe command line parameters for displaying a basic UI and to log everything to the log file install.log.  For more msiexec parameter options, type msiexec.exe /? at a command prompt.

This example performs a complete x64 Neuron installation with all the default settings.  This install can only be performed for the first instance of Neuron installed on a server.

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" /qb /lvx* install.log

Note – If PowerShell is used to run the commands, a property value’s surrounding quotes must be escaped with the “`” character (grave-accent) EXCEPT when running from a PowerShell script.  For example, the INSTALLFOLDER property should look like this when using PowerShell:

msiexec /i "ExampleFolder\NeuronESB_v3_x64_Release.msi" LICENSEKEY=123456789012345678 INSTALLFOLDER=`"C:\Program Files\Neudesic\Neuron ESB v3\`" /qb /lvx* install.log

When running the command from a PowerShell script/file, the line of script should look like this (note that backslashes are used in the paths and there is no backslash in the front of the “ExampleFolder” path):

msiexec /i "ExampleFolder\NeuronESB_v3_x64_Release.msi" LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" /qb /lvx* install.log

The following example adds a second instance of Neuron called NewInstance, using a complete installation with the default settings.  When adding additional instances, you must include the INSTANCENAME, MSINEWINSTANCE, MYINSTANCE and TRANSFORMS properties.

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" INSTANCENAME=NewInstance MSINEWINSTANCE=1 MYINSTANCE=Instance2 TRANSFORMS=:Instance2 /qb /lvx* install.log

This example installs a complete installation of Neuron, using a local user account as the ESB Service account.  The SERVICEDOMAIN value is the name of the machine you are installing Neuron onto.  The selected user must have Log on as a Service rights and be a member of the local Administrators group.

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" USELOCALSYSTEM=No SERVICEDOMAIN=dev01 SERVICEUSER=User1 SERVICEPASSWORD=pass@word1 /qb /lvx* install.log

This example installs a complete installation of Neuron, using a local user account as the ESB Service account.  The selected user must have Log on as a Service rights and be a member of the local administrators group.

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" USELOCALSYSTEM=No SERVICEDOMAIN=corp SERVICEUSER=jk12345 SERVICEPASSWORD=pass@word1 /qb /lvx* install.log

This example installs the Neuron ESB Explorer (i.e. for use on an IT Ops Machine).

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" ADDLOCAL=NeuronExplorerFeature,AlwaysInstall /qb /lvx* install.log

This example installs the Neuron Client API (i.e. for remote connectivity to Neuron).

msiexec /i NeuronESB_v3_x64_Release.msi LICENSEKEY=123456789012345678 INSTALLFOLDER="C:\Program Files\Neudesic\Neuron ESB v3\" ADDLOCAL=NeuronAPIFeature /qb /lvx* install.log

Uninstalling Neuron

This example uninstalls the DEFAULT instance of Neuron.  Note – the /x option only works when a single instance of Neuron is installed.  To perform an uninstall when multiple instances are installed, see the PowerShell example below.

msiexec /x NeuronESB_v3_x64_Release.msi /qb /lvx* uninstall.log

This example uninstalls a named instance of Neuron.  To uninstall a named instance, you need to use a PowerShell script.  This script looks up the name of the instance in the registry and gets the product installation code to use for the uninstall.

param([string]$instanceName="DEFAULT")



if ($instanceName -eq "DEFAULT")

{

  &msiexec.exe /x NeuronESB_v3_x64_Release.msi /quiet

}

else

{

  $registryKeys = Get-ChildItem "hklm:\SOFTWARE\Neudesic\Neuron ESB v3"

  $productCode = $null

  foreach ($registryKey in $registryKeys)

  {

    $name = $registryKey.GetValue("Name");

    if ($name -ne $instanceName)

    {

      continue

    }

    $productCode = $registryKey.GetValue("ProductCode")

    break

  }



  if ($productCode -ne $null)

  {

    &msiexec.exe /x $productCode /quiet

  }

  else

  {

    write-host "Instance $name was not found."

  }

}

Save this script as UninstallESBInstance.ps1.  To execute it, open Windows PowerShell, change to the location of the script and execute the command:

.UninstallESBInstance.ps1 <Instance Name>

Where <Instance Name> is the name of the installed instance.  If you pass in DEFAULT as the instance name, it will uninstall the original Instance installed.