How do I migrate an existing installation of Mi-Forms Server to a new location?
There are really 4 major components to handle:
• SQL Database(s)
• Mi-Enterprise Apps and Mi-Forms Server storage directories
• Additional items relating to data exports
1. Install SQL Server
a. If you are using a remote instance of SQL, you do not need to do this step.
2. Install the Mi-Enterprise Apps and Mi-Forms Server per documented instructions.
a. In the Global Administrator Setup page, install a new server license obtained from Mi-Corporation. Mi-Enterprise Apps and Mi-Forms Server licenses are issued by hostname of the machine, not FQDN or other DNS based name. (use the command line and "hostname" to display the actual hostname of the server machine.)
b. In the Global Administrator Setup page, update the Local Administrator to reflect a user on the new box with local administrative privileges.
c. There is no need to create new customer(s) as we will be moving the customers over along with Server configuration information.
1. Stop the Mi-Enterprise Apps & Mi-Forms Server web site and app pool (use IIS Manager).
2. Create a backup of the SQL database(s) that will eventually be restored to the SQL Server on the new box. There is one database per customer configured on the Mi-Enterprise Apps and Mi-Forms Server.
a. If you are using a remote instance of SQL this step is optional as the new box will point to the same SQL instance.
3. Copy the storage directories (typically C:\MFS) from the old box to the new one.
4. Copy the web.config from the old Mi-Enterprise Apps and Mi-Forms Server instance (C:\inetpub\wwwroot\mfs) to the new box.
5. Copy the export folder(s) content, if required.
1. Restore the database(s) to the SQL instance on the new box.
a. Again, may not be necessary in a remote SQL environment.
2. Update the web.config file
a. to reflect any changes in the connection string to the new SQL instance.
<add name="db.customer.Acme" connectionString="Data Source=(local);Initial Catalog=MFDatabaseAcme;Integrated Security=SSPI" />
3. If the new Mi-Enterprise Apps and Mi-Forms Server and the old Mi-Enterprise Apps and Mi-Forms Server were installed using the same target locations (e.g. C:\MFS for storage), you should not need to make any other changes to the web.config. If there are differences, say the new Server is pointed at the D:\ drive instead of C:\, you would need to make the appropriate changes in the <MFS> section of the web.config.
4. Please see the Server documentation for more details on configuration (e.g. "Logging level", "Reco Resource folder", etc).
5. IIS AppPool identity permissions
While the Mi-Enterprise Apps & Mi-Forms Server is running, it is run as an IIS AppPool identity. Windows-based database access (if not using SQL Authentication) and file folder access from the Server must have the proper permissions configured on the new machine. To obtain the IIS AppPool identity, use IIS Manager to determine the Application Pool name that is configured for the Mi-Enterprise Apps & Mi-Forms Server web site. (e.g. IIS AppPool\DefaultAppPool).
a. Add this identity to the list of security logins in SQL Server and enable data reader and writer access to the customer database.
b. Set up permissions for this identity to read/write from any folder locations needed for lookup or export for the form.
This step is absolutely critical and commonly misconfigured, resulting in permission issues.
6. Open the Setup.aspx interface in a browser (<yourServer>\MFS\Setup.aspx. and log in.
7. Click Modify Customers and confirm all customers are available and the databases are accessible.
8. Update database(s) if upgrading versions.
9. Login to customer(s), search for a session, download and view the contents of a session (to verify database and file based connections).
10. Most importantly, perform system tests from the Client to the Server to eventual data export endpoints. We highly recommend the use of separate development, test and production environments.
For more information, please see Mi-Enterprise Apps and Mi-Forms Server Solution article: