Many LabVIEW developers will put off building an EXE from their LabVIEW project until the very last minute. One of the great things about LabVIEW is that you don’t really need to build an EXE in order to run your application — you can simply run it from source code. So, developers spend days, weeks, and even months working on their application, running it from source, and then, a few days before they deliver, they decide to build an stand-alone executable. And, that’s when things go terribly wrong.
There are a great many things that are slightly different between running a LabVIEW application from source and running it from within a built EXE. These include:
- relative locations to configuration and other files
- some VI Front Panels are removed when the EXE gets built
- some LabVIEW features are not present (or work differently) in the run-time (executable) environment
- and, the list goes on…
All of these issues need to be known and resolved sooner, rather than later, so that the high-risk issues don’t cause you to miss your project deadlines. One of the best pieces of advice I can give someone who thinks there is even a minuscule chance that they will have to ship their application as a stand-alone executable is to build your EXE on day one, and keep it working. “Real” software developers call this continuous integration, the process of building and testing your application frequently (hopefully, so frequently that any changes that you make to the sources that will cause problems in the built application are known immediately to the developer who made the changes).
At JKI, we do a fully automated nightly build of VI Package Manager, any time there are changes made to the source code. This lets everyone on the team know that, when it comes time to ship our software, we don’t have to worry about debugging the build process. The final days before your project deadlines will be hectic enough. So, why not make your life easier and eliminate one common (and easily avoidable) issue? Build your EXE on day one, and keep it working.