03-22-2017 12:37 PM
Hi There,
I have a rather large file folder structure that we want to push out to our end users, and I want to make a simple installer that does this all seamlessly. Here's an example of our current folder structure
C:\Main Folder\builds
C:\Main Folder\Resources
C:\Main Folder\Applications
and so forth. Each one has different file types that interact with each other. For example, Apps in the Applications folder may call some DLLs or something from Resources folder.
I'd like to create an installer where C:\Main Folder doesn't yet exist on the end-user PC and want to install all the files where they belong. An additional awesome feature would be to create shortcuts on the desktop for certain .exe files but for now that is just a nice to have.
Anyone have any idea how to set up an installer that can package this up using LabVIEW Installer Builder?
03-22-2017
02:33 PM
- last edited on
01-06-2025
11:30 AM
by
Content Cleaner
I think the NI installer can do all you want. I've found several limitations of it, but the application builder can make an EXE with a specified folder structure, and you can include that in your installer, and your installer can make shortcuts. If the NI installer (made through the project) won't work for you there are other options.
When making an NI installer you have the option to include an EXE and to run it during the install of the application. You could make an EXE that when ran does some of these things like making folder, setting up shortcuts, and copying files that maybe the installer doesn't.
Another option might be to do this in your application on first run. When your VI first runs it can try to make the folders and shortcuts if they don't exist. This EXE will probably be ran without admin privileges and making some folders and shortcuts might not be allowed.
And another option might be to wrap your NI installer, into another installer. I've had lots of success with InnoSetup, and the ISTool for making a custom installer. This installer can do all kinds of things and can prompt the user for things like a Minimum, Full, or Custom install. What I've done in the past is bundle in an NI installer, and run it silently in my InnoSetup installer.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-22-2017 03:24 PM
Ohh perfect! I played around with it and was able to create the folder structure! Awesome thanks.
However, there's some new issues. When I run the install it works great. But I'm using this to release different software. It seems like the second time I run any given installer it doesn't do anything because it thinks it is already installed. Any way to force it to pretend it never installed in the first place? It seems to have some memory that it already ran the installer, but it doesn't look like it modified the .ini file in any way, maybe a registry key or something?
03-22-2017
03:44 PM
- last edited on
01-06-2025
11:30 AM
by
Content Cleaner
This should be handled by the version of your installer. What I've seen is as long as the version of the installer you are running is the same or greater than the version already installed, then the installer will first uninstall the old one, then install the new one.
So if you have 1.1.0 installed and you install 1.1.0 I think it should uninstall the old 1.1.0 and reinstall the new 1.1.0. If you try to install 1.0.0 the installer won't let you. You must first manually uninstall 1.1.0 (add remove programs) then install the 1.0.0 on a system that doesn't have any. The installer is seen as an upgrade (or downgrade) by looking at the GUID that is set in the Advanced section. This should randomly be generated on first creation.
There are several command line switches for installing NI installers. But I don't think there is one for a forcing an install.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
03-22-2017 03:47 PM
Just like any other installed application, it resides in Programs and Features, Apps and Features... or whatever the equivalent in your Windows version is.
Different software should have a different GUID or it will think it's the same software.