Published December 8, 2017
To allow a LabVIEW executable running under a standard user account (which is the way most applications should execute) elevated privileges requires updating the manifest embedded in the LabVIEW executable. The manifest is built with the default level of asInvoker
which means the application will start with the same privileges as the user account that launches the application. To use higher privileges the manifest file must be extracted from the exe, the requestedExecutionLevel
must be set to highestAvailable
or, if the application always requires administrator privileges, requireAdministrator
, and the manifest must be re-embedded in the exe.
This is all accomplished with the Manifest Tool mt.exe
which ships as part of the Windows SDK. The tool is not difficult to use but the command syntax can a be a little hard to remember.
Manifest Tool Command Interface
Typical LabVIEW Manifest
The Manifest Tool is a wrapper around the mt.exe
tool that makes it more convenient to use from LabVIEW. Typically, I include the Main.vi of this toolkit in a post-build VI called by the application builder so new builds always have the updated manifest required.
Note: mt.exe
is part of the Windows SDK and must be obtained from a Microsoft source. It can be downloaded as part of the Windows SDK or, if your development machine has Visual Studio, there will typically be a copy somewhere in Program Files (x86) or Program Files. The Manifest Tool expects a copy of mt.exe
in its root folder to work as distributed.