Back to Help Index

Windows Endpoints, Standalone MSI, And Intune

VersionGopher™ ships a managed Windows endpoint that runs the collector on a schedule, uploads results to your hosted instance, and appears in the fleet view. This guide is for the administrator deploying that endpoint through Microsoft Intune, or enrolling a machine directly from the configuration tray without Intune.

The endpoint scans and uploads software evidence. It does not install patches, remove software, quarantine devices, or change Windows settings. VersionGopher observes; it does not remediate.
Current 0.7.19 behavior: managed installs and the configuration tray default to https://endpoint.versiongopher.com/api/endpoint/v1. Fleet administrators can deliver bounded system-or-directory scan profiles, see the effective collector command before saving, and repair an unavailable profile while endpoint check-ins remain online.

What Gets Deployed

A release is an immutable, signed triple built together and verified as a set: the MSI installer, the Intune .intunewin package wrapped around it, and a release manifest recording the exact product, agent, and protocol versions plus the package SHA-256.

The endpoint service

A Windows service (LocalSystem) that runs the collector on a schedule, keeps a manifest-last outbox of results, and uploads them to your VersionGopher server with a verifying receipt.

The configuration tray

A status and configuration app for administrators. It can select whole-system or specific-directory coverage, show the actual collector command, save the local profile through UAC, enroll the endpoint without Intune, and confirm service health.

The bootstrap token

A bounded vgb_ enrollment token, scoped to one organization and endpoint group, that ties machines to your fleet. The safe default is one activation for 24 hours; an administrator can deliberately set a larger activation limit and expiry for a controlled rollout. Each successful enrollment consumes one activation. Revoke the bootstrap when onboarding is complete.

The release manifest

The record of exactly which signed bytes are approved for this release. Endpoints upgrade only through a newer signed MSI; changed bytes always require a version bump.

Current 0.7.19 release files

The Downloads page and the generated Intune specification are authoritative. For the current release, verify these exact names and hashes before installing or uploading anything:

ArtifactExact filenameSHA-256
Standalone signed MSI VersionGopherEndpoint-0.7.19-windows-x64.msi b217cedda8037e785265dd28f3d67894dbcd268ad3cf34d1487ab94504aec676
Generic Intune package VersionGopherEndpoint-0.7.19-windows-x64.intunewin f9e1c5a66936a01205108087bd09dc77a2d24b85c826aa77956bc3bf5f39305d

Run this from the folder containing the downloaded file:

Get-FileHash -Algorithm SHA256 .\VersionGopherEndpoint-0.7.19-windows-x64.msi
Get-FileHash -Algorithm SHA256 .\VersionGopherEndpoint-0.7.19-windows-x64.intunewin
Stop if the filename or SHA-256 differs from the Downloads page or the generated deployment specification. Do not upload, rename, or install a mismatched package.

Deploying Through Intune

Use the VersionGopher-generated deployment specification as the source of truth. It contains every value in Microsoft Intune screen order and marks each value as FIXED, GENERATED, TENANT SELECTION, LEAVE DEFAULT, LEAVE BLANK, or NOT APPLICABLE. Do not guess or retype generated commands, product codes, versions, or hashes.

  1. Decide which VersionGopher group these machines belong in before you start. Every machine enrolled through one deployment lands in the same group, and Software Genomics measures drift within a group — so a deployment deserves its own group (for example Workstations - Finance) rather than a catch-all. You can create the group ahead of time under Admin → Projects / Groups → + New Group, or create it inline in the next step. Whoever creates the group becomes its owner and can add members later through group management.
  2. In VersionGopher, open Admin → Fleet, select the organization, and choose Configure Intune deployment. Enter a deployment profile name and pick the endpoint group — the group choice is required, and the dropdown includes + Create a new group if the right one does not exist yet. Leave the machine-service URL set to https://endpoint.versiongopher.com/api/endpoint/v1 for the hosted service.
  3. Set Bootstrap lifetime (hours) and Maximum new devices to the approved rollout window and device count. Confirm the initial scan scope and schedule, then choose Generate exact Intune settings. Protect the result: its install command contains the bounded bootstrap token.
  4. Choose Download release .intunewin and Download deployment JSON. Verify the downloaded .intunewin SHA-256 against both the on-screen value and the JSON. The package is generic and tenant-neutral; organization, group, policy, and bootstrap values exist only in the generated deployment settings.
  5. In the Microsoft Intune admin center, go to Apps → All apps → Create. Select platform Windows, app type Windows app (Win32), choose Select, and upload the exact downloaded .intunewin.
  6. Complete App information by copying every generated field exactly. For 0.7.19 the name is VersionGopher Enterprise Endpoint 0.7.19, Publisher and Developer are AstroSec LLC, and Show this as a featured app is No. Leave Owner blank unless tenant policy requires it. Use the supplied information URL, privacy URL, notes, and logo.
  7. Complete Program with the exact generated install and uninstall commands. Set Install behavior to System, Device restart behavior to Determine behavior based on return codes, installation time to 15 minutes, and Allow available uninstall to No. Use these return codes: 0=Success, 1707=Success, 3010=Soft reboot, 1641=Hard reboot, 1618=Retry, and 1603=Failed.
  8. Complete Requirements: architecture 64-bit, minimum Windows version exactly as shown in the release specification, disk space 512 MB, and no additional requirement rules.
  9. Complete Detection rules: choose Manually configure detection rules, add one MSI rule, paste the generated product code, enable the MSI product version check, set Operator to Equals, enter 0.7.19, and set Ignore app version to No.
  10. Add no Dependencies. Under Supersedence, select the exact predecessor named by the generated specification and set Uninstall previous version to No; the MSI performs the supported in-place upgrade. Remove the predecessor's competing Required assignment from the same target group. Keep the tenant-default scope tag unless your Intune RBAC design requires another one.
  11. Under Assignments, add Required for a dedicated Microsoft Entra device group containing only the intended pilot machines. Use no filter unless it has been reviewed, choose Hide all toast notifications, set availability and deadline to As soon as possible, and leave restart grace period at the Intune default. Do not initially assign All users or All devices.
  12. On Review + create, confirm the exact package filename, SHA-256, app name, and Required pilot-device assignment, then choose Create. Wait for content publication to complete and verify that Intune shows the exact uploaded filename before syncing the pilot devices.
  13. Confirm Intune reports Installed, the Windows service VersionGopherEndpoint is running as LocalSystem, and each device appears under the intended VersionGopher organization and group with an applied policy. After every intended machine has enrolled, revoke the deployment bootstrap in Admin → Fleet.

What the generated commands look like

Copy the actual commands from VersionGopher. These redacted examples show the required shape only; do not paste the placeholder:

msiexec.exe /i "VersionGopherEndpoint-0.7.19-windows-x64.msi" /qn /norestart VG_ENDPOINT_SERVER_URL="https://endpoint.versiongopher.com/api/endpoint/v1" VG_ENDPOINT_BOOTSTRAP="<BOOTSTRAP_TOKEN_FROM_FLEET>"
msiexec.exe /x {71D48FA2-DD8C-493A-B1A3-5DB5A056AC2D} /qn /norestart
No separate Intune Platform Script, configuration file, or customer-specific .intunewin is required. The silent MSI install enrolls under System, removes the staging enrollment values after success, and stores a different per-device credential using machine-scope DPAPI protection.
The generated install command is confidential because it contains the bootstrap. Limit access to authorized VersionGopher and Intune administrators. Do not paste it into tickets, email, screenshots, public scripts, or verbose RMM/MSI logs. Every changed release must use a new signed package and higher version.

Microsoft documents the same portal sequence in Add, assign, and monitor a Win32 app in Microsoft Intune.

Configure What The Windows Collector Scans

The same bounded scan profile is available in Admin → Fleet, in the Intune deployment builder, and in the elevated configuration tray installed by the standalone MSI. The safe defaults are populated for you: all local drives, scheduled scans enabled, metadata probes enabled, a 1,440-minute interval, 120 minutes of jitter, a 600-second startup delay, a 14,400-second runtime limit, and a 60-second upload retry.

Entire system

Scans all local drives and produces this effective command:

"C:\Program Files\VersionGopher\version_gopher-windows-x64.exe" -s -m -e C:\ProgramData\VersionGopher -j -o C:\ProgramData\VersionGopher\work\<run-id>\<run-id>

Specific directories

Enter one absolute local Windows directory per line. For example, C:\Program Files\Vendor and D:\Applications become repeated -d arguments in the preview.

The command preview is the actual argument order the service constructs. In Fleet it updates before deployment or policy save; in the tray it updates while the administrator changes scope, roots, metadata, or protected paths. The service owns the signed collector path, protected data directory, output prefix, and required -e -j -o arguments. Operators cannot inject arbitrary collector arguments or scripts. The displayed <run-id> placeholder is replaced by the service for each scan.

A profile cannot be saved if it would result in no scan or an impossible schedule. Review the effective command before generating Intune settings, applying Fleet policy, or choosing Save in the tray. Fleet-delivered desired policy is authoritative after enrollment and can override the local base profile shown by the tray.

Installing And Configuring Without Intune

A non-Intune administrator can install and configure the Windows service directly from the signed MSI and elevated tray. Editing files under C:\ProgramData is not required.

  1. Decide which group these machines belong in first — enrolled machines land in the group tied to the bootstrap token, and drift is measured within that group. Create it ahead of time under Admin → Projects / Groups → + New Group, or inline from the group dropdown in the next step. The creator becomes the group owner and can add members later through group management.
  2. In VersionGopher, open Admin → Fleet, choose the organization, and select Create MSI bootstrap token. Enter a profile name, pick the endpoint group (required — the dropdown includes + Create a new group), and use the hosted machine-service URL shown above. The default is one device for 24 hours; for an approved campaign, set the lifetime and maximum new devices to the actual rollout bounds. Confirm the initial scan policy and choose Create bootstrap token.
  3. Copy the bootstrap immediately. VersionGopher stores only its digest and cannot display the secret again. Also copy the generated server URL and, if using Group Policy or RMM, the generated silent MSI command. Store all three only in an approved secret-management or deployment system.
  4. Open Downloads, use the Signed MSI for non-Intune environments option, verify the exact 0.7.19 filename and SHA-256 listed above, and confirm the signer is AstroSec LLC. Stop if any check differs.
  5. For an interactive install, sign in as a local administrator and run VersionGopherEndpoint-0.7.19-windows-x64.msi. Complete the installer normally. The configuration tray launches after a successful full-UI install; if it is closed, start VersionGopher Endpoint Configuration from the Start menu or tray shortcut.
  6. Open Configure (Administrator). Keep Entire system, or choose Selected directories and enter one existing fixed-drive root per line.
  7. Confirm the schedule and metadata choice, then read the Actual collector command. The tray blocks an empty directory profile, unavailable roots, unsafe paths, data-directory recursion, or timing values that cannot fit the interval.
  8. Choose Save. The tray writes the base configuration atomically and asks the running service to reload it. For local-only collection, stop here and leave hosted enrollment disabled.
  9. To connect the endpoint to hosted Fleet without Intune, use https://endpoint.versiongopher.com/api/endpoint/v1 and the copied vgb_ bootstrap token, then choose Enroll. Pasted tokens tolerate surrounding whitespace or matching quotes.
  10. On enrollment success the managed server settings become read-only. Fleet desired policy can then supersede the local base scan profile. On failure the tray reports the reason and restores the previous state.

Silent MSI install for Group Policy or RMM

Place the verified MSI in the current directory and run the exact command generated by Create MSI bootstrap token from an elevated System or administrator context. Its redacted shape is:

msiexec.exe /i "VersionGopherEndpoint-0.7.19-windows-x64.msi" /qn /norestart VG_ENDPOINT_SERVER_URL="https://endpoint.versiongopher.com/api/endpoint/v1" VG_ENDPOINT_BOOTSTRAP="<BOOTSTRAP_TOKEN_FROM_FLEET>"

Do not type the angle-bracket placeholder. Paste the complete generated command, and protect the deployment job because the real command contains the bootstrap. A property-free silent MSI install only installs an unconfigured local service; it does not enroll the device in Fleet.

Verifying The Endpoint And Fleet

Get-CimInstance Win32_Service -Filter "Name='VersionGopherEndpoint'" | Select-Object Name, State, StartMode, StartName

Enrollment and the first Fleet check-in should appear before the first scheduled scan. Allow up to 15 minutes after Intune begins installation for install, service start, enrollment, and the first Fleet check-in. The first scan can occur later because the configured startup delay and random jitter are intentional.

Drift detection only applies to managed host-tracking endpoints. Uploaded or co-mingled offline scans are excluded, because a machine's software has to be compared with its own fleet, not with unrelated hosts.

Good Operating Practice