How Do I Change the Default Software Selected in an Installer?

Updated Apr 28, 2023

Environment

Software

  • NI Package Builder
  • Package Manager

I want to silently run an installer, but when I do this it only installs the software that is selected by default. How do I modify this to install a custom list of software?

You can modify the suite.dat file to control which software is installed by default.
  1. Run install.exe to show which software is selected to run by default. In this example, everything but NI-Serial is selected by default.
  1. Open suite.dat inside the bin directory of your installer using any text editor. 
  1. Find the "preselect" section for the software you want to change. Modify this to "true" if you would like the software to be included by default, or "false" if you do not. See the Additional Information section for tips on navigating the layout.
    • "preselect":true = selected by default
    • "preselect":false = not selected by default. 
  2. Save suite.dat
  3. Re-run the install.exe in the main directory to ensure this has worked:
  1. If you then want to automate this installer use the command line to navigate to the installer's folder.
    • For NIPM 20.7 or later: Use the "quiet" flag to execute the installation silently.
    • For NIPM 20.6 or earlier: Use the "passive" flag to execute the installation non-interactively. The NIPM window will still show, but needs no user interaction to complete. 

Additional Information

The layout of this file will depend on how it was created. Unmodified NI Installers have a Formatted Layout whereas installers made through NI Package Builder or other software tend to have an Unformatted Layout.


Formatted Layout
Find the "packageName" header for the software you want to change and scroll down to the related "preselect".

Unformatted Layout
Use Ctrl+F to find "preselect". Notice the package name that proceeds this. 



To improve the readability of the unformatted layout, edit the file to show each package on a separate line. Each new package's section starts with {"architecture":