You can install a product and then include that product in an MSI-based installer you build to redistribute the product with a deployment. NI provides product distributions for you to include in the deployments you create. By redistributing products in a single, customized MSI-based installer that includes only the features of the product the test system requires, you can streamline the installation process so users can avoid separately installing multiple products with specialized feature sets. Redistributing products in a single MSI-based installer also avoids the need to distribute multiple distribution media along with the test system you deploy.

Redistribution Using Merge Modules in TestStand 3.0 and 3.1

In TestStand 3.0 and 3.1, you could use the deployment utility to redistribute the TestStand Engine by recreating the MSI-based installer from a Microsoft Windows Installer database file and a large number of merge modules. However, using this technique caused the following issues:

  • You could not extract merge modules once you merged the files into a Windows Installer database file. Therefore, the TestStand MSI-based installer had to include copies of all the merge modules needed to rebuild itself, which nearly doubled the size of the TestStand MSI-based installer.
  • Merging a large number of merge modules and building MSI-based installers was time-consuming and did not scale well for large distributions with multiple products, such as multiple NI drivers.
  • This technique supported only a few NI products. Adding support for other NI products was difficult because no standard existed for obtaining merge module dependencies. The deployment utility hard-coded dependency information for all merge modules TestStand installed. Additionally, no registry existed for all the merge modules installed on a computer, and the deployment utility could use only the merge modules TestStand installed.

Redistribution Using the NI MSI-based Installer Architecture in TestStand 3.5 or Later

To overcome the issues of using merge modules to redistribute products, NI developed an MSI-based installer architecture to create and redistribute parts using the same binary files to install and uninstall parts and to create distributions. Use the NI MSI-based installer architecture to accomplish the following tasks:

  • Provide a consistent experience across NI development systems, such as TestStand, LabVIEW, and LabWindows/CVI.
  • Create distributions that consist of one developer part, any number of redistributable NI parts, and support files required to install the parts. The developer part contains files you add to the distribution by using the deployment utility and MSI-based installer tables that perform actions associated with those files during installation, such as registering ActiveX Automation servers, creating shortcuts, and importing hardware configuration files into Measurement & Automation Explorer.
  • Upgrade the NI MSI-based installer architecture independently of upgrading TestStand.
  • Define a framework to register products and dependencies during installation.
  • Provide a way for products to define different flavors, which are subsets of features that you can redistribute, such as a run-time version that excludes development features.