Gridmetric tools Welcome to download free tools from Gridmetric!

In addition to having the selection of commercial products available, we offer the following tools free of charge for anyone interested. Please check back from time to time as there might be new tools available!

Licensing terms

All of the tools listed here are free to use for non-commercial and commercial purposes, unless stated otherwise. If you need to re-distribute any of the tools as part of your own solution, please email us at to obtain permission to do so (does not cost you anything besides few bits of email, but we would like to know). Otherwise you should link to this page for everyone to download their own copy.

Feedback and support

If you want to report a bug or want to provide general feedback on the tools, you can use email address.

While unfortunately we cannot offer official support for the free tools, general consulting services are available if you are looking for assistance in using them or require customized versions.

HyperSnapshot - Guest VM -based Hyper-V snapshot management

HyperSnapshot can be used to initiate a snapshot operation and restoration to an existing snapshot directly from within the guest virtual machine, without using Hyper-V's management console on the host or remotely. This allows flexible end-user -based snapshot management and fully without the need to have an administrative rights to a Hyper-V host. An example scenario could be App-V packaging station run remotely from a Hyper-V environment and wherein the packager needs to take VM snapshots and possible to revert back in time during the packaging process.

HyperSnapshot as a solution consists of two parts: a host-based service and guest-based GUI component.

The host-based service needs to be installed once to each Hyper-V host; the service runs continuously in the background and monitors requests from all VMs under Hyper-V for snapshot operation requests. When guest-based snapshot or revert operation is initiated, host-based service carries the necessary interaction with the Hyper-V service itself to make that operation to happen. The service does not need any configuration or has any visible UI to itself.

The guest-based GUI component runs in the Windows notification area as an icon, allowing access to its functionality through context menu. When the executable is started, it tries to establish communication with the HyperSnapshot service running on the host by using Hyper-V's Integration Components' Data Exchange service. If communication cannot be established or it is lost at some point, client disables access to snapshotting functionality in its GUI. Once the communication is restored, functionality is available again. Like the host-based service, the guest-based component does not need any configuration.

Please note that the guest-based component does require local administrative rights in order to operate correctly.

Both the host-based component and guest-based component can be downloaded as a separate ZIP file. Manual set up of shortcut(s) for client executable is required as no installer is provided. For host component both an installation script as well as a removal script is provided.

HyperSnapshot is provided "as is" without express or implied warranty. I.e. use at your own risk, we are not liable for any potential damages or other losses caused by using it.

Download Download host component as .ZIP archive (29kB)

Download Download guest component as .ZIP archive (35kB)

- Microsoft .NET Framework 2.0
- Microsoft Hyper-V (2008 or 2008 R2)

ExitVe - Launch processes outside App-V VE

ExitVe -utility can be used to launch another processes outside App-V package's virtual environment, from within that environment. An example could be OSD scripts running with PROTECTED="TRUE" or a virtual application needing to call another application but in a manner where newly started application is not confined to the VE.

ExitVe takes path to an another executable (and optionally parameters to that application) as parameter, and launched the specified executable. If not parameters are specified, ExitVe will launch the same process as was the parent process that called ExitVe itself (e.g. launching another cmd.exe from cmd.exe just by running ExitVe.exe).

More information on the usage can be found in the Gridmetric's blog.

Download Download as .ZIP archive (17kB)

- Microsoft .NET Framework 2.0

ExitVe.exe [path_to_executable] [executable's parameters]

LaunchGate - App-V virtual application launch control

A replacement for using OSD file's ABORTRESULT and SUCCESSRESULT attributes in App-V 4.6 (and newer), and for informing end-user in a nicer form about the fact that application could not be allowed to launch. You can integrate the usage of tool into pre-launch scripts and flag the launch of the actual virtual application as not being allowed because of some pre-requisite check or operation did not succeed.

So instead of this:
Regular App-V error message when script request abortion of launch
You (or rather, the users) would get this:
LaunchGate message to the user

Usage of LaunchGate is a two-step process:
1) Integrating invocation of the tool into OSD script so that the specific virtual application is flagged as needing stopping:

LaunchGate.exe SET

2) Integrating invocation of the tool into OSD's CODEBASE FILENAME so that it will be called first, instead of the actual virtual application. Original executable call (and parameters) are consolidated into CODEBASE PARAMETERS and will be called by LaunchGate if the launch is not flagged for stopping.
If the original path in the FILENAME attribute points into virtual package and does not have a drive letter to virtual drive (e.g. \Myapp\myapp.exe), then it needs to be adjusted to include %SFT_MNT% in the beginning of path (e.g. %SFT_MNT%\Myapp\myapp.exe) when moving to PARAMETERS.

As an example, instead of having:

<CODEBASE HREF="RTSP://appvserver:554/Mono Develop/MonoDevelop.sft" GUID="8C576382-9D2D-4FB1-82A8-E9DE38493849" FILENAME="mdevelop.v1\MonoDevelop\bin\MonoDevelop.exe" PARAMETERS="" SYSGUARDFILE="mdevelop.v1\osguard.cp" SIZE="94376205" />

The codebase would be changed to (path to LaunchGate.exe needs to be adjusted per situation):

<CODEBASE HREF="RTSP://appvserver:554/Mono Develop/MonoDevelop.sft" GUID="8C576382-9D2D-4FB1-82A8-E9DE38493849" FILENAME="mdevelop.v1\LaunchGate.exe" PARAMETERS="%SFT_MNT%\mdevelop.v1\MonoDevelop\bin\MonoDevelop.exe" SYSGUARDFILE="mdevelop.v1\osguard.cp" SIZE="94376205" />

When LaunchGate has been called with the flag set, it will automatically clear the flag for the next time.

Download Download as .ZIP archive (32-bit build, 25kB)

Download Download as .ZIP archive (64-bit build, 23kB)

- Microsoft App-V Client 4.6 or newer

Usage syntax:
LaunchGate.exe [<parameters> | path_to_executable <executable's parameters>]

-? = Displays help
SET = Flags virtual application for stopping
UNSET = Unflags virtual application

MachineTypeCheck - Machine type checking tool

This command-line program performs check on the type of the machine it is executing on and reports its type using exit code as well as visually.

You can integrate the tool into scripts or other processes which e.g. operate only on certain type of environments (such as on VDI machines), exiting or branching as necessary based on the information. Just check for the return value (%ERRORLEVEL% on command scripts) after executable has run or capture exit code if started programmatically.

Download Download as .ZIP archive (17kB)

- Microsoft .NET Framework 2.0


/? Displays help on return values

Return values / exit codes:

0 Executing on physical workstation
1 Executing on virtual workstation or VDI instance
2 Executing on physical server
3 Executing on virtual server
4 Executing on Terminal Server or Remote Desktop Session Host server

Tools news

2012-02-21 Added HyperSnapshot.

2011-11-23 Added ExitVe.

2011-10-25 Added LaunchGate.

2011-09-21 Launched tools download section.