LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview Application Builder fails with Error -21

Hello again

 

I've been trying to build an Installer, that would create a folder structure and populate it with files needed for a new machine to work.

Installer built fine, until i added in database files (.mdf and .ldf files).

 

The mdf file is processed fine, however ldf file returns an error below:

---------------------------------------------------------------------------------------------

Click the link below to visit the Application Builder support page. Use the following information as a reference:


CDK_Item_OnDoProperties.vi.ProxyCaller >> CDK_Item_OnDoProperties.vi >> AB_UI_FRAMEWORK.vi >> AB_UI_Frmwk_Installer.lvclass:Build.vi >> Installer.lvclass:Build_from_Wizard.vi >> IB_MSI.lvclass:Build.vi >> IB_MSI.lvclass:Engine_BuildDevPart.vi >> CDK_Engine_AddFiles.vi >> NI_MDF.lvlib:MDFBuildDevPart_AddFile.vi
C:\Work\Project\Fresh Install Folder

The following errors and warnings were recorded during the build:

Error:
An internal tool or library returned an error.
Details:
Error adding file: C:\Work\Project\Fresh Install Folder\Database_log.ldf
Code:
-21

---------------------------------------------------------------------------------------------

 

Searching for error -21 returned no results, support page no longer exists (or redirects to app builder download site)

0 Kudos
Message 1 of 9
(1,731 Views)

Any ideas?

 

I checked if the file was somehow protected, but there was nothing out of the ordinary.

The file is big (over 1GB) but the mdf file is of almost the same size and there was no problem with it.

0 Kudos
Message 2 of 9
(1,679 Views)

Did you manage to solve this problem?

I have the same Issue, where I want to add a large folder (10gb) to the installer and the build seems to fail at a file that is about 1gb.

If I delete that file, the build fails at the next file with the same size.

 

CDK_Build_Invoke.vi.ProxyCaller >> CDK_Build_Invoke.vi >> CDK_Engine_Main.vi >> IB_MSI.lvclass:Build.vi >> IB_MSI.lvclass:Engine_BuildDevPart.vi >> CDK_Engine_AddFiles.vi >> NI_MDF.lvlib:MDFBuildDevPart_AddFile.vi
C:\Users\thefile

The following errors and warnings were recorded during the build:

Error:
An internal tool or library returned an error.
Details:
Error adding file: C:\Users\thefile
Code:
-21

 

0 Kudos
Message 3 of 9
(1,456 Views)

I added the database files to a zip archive and then called a batch script that ran an "unzipper" executable, which unzipped the archive and then deleted it. After unzipper was finished the batch script would delete it and all it's associated files as well as itself.

 

A bit of a work around, but it works.

0 Kudos
Message 4 of 9
(1,450 Views)

I am assuming that the above error is occurring when creating an installer using the Installer Build Specification. I believe this occurs because of limitations in the size of files that can be added to a MSI CAB files that the build creates.

 

FWIW, I believe that this limitation does not exist if you create an installer using the Package Build Specification. I just did a quick test with a 3 GB ISO file and LabVIEW created the package and installer, and it installed with no problems.

Scott Richardson
https://testeract.com
0 Kudos
Message 5 of 9
(1,428 Views)

I did find an internal discussion about the Debian package file format that we use and there is a limitation where the size of the unpacked files cannot be more than 10 characters, which would limit its total size to be less than 10 GB.

Scott Richardson
https://testeract.com
0 Kudos
Message 6 of 9
(1,417 Views)

Thanks, i'll try the package build when i have time 🙂

0 Kudos
Message 7 of 9
(1,403 Views)

Thanks for the suggestions, I tried the Package Build and it worked for me too.

However I could only specify public directories as destinations, so I will probably just install a smaller version of my directory and have the user download the additional data themselves.

0 Kudos
Message 8 of 9
(1,352 Views)

You are correct that NI Package Manager based packages do not support installing files to absolute directories, so LabVIEW's Package build specification only supports OS specific destination directories.

Scott Richardson
https://testeract.com
0 Kudos
Message 9 of 9
(1,346 Views)