Additional Exclusions Page (Source Distribution Properties Dialog Box)
- Updated2025-03-14
- 7 minute(s) read
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.
|
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 |
|
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 |
|
|
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.lib | Place 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.lib | Place 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. |