Microsoft® Provisioning Framework has an unattended installation mode for executing setup from the command line, from scripts, or from third-party deployment tools. This mode is especially useful for deployments in which components are distributed to multiple computers.
The syntax for the installation command has the following format. Parameters vary depending on whether the install is local or for a domain deployment, which components are installed, and so on. You can specify parameters in any order.
msiexec /i mpf.msi /qn parameters
The following parameters are mandatory for all unattended installations.
Parameter | Description |
---|---|
MPF_DOMAIN_INSTALL=0 or 1 | Determines whether the installation mode is local or domain.
Enter "0" for local or "1" for domain. Note Set this to "1" even if you are a local administrator performing a domain installation. |
UNATTENDED=1 | Initiates command-line installation and suppresses the Setup graphical user interface. |
The following parameters are used to install specific MPF components.
Note All unattended installs automatically include the client.
Component | Description | Unattended component parameter | Other required parameters |
---|---|---|---|
Administration Tools | Tools used to administer the MPF, such as Provisioning Manager (a graphical user interface), ProvNamespace.exe, and ProvTest.exe. | MPFADMIN=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server |
Audit (Log) Database | Optional SQL database that stores completed provisioning requests. You can also
use the audit log as a data-mining repository.
Important Set up at most one audit log per MPF deployment. |
MPFAUDIT=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server MPF_AUDIT_SERVER=server* *Required only for a clustered or otherwise non-standard SQL database. |
Client Components | Server-based client that receives incoming provisioning
requests from users and routes them to provisioning engines and
queue
managers.
In addition to handling load balancing, the client's ISAPI Extension (SOAP ISAPI) provides an HTTP/SOAP interface to MPF. The ISAPI should always run in an IIS virtual directory that has been configured for Secure Sockets Layer (SSL). |
MPFISAPI=1 (for ISAPI Extension) |
UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFCLIENTPASSWORD=password* MPF_CONFIG_SERVER=server MPFSVCPASSWORD=password* *Required only if MPFISAPI=1. |
Configuration Database | Stores configurations for , , and other definitions used in the
framework.
Important Set up oneand only oneconfiguration database per MPF deployment. If you plan to install components on multiple computers in a domain, install the configuration database on one of the computers prior to installing other components. |
MPFCONFIG=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFCLIENTPASSWORD=password MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server* *Required only for a clustered or otherwise non-standard SQL database. |
Core Components | Collection of MPF components that includes the provisioning
engine, test namespace, and supporting components for extended
error reporting and auditing.
Important If your installation will have multiple servers running Core Components, install the same MPF components on all of them. For example, if you install SQL Provider on one machine, install it on all computers. This is because any machine can end up processing a request. If a necessary component is missing, the request will fail. |
MPFCORE=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server |
(Provisioning) Queue Manager Service | Manages provisioning requests that are queued for batch processing. | MPFQUEUE=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server BATCH_IS_DEPENDENT_ON_SQL=yes or no* *Required to be set to no only when the machine has no SQL server installed locally, and the deployment includes also a configuration database or transaction log database that is located on remote server. |
Resource Manager | Allocates machine resources. Resource Manager is a critical component for scalability and optimization. Resource Manager consists of two providers (the engine) and a database. The providers use special algorithms to optimize requests for system resources. The database stores information about system resources. | MPFRMBASE=1 (Engine)
MPFRMLOG=1 |
UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server RM_SERVER=server* *Required if installing the Resource Manager log in a clustered or otherwise non-standard SQL database. Always required when MPFRMBASE = 1. |
Sample Provisioning Web Site | Demonstrates how to use MPF. This sample site is operational only for stand-alone evaluation purposes. | MPFSAMPLEAPP=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFCLIENTPASSWORD=password MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server |
Service Providers |
Standard providers and namespaces that execute specific types of requests. For example, Active Directory Provider executes requests such as creating user directories in Active Directory. |
Active
Directory Provider and
Preferred DC Active Directory Provider: ADPROV=1 Command Line Provider: COMMANDPROV=1 Custom
Audit: Error Provider: ERRORPROV=1 File System Provider: FILEPROV=1 Registry Provider: REGISTRYPROV=1 Scripting Provider: SCRIPTPROV=1 HTTP and
SOAP Provider: SQL Provider: SQLPROV=1 Test Namespace: Windows Installer Provider: INSTALLERPROV=1 |
UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPF_CONFIG_SERVER=server |
Transaction Log Database | SQL database that stores active request transactions. If multiple databases are installed, MPF will load-balance between them. | MPFTRANLOG=1 | UNATTENDED=1 MPF_DOMAIN_INSTALL=0 or 1 MPFSVCPASSWORD=password MPF_CONFIG_SERVER=server MPF_TRANLOG_SERVER=server* MPF_LISTENER_SERVER=server* LISTENER_IS_DEPENDENT_ON_SQL=yes or no** *Required only for a clustered or otherwise non-standard SQL database. **Required to be set to no only when the machine has no SQL server installed locally, and the deployment includes also a configuration database that is located on remote server. |
The property parameters are as follows.
Parameter | Description |
---|---|
AUDIT_DATA_DIR_FOLDER=path | Specifies the data file path for the audit log. |
AUDIT_LOG_DIR_FOLDER=path | Specifies the log file path for the audit log. |
CONFIG_DATA_DIR_FOLDER=path | Specifies the data file path for the configuration database. |
CONFIG_LOG_DIR_FOLDER=path | Specifies the log file path for the configuration database. |
MPF_AUDIT_SERVER=server | Specifies the name of the server for the audit log. |
MPF_CONFIG_SERVER=server | Specifies the name of the server for the configuration
database.
Important This parameter is required for all unattended installations. |
MPF_IMPERSONATE=1 | Enables MPF to support run-time impersonation and delegation,
used for basic
authentication and Kerberos
delegation. More specifically, it establishes dynamic cloaking
and delegation on the client and marks the
MPFServiceAcct as trusted for delegation in Microsoft® Active
Directory®.
Note: This setting only applies to domain deployments; it is not used when MPF is installed on stand-alone workstations. |
MPF_TRANLOG_SERVER=server | Specifies the name of the server for the transaction log. |
MPFCLIENTPASSWORD=password | Specifies the password for MPFClientAcct. |
MPFSVCPASSWORD=password | Specifies the password for MPFServiceAcct. |
RM_DATA_FILE_PATH=path | Specifies the data and log file path for the resource manager database. |
RM_SERVER=server | Specifies the name of the server for the resource manager database. |
TRAN_LOG_DATA_DIR_FOLDER=path | Specifies the data file path for the transaction log. |
TRAN_LOG_LOG_DIR_FOLDER=path | Specifies the log file path for the transaction log. |
BATCH_IS_DEPENDENT_ON_SQL=yes or no | Specifies if the installed queue manager service should depend on local SQL server service. Set it to no for non-standard deployments when local system has no SQL server deployed. |
LISTENER_IS_DEPENDENT_ON_SQL=yes or no | Specifies if the audit and recovery service (a part of transaction log component) should depend on local SQL server service. Set it to no for non-standard deployments of transaction log when local system has no SQL server deployed. |
The unattended install does not send errors to the command line. For this reason, it is recommended that you include a logging parameter every time you run an unattended install.
To verify whether an installation is successful, you can review the generated log file or check for an MsiInstaller message in the Event Viewer's Application event log (Control Panel, Administrative Tools, Event Viewer).
The logging parameters are as follows:
Parameter | Description |
---|---|
/l logfile | Generates a summary log file. To generate the file, you must have write access for the output path. |
/l*v logfile | Recommended option. Writes all messages to the log file. To generate the file, you must have write access for the output path. |
The following command installs the core components, queue manager, and transaction log on a single machine as part of a domain installation. It also generates a log file in c:\temp.
msiexec /i mpf.msi /qn UNATTENDED=1 MPF_DOMAIN_INSTALL=1 MPFCORE=1
MPFQUEUE=1 MPFTRANLOG=1 MPFSVCPASSWORD=mpf MPF_CONFIG_SERVER=MPF1 /l*v
c:\temp\logfile.txt