12-27-2006 06:21 PM
Problem Description :
I've been developing with LabView for 8+ years and recently had to upgrade from 6.1 to 8.2 because of compatibility issues with LabView, MAX, DAQ and SERIAL. LabView had always been so intuitive and efficient, but that has changed to some degree sometime after 6.1 IMO. I won't get further into that, but I am having several problems with Application Builder and particularly, with creating an Installer and installing test programs. I haven't seen many posts on this subject so I assume I am doing something wrong.
In 6.1, I could build a program and create an installer in minutes, and all in the same step - Click on Build and the installer was created. I could also locate my files anywhere I wanted. Unfortunately the process in 8.2 is no where as simple as one has to create a build and installer separately. So far, I haven't been able to distribute my installer files where I want them according to our internal procedures. The build portion works fine and I can locate my files as needed, but not so for the installer (at least I haven't figured it out yet). The main problem is that I have some common DLLs that I'd like to locate in a common directory for all of my programs, but it seems like I'm stuck putting them in the installation directory of every program that I write. Again, it is fine in build. There doesn't seem to be any flexibility in changing the location of the files in the installer. I did see a post somewhere that mentioned that DLL files must be located in the system directory if you don't want them included in the build or installation. I would just like to install the dlls to a common directory and not include them in every installation directory. Just like I did in LV 6.1!
This is a relatively minor problem compared to what happens when I try to install the programs.
I have five separate programs for which I have recently built and created installers with the limitations that I've described above. I can install one program on my machine and it runs properly. If I try to install any of the
other four, they will delete the previous installation - all the files are deleted (they all have different names). What I think is going on is that the installer thinks that these five programs are the same and simply overwrites the previous installation. One reason I believe this, is because I tried an installation and it failed with the error message that there was already a higher version installed. The higher version it was referring to was almost certainly the one program I could install, but certainly not a higher version of the one I was trying to install (it didn't exist yet). After I uninstalled the one program, I could install any other four. It doesn't matter if I install on the build computer or the target computer (ATE).
What am I doing wrong? Please help me to resolve this problem.
I wan't the build and install files in the same exact location:
Example of my five programs and the locations of build and install:
C:\KIK2-LabView\Customer Name\Base Part Number1\Program1.exe.......
C:\KIK2-LabView\Customer Name\Base Part Number2\Program2.exe.......
C:\KIK2-LabView\Customer Name\Base Part Number3\Program3.exe.......
C:\KIK2-LabView\Customer Name\Base Part Number4\Program4.exe.......
C:\KIK2-LabView\Customer Name\Base Part Number5\Program5.exe.......
The support files will also be put in the corresponding directories. The common files were supposed to go in the KIK2-LabView directory instead of copies in every installation directory.
Is there something I have to do with the registry? In 6.1 it was all automatic.
I hope there are simple answers to my problems, but I have yet to find them out. I have been able to find very little info on Application Builder, and nothing that is comprehensive.
Thanks!
12-28-2006 03:51 PM
12-29-2006 01:46 PM
Thank for the reply, Andy
I have scoured the Help files and this forum which helped me to create the build and installer, but they didn't address any of the problems that I described in my post. I tried to make sure that I exhausted numerous resources before posting and requesting help.
I appreciate the response, but you didn't quite get to my most important problem - that when I try to install a program from the created installer, it overwrites my previously installed program. Actually I have found the answer in a different thread. ---> http://forums.ni.com/ni/board/message?board.id=140&message.id=16146. My problem is that I cut and pasted all of my project files and made the appropriate changes specific to each new project. If you don't create brand new builds and installers in these projects, you will create duplicate registry keys, even though all of the names, numbers, files, etc. were changed to be completely unique. I opened the .lvproj file in notepad and found several registry keys to be the same; here is an example:
<Property Name="UpgradeCode" Type="Str">{831013BF-9112-45AA-BF13-A13F08098841}</Property>
All of the projects that I created by cut and paste (and edit) method had this same exact key (as well as other keys) which was causing the previous install to be deleted/overwritten or gave me the message that a higher version already existed. Again, this happened even though all of the project data was completely unique after it was edited, including the project filename (of course). Finally, I completely rebuilt my projects from scratch starting with "New Project" and voila, they now all install properly. Obviously, none shared any of the same registry keys.
I don't know if this is something that was overlooked, but it is so much easier to cut, paste and edit projects when they are very similar. Unfortunately I have found out the hard way that new build and install spec's must be created. Is there a change that can be made to the Project File in LabView so that when certain information changes (like the executable file name) that new registry keys will be generated? It is obvious that you don't want someone to accidentally install a lower version of the project over a newer one, but it would have prevented my work time loss (several days) and will prevent time loss for others in the future as well. Could you at least consider allowing the developer to generate new keys like was available in LabView 6.1?
Also concerning the location of files, I previously had done all of what you said and can locate the build files where I want. However, in the Installer (Source Files Tab), when I create the folders in [Windows Volume], all of the files from the build spec are put into the SAME directory, regardless of where they were located in the build spec. If I try to delete one file, all will be removed. I can't place individual files where I want them to go in the installer (if they are a part of the build). Example: In the installer, I created the subfolders KIK2-LabView\Customer\UUT Base Part Number on the [Windows Volume] directory and set the UUT Base Part Number as default. I want most of the files to go into the default directory, but a few of the dependent dll's should go into the KIK2-LabView folder as they are common to many other programs/projects. In short, I don't need or desire 50 copies of these dlls on my ATE. I was able to locate the installer files anywhere in LabView Pro 6.1, but so far I can't figure out if this is possible in 8.2. It would appear that it is not.
Thanks,
John W.
12-30-2006 04:53 AM