Additional Exclusions Page (Source Distribution Properties Dialog Box)

Use this page of the Source Distribution Properties dialog box to configure settings to reduce the size of the source distribution, improve load time, and reduce memory usage when you load the resulting build.

This page includes the following components:

Option Description
Disconnect type definitions

Specifies whether to omit type definitions from controls during the output of the build process. Selecting this option for an application with a large number of VIs can potentially reduce the memory usage of the build output.

Remove unused polymorphic VI instances

Specifies to remove unused polymorphic VI instances during the build process. When you add an instance of a polymorphic VI to the block diagram of a VI you include in the build, LabVIEW adds all other instances of the polymorphic VI to the build. If you enable this checkbox, the Application Builder removes any polymorphic VI instances you do not call directly from the block diagram. You may want to disable this option if you dynamically load an instance of a polymorphic VI so the Application Builder does not exclude the polymorphic VI instance you dynamically load from the build. Disabling this checkbox may increase the size of your application.

Remove unused members of project libraries

Specifies to remove unused project library members during the build process. If you enable this checkbox, LabVIEW only includes the VIs from the library you call directly from the block diagram. Enabling this option reduces the application size because LabVIEW does not include the other VIs referenced by the same project library unless the VIs are referenced by other VIs that are part of the build.

  • Modify project library file after removing unused members

    If you select to remove unused members of the project library, enable this checkbox to direct LabVIEW to modify the library so that the library file does not refer to the removed members. If you do not modify the project library, the application may take longer to build.

Disconnect unused inline subVIs

If you enable this checkbox, LabVIEW does not load any unused inline subVIs into memory when you load the resulting build, which improves load time and reduces memory usage. LabVIEW considers an inline subVI to be unused if VIs within the build only call the subVI statically via the subVI node. LabVIEW does not disconnect unused inline subVIs unless you disable debugging in the build specification on the Advanced page of the dialog box. You also must remove the block diagrams from unused inline subVIs; otherwise, LabVIEW does not disconnect them.

Note If an unused inline subVI is a member of a class, LabVIEW loads that subVI into memory when you load the build output even if you enable the Disconnect unused inline subVIs checkbox.
Exclude dependent packed libraries

Specifies to reduce the overall number of files in a build output. When you enable this checkbox, LabVIEW excludes copies of dependent packed project libraries to which you link from other build outputs. To exclude dependent packed project library files, LabVIEW retains the links relative to the original dependent packed project libraries instead of copying those files during the build. For example, if you create one build output and then a subsequent build output, you can relatively link the subsequent build output to a file in the first build output. If you leave this checkbox disabled, LabVIEW copies the dependent packed library file to which you linked instead of retaining the relative link to that file.

Exclude dependent shared libraries

Specifies to reduce the overall number of files in a build output. When you enable this checkbox, LabVIEW excludes copies of dependent shared libraries to which you link from other build outputs. To exclude dependent shared library files, LabVIEW retains the links relative to the original dependent shared libraries instead of copying those files during the build. For example, if you create one build output and then a subsequent build output, you can relatively link the subsequent build output to a file in the first build output. If you leave this checkbox disabled, LabVIEW copies the dependent shared library file to which you linked instead of retaining the relative link to that file.

Note If you move the original files to which multiple build outputs are linked, those outputs may not load correctly.
Exclude files from vi.lib

Excludes all files in the vi.lib directory from the source distribution.

Exclude files from instr.lib

Excludes all files in the instr.lib directory from the source distribution.

Exclude files from user.lib

Excludes all files in the user.lib directory from the source distribution.

Note LabVIEW only excludes files in vi.lib, instr.lib, and user.lib if you do not select them as Always Included in the Source Files page of the Source Distribution Properties dialog box.
Options for compiled code
  • Embed compiled code in all source files

    By default, LabVIEW creates one file to contain the source code and object code for all the files you include in the source distribution.

  • Separate compiled code from all source files

    Separates compiled code from all the files you include in the source distribution.

    Note Do not separate compiled code if you intend to load the VIs produced by the source distribution in the LabVIEW Run-Time Engine.
  • Use the compiled code setting as saved in each source file

    Maintains the settings for each file in the source distribution. For example, if you include both source-only VIs and VIs that maintain compiled code in a source distribution, use this option to preserve the original settings of each VI.

Building Editable and Run-Time Source Distributions

  • Editable source distributions—Build this type of source distribution to package and send code for use in another LabVIEW development environment. The default options in LabVIEW primarily support this use case. Because these source distributions are editable, LabVIEW leaves most of the components that provide optimization unchecked. If necessary, you can change the default components to provide more optimization.
  • Run-time source distributions—Build this type of source distribution to be a plugin which is loaded into a stand-alone application. Because you typically include a run-time source distribution in a stand-alone application, avoid editing the code for a source distribution with this use case. Configure run-time source distributions for optimization in order to reduce the output size on disk.
Component Editable Source Distributions Run-Time Source Distributions
Disconnect type definitions Remove the checkmark from this box. Preserve type definitions because you can edit the code for source distributions with this use case. Place a checkmark in this box to avoid including unnecessary files for optimization.
Remove unused polymorphic VI instances Remove the checkmark from this box. Preserve unused polymorphic VI instances because you can edit the code for a source distribution with this use case. Place a checkmark in this box to remove unused polymorphic VI instances for optimization.
Remove unused members of project libraries Remove the checkmark from this box. Preserve the original library because the code for the source distribution is loaded in the LabVIEW development environment. Place a checkmark in this box to avoid including unnecessary files for optimization.
Modify project library file after removing unused members
  • Remove the checkmark from this box if the source distribution and the stand-alone application that loads the source distribution contain VIs from the same library. If you do not remove the checkmark from this checkbox, the application loads and modifies the library that it shares with the source distribution. Furthermore, the library no longer contains references to the VIs in the source distribution and causes the VIs in the source distribution to break when loaded into the application.

    For example, if you want to include a source distribution that contains Mean VI within a stand-alone application that contains Median VI, and Mean VI and Median VI belong to the same project library, remove the checkmark from this checkbox when building the stand-alone application. Otherwise, the project library in the stand-alone application only contains a reference to Median VI after removing unused members and modifying the library file. When the stand-alone application loads the source distribution, Mean VI breaks upon load because the library within the stand-alone application no longer contains a reference to Mean VI.

  • Place a checkmark in this box to reduce file size if the source distribution and loading stand-alone application do not contain VIs that are part of the same library.
Exclude files from vi.lib Place a checkmark in this box. Exclude the files from vi.lib because LabVIEW loads the code for the source distribution in the LabVIEW development environment. Remove the checkmark from this box. A source distribution must include all file dependencies because the stand-alone application that calls the source distribution does not include a vi.lib directory.
Exclude files from instr.libPlace a checkmark in this box. Exclude the files from instr.lib because LabVIEW loads the code for the source distribution in the LabVIEW development environment.Remove the checkmark from this box. A source distribution must include all file dependencies because the stand-alone application that calls the source distribution does not include an instr.lib directory.
Exclude files from user.libPlace a checkmark in this box. Exclude the files from user.lib because LabVIEW loads the code for the source distribution in the LabVIEW development environment.Remove the checkmark from this box. A source distribution must include all file dependencies because the stand-alone application that calls the source distribution does not include a user.lib directory.
Preserve compiled code You can either disable or leave this option enabled. Leave this option enabled if you want all files to contain source code and object code in one file. Disable this option if you want to separate source code and object code for all files. Enable. All files must contain source code and object code within one file to guarantee that the LabVIEW Run-Time Engine can load all files.
Remove compiled code Enable to reduce file size. When you remove compiled code, LabVIEW handles automatic or mutation changes without requiring you to save. Disable. The LabVIEW Run-Time Engine cannot load files from the compiled object cache that stores separate compiled code.
Preserve file settings of each VI or library Enable to maintain the individual settings for each file you include in the source distribution. This option provides you flexibility with the files you include in a source distribution. Enable to include files without separate compiled code and to maintain the individual settings of each file. LabVIEW Run-Time Engine cannot load source-only files.

Building and Distributing Applications Home