Output Files Are Different When Building an Installer With LabWindows™/CVI on Different Computers

Updated Aug 2, 2023

Reported In

Software

  • LabWindows/CVI

Issue Details

We have several computers using the same LabWindows/CVI version to create a distribution kit or installer to deploy the developed application. When the distribution kit is created, the files in the output folder differ from one computer to another even when the same version of LabWindows/CVI is being used and no additional NI drivers are being deployed. If we look at the contents of the output folder and use a source control tool to track differences between the files, we can see that the contents are not the same. Why are the files in the output folder different?

Solution

The \dp folder under "bin" folder is expected to change, as that is rebuilt every time (and is what contains the user's files). There is also an .msi file there that changes every build as well.

For the other folders listed (pX folders), no changes are expected if the same computer is being used. If the above other files actually changed, then it is most probable that the user has upgraded or installed ANY NI application or driver since the last deployment was built, which could have updated a number of other lower-level, shared components, which could change these files. The installer builder does not have code that could update an .msi and totally unrelated NI products still can share some underlying components.

You can perform the following steps to track the differences between the files:
  1. Build the installer.
  2. Copy the output to a temporary folder.
  3. Build the installer again.
  4. Use a tool like WinMerge to compare the temporary folder vs the just re-built installer.

In order to work around this issue, the user would need to have a separate computer to build the installer to make sure that the output files are the same or have two computers with the same NI software stack. As mentioned, installing any applications that use NI software or performing updates on NI software could modify low-level components being used by LabWindows/CVI that could cause the installer to have different msi files.