LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

what files do I have to include for Mac run-time

I have built an application which I wish to distribute to Mac users.

On windows there is a folder called 7.1 under Labview Runtime under Shared in the Labview program directory. I have been simply copying the contents of this directory to the directory a folder with my application and burn the whole thing to CD. Works fine on non-labview machines.

I haven't been able to do the same thing on a Macintosh. I did find an item called Labview 7.1 Runtime buried deep in the system library but simply copying that to the distribution directory still doesn't work on non-lab view mac's.

Is there anywhere a step by step foolproof procedure for building distributable mac applications?

And a few related questions:

Why can't the application builder do the whole job and automatically include all needed libraries when you ask it to build an application?

Why aren't the Mac runtime programs included in the Windows version of Labview and vice versa so that you can develop on one platform and distribute the application on both?

Why is there a Build Installer option on Windows but not on Mac?

David
Puzzled in California
0 Kudos
Message 1 of 8
(4,484 Views)
Hello David,

In order to distribute an application built by LabVIEW you will need the LabVIEW Runtime Engine for that Operating System. You can download the runtime engine for your OS at:
http://digital.ni.com/softlib.nsf/webcategories/85256410006C055586256BBB002C1065?opendocument&node=132060_US

With a Window edition of LabVIEW there is an option to create an installer which will bundle the runtime engine inside an installer for you. Currently, we do not have that option on a Mac but it is a product suggestion that we are definitely looking into!

With LabVIEW it is possible to transfer your VI from a Windows operating system to a Macintosh. However, after you build that VI into an executable the LabVIEW Block diagram is translated into machine code specific to the operating system you are working on. Therefore there is no way to build an executable on a Windows machine for distribution on a Mac. One workaround is to take your final VI and transfer it to the Mac and then build the application there.

I hope this helps. If you have any further questions please let us know!

Best Regards,
Chris J
0 Kudos
Message 2 of 8
(4,464 Views)
Chris,

Thanks for your feedback.

On a windows machine I can put the 7.1 runtime package on the CD with my application and it works just fine. There is no need to "install" anything on the target machine. The application runs from the CD. It sees the runtime on the CD and everything is cool. When the user ejects the CD nothing is left on the user's computer.

Why can't I do that on a Mac? It is the same situation. The application is there. The runtime package is there (assuming I have put the correct files on the CD... and I still don't know which files they are).

OK. Assuming I can't do it, then what do I tell the user to do? Should I include Labview_7.1.1_Runtime.dmg on the CD and tell the user to double click on it before running my application? Should I instruct the user to drag some files on the CD to the Library? I would hate to do those things because the program is targeted at relatively naive users. Are there third party Mac "installers" around that I can buy or borrow?

I am puzzled. This can't be a unique problem. Somebody must have done this already.

Regards,

David
0 Kudos
Message 3 of 8
(4,459 Views)
As an experiment I put:

Labview 7.1.1 Runtime Engine.pkg on the distribution CD. If I take it to a non-Labview machine and double click on the Runtime icon the software gets installed in the Mac OS library as a Labview Framework and then the software can run directly from the CD.

However, I am still not happy with this. I don't see why the software can't run from the CD with the runtime files residing on the CD and no installation required. I can certainly do this in Windows and don't see why I can't on Mac OS.

Regards,

David
0 Kudos
Message 4 of 8
(4,454 Views)
Hello David,
Typically we don’t recommend running applications without the runtime engine installed because it has a tendency to not always work properly. Installing the runtime engine solves 99% of those problems. That being said, if you would like to do this on a Windows machine you can include the files from the Runtime folder on your CD with your executable as you have already mentioned. If you would like to try a similar thing on a Macintosh, after building your program control click on your .app file, choose show package contents, create a folder in this file called “Support” (case sensitive), and drag your LabVIEW 7.1 Runtime.framework into this. This should allow you to do the same thing on a Macintosh that you can on a Windows machine. I hope this helps.

Best Regards,
Chris J
0 Kudos
Message 5 of 8
(4,435 Views)
Chris,

I tried it and it works great. Thanks a lot for your assistance.

I would just like to add that I disagree with NI's view that this is not a good thing to do and I think that NI should publicize this capability in its documentation.

I realize that Labview was initially developed for industrial applications and that most of its market is for those types of heavy duty products. In those environments where the software is installed in a dedicated or nearly dedicated computer system it certainly makes sense to have an installer.

However, Labview can also be used to create casual user applications for occasional use and in those areas a "lightweight" app which does not modify system software in any way really makes sense. And as you point out it is really easy to do if you know how.

Regards, and thanks again,

David
0 Kudos
Message 6 of 8
(4,421 Views)

Ok, a couple of years have passed since this posting and I'm in the exact same shoes as David was, except now it is LabVIEW 8.2.1 and there are Intel Macs added to the mix.

First of all--I know nothing about Macs.  I last used Macs 12 years ago in grad school--OS 7 I think.  I just got my hands on a PowerBook G4 (PowerPC-based) and I can see that I know next to nothing.  I was able to get LabVIEW 8.2.1 installed, figured out a couple of Win -> Mac portability issues, and built a .app file on the Mac that works.  However, I need that next step of an installer for the Mac.

I have developed a program for a client that we need to be able to distribute to people that have never heard of NI or LabVIEW and just don't care what they are.  Being a Windows guy, I build LabVIEW .exe executables and installers that include LV runtime engine all the time.  Just now getting my hands on this Mac, I'm discovering that there does not seem to be a way to create an installer build specification on MacOS???

What do I do?  The people who will be running this program are not the computer savvy types and we must make the process of getting this application running as simple as possible for them.

I tried the procedure ChrisJ described a couple of years ago for LabVIEW 7.1 (in my case, drag LabVIEW 8.2 Runtime.framework into the Support folder of my .app file) and it seemed to work.  I don't know for sure because I only have this one Mac and it already has runtime engine 8.2 installed.  Is this now what I can distribute to customers?  I assume that this app is only for the PowerPC based on what I read here about universal code:  http://digital.ni.com/public.nsf/allkb/C07C01A063002882862571DC006C1014  When I get my hands on an Intel Mac in a couple of weeks, can I make one .app that has all the resources in it, including runtime engine 8.2, to run natively on both platforms?  This would be ideal.

Thanks,

Travis Pape

0 Kudos
Message 7 of 8
(4,164 Views)
Hi Travis,

Once you have your Intel based Mac, you will be able to create a Universal Binary App as described in that knowledgebase, and that app will be capible of running on both Power PC and Intel based Mac's. As far as the runtime engined is concerned, there is not equivalent to creating an "installer" on the Mac like you can do in Windows that includes both your exe and the runtime engine installer. What you will need to do is simply provide your customers with the runtime engine installer for your version of LabVIEW and the Univeral Binary app you created.
Nick R
NI
0 Kudos
Message 8 of 8
(4,100 Views)