NI MSI-based Installer Architecture
- Updated2024-11-26
- 2 minute(s) read
NI MSI-based Installer Architecture
Microsoft Windows Installer technology works well for single, independent applications, but many NI products are interdependent and share sets of features. Therefore, NI developed an MSI-based installer architecture to accomplish the following tasks:
- Install, uninstall, or upgrade products independently or as part of a larger installation
- Define dependencies among products
- Provide a common user interface so all installations or uninstallations of NI products appear as a single operation, which is necessary because each NI product uses a series of smaller MSI-based installers
The NI MSI-based installer architecture uses parts, which represent the smallest unit the NI MSI-based installer requires to track by version or the largest indivisible group of features. Parts are Windows installation packages that contain one or more Windows Installer database files that include additional custom tables NI defines.
A product consists of one or more parts and an XML file that describes the product. You can include a part in several products to share common features among products. The XML file lists the product requirements and properties, such as the product name, description, and whether that product is redistributable, which means that you can include the product in other MSI-based installers. For example, you can include the LabWindows/CVI Run-Time Engine in an MSI-based installer you build with the TestStand Deployment Utility.
A distribution includes one or more parts and required support files for all the features of a product. Running the installer executable from the distribution media might display a list from which you can select features to install. Customizing this list changes the features a part installs or changes the set of parts to install. During installation, the setup application iterates through each part that contains the features you selected to install. If a part is not already installed or if the part is a later version than the part already installed on the computer, the setup application installs the part. If the part already installed on the computer specifies a version that is a later or equal version to the version of the part in the MSI-based installer, the MSI-based installer does not install that part. The MSI-based installer user interface represents the series of part installations as a single, unified installation by showing a progress bar for the current part and an overall progress bar for the installation of all the parts.
When you remove NI software, the MSI-based uninstaller user interface lists the products and patches installed on the computer from which you can select the products to remove. Before removing a product, the NI MSI-based uninstaller confirms that no other products on the computer require the product parts you want to uninstall.
When you modify features of a product, the NI MSI-based installer installs the parts required for the features you add and uninstalls parts for the features you remove. Before removing a part, the NI MSI-based uninstaller confirms that no other products on the computer require the parts you want to uninstall.