Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by ClinTrialist

  1. For Apple Silicon native LV 2023 Q3, you can embed the LabVIEW 23.0 Runtime.framework, etc., so as to create a standalone application by drag and drop copying from /Library/Frameworks/LabVIEW 23.0 Runtime.framework, etc. directly to the Application.app/Contents/Resources folder. This entails entering your admin or equivalent password to preserve security information that is lost if you cp, ditto, rsync, AppleScripts etc. over the frameworks using a Post-Processing vi. A kludge, but it works to send standalone applications out with involving a client a trip to ni.com to download the RTE or to involve creating an installer.app to bundle installing an RTE. For those who wish to stick with a Post-Processing vi for Apple Silicon native LV 2023 Q3: -Rework the above Install Runtime Engine.vi substituting arm64 for x86_64 (or i386). -Modify the paths created to place the frameworks at Application.app/Contents/Resources -Use sudo -S cp -Rp '/Library/Frameworks/%s/' '%s/%s' to allow the copying to proceed completely in the Application.app without the need to involve drag and drop copying from /Library/Frameworks/LabVIEW 23.0 Runtime.framework, etc. -Modify the sudoers list via sudo visudo, to include <username> ALL=(ALL) NOPASSWD: /bin/cp This effectively "whitelists" cp command at its path "/bin/cp" to have sudo privileges. NB: Consider how to "sandbox" the time you allow even one command to have sudo privileges. When finished building apps to test or deploy with this shortcut, REVERT to baseline security by deleting the entry in the sudoers list.
  2. Thanks for the question. A Post-Processing VI may be used on LV 2012 or later in the Application Builder. In this case, the Developer uses the Post-Processing VI to copy over the installed Run-Time Engine (or any other installed Framework) to the Application.app so that it can run without the need to install separately the same version of RTE (or any other installed Framework) on the client's i386, x86_64, or arm64 hardware. Despite NI not providing an installer for the macOS LV, there is a pathway to create an application that "stands alone", i.e., that binary is self-sufficient. Obviously, you can use Packages, Nix, RPM Package Manager, Jamf, etc. to create an installer. However, it turns out that you can handle most of these issues inside LV itself. As for Apple Silicon (arm64) native LV (2023 Q3), it is also possible to create a standalone application. I finally got this to work early this morning and will post it on the the link above after doing some testing. What this means is we can send zipped application files out to anyone who has macOS hardware and they will work as standalone apps. Macophiles don't like installing "drivers" in the sense of heading over to https://www.ni.com/en/support/downloads/software-products/download.labview.html#443308 . My concern is that NI is pulling LV for macOS in March after 40 years and that Apple may drop Rosetta 2 at some point in the future. At least, LV "development" can continue on the macOS side on both x86_64 and arm64 for the foreseeable future for those who own permanent licenses. NB: macOS LV development is limited by drivers, especially for the arm64 native LV (2023 Q3). Native LV (2023 Q3) is fast on the newer M1 & M2 processors, but doesn't have drivers for NI hardware because of the challenges in developing for Apple's latest derivation of the Darwin kernel. Many of us, hope the Emerson will see the benefit and open source LV. Until then, the installed base will keep coding in G as is. BTW, for a 2021 LV application and the 2021 RTE, it should run on Catalina. As above, you could build a standalone app and test it on a Catalina VM.... Install Runtime Engine 2012 NIVerified.vi
  3. If you have the Professional Version of macOS LabVIEW or have purchased the macOS Application Builder, you can build standalone applications using a post-processing VI that will run on any x86_64 (Intel) or arm64 (Apple Silicon) MacBook Pro, etc. through at least the last release of LV for macOS: 2023 Q3. The post-processing VI installs the respective runtime framework in Application.app/Support. You need to be using the same version of LV and the runtime engine so that the copied files will compile and run on the client's Intel or arm64 (through Rosetta 2) Mac hardware. Thus as long as Rosetta is installable on future macOS releases, there should be a pathway to develop for releases to clients in this manner without them needing to download the Runtime Engine (RTE) separately. See https://forums.ni.com/t5/Example-Code/Standalone-LabVIEW-built-Mac-Application-with-Post-Build-Action/ta-p/3498155. The RTE setup for Apple Silicon native LV 2023 Q3 entangled the user with other challenges: codesigning, etc. that make solving this problem difficult when trying to stay strictly native, i.e, LV compiled for arm64 without the need for Rosetta 2. If you get an error code 6, delete your Project and rebuild it from scratch to link the post-processing VI.
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.