> For the complete documentation index, see [llms.txt](https://docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verifone.com/support-us/verifone-hq/vhq-software-management/upload-in-vhq.md).

# Upload in VHQ

This section discusses configuring and managing uploaded packages in VHQ.

<details>

<summary>Keywords</summary>

Also called: package upload validation, model population. Search terms: validate for download automation, content download.

</details>

## What is package upload validation?

VHQ lets you browse and select a package to upload — bundles (.TGZ, .tar files) for V/OS-based devices, VPI packages (.ZIP files), and Carbon tablet files (.APK files) for eVo-based devices. The .bintbl extension is used for VCL BIN table updates.

On upload, the VHQ server checks for a manifest file or control file inside the package. If one exists, automated download is enabled and the software is pushed to the device. By default, **Validate for Download Automation** remains selected.

## Model population

Device models are populated based on the package format, platform, and the state of the **Validate for Download Automation** checkbox:

| Platform    | Software Package Format                                                                            | Device Models                                                                                                                                                                                                                                                                                                                                                         |
| ----------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| VX/eVo      | .ZIP (manifest file must be inside the package, in XML format)                                     | e315, e335, VX 805, VX 820, VX 520, VX 680, VX 690, VX 680 3G, VX 675, VX 520 3G, VX 690 3G, VX 675 3G, VX 675 WiFi BT, e315M, e355, VX 520 C, C520H, PP1000se, e265, VX 685, Vx825, Vx 680 WIFI BT, C680 3G                                                                                                                                                          |
| V/OS, V/OS2 | .TGZ, .TAR, .Bintbl                                                                                | MX 925, MX 915, MX 880, MX 870, MX 860, MX 850, MX 760, UX 300, MX915(Bridge), Stand, V200c, P400, V200c Plus, V200c CTLS, P400 Plus, V400m, P200, V200, V400m 3G, M400, V205c, V240m, V200t 3G+, V400M 4G, V200T2GDE, V200T3GDE, P200 Plus, V240M 2G, V240M 3GBW, V240M Base, V400M Base, V240M 3G                                                                   |
| Android     | .APK (manifest file must be JSON immediately after extraction; the package extension must be .zip) | CM5, CM5P, M440, M424, T650c, T650m, T650p, T650t, UX700-WBU, V640m-1, V640m-2, 640P 1, 640P 2, 640P 3, UX700-WB, P630-2-Android, V640m-3, V660p-1, V660p-2, V660p-3, V660p-4, UX700-WBU-2-Android, UX700-ML, UX700-ML-2-Android, M425-1-Android, M450-1-Android, V660c-1, V660c-2, V660m-1, V660m-2, UX600-Android, UX600-T-Android, P630-A-Android, V660p-A-Android |
| OTA         | build.prop (VHQ's existing OTA feature supports manual schedule only)                              | CM5, CM5P, M440, M424, T650c, T650m, T650p, T650t, UX700-WBU, V640m-1, V640m-2, 640P 1, 640P 2, 640P 3, UX700-WB, P630-2-Android, V640m-3, V660p-1, V660p-2, V660p-3, V660p-4, UX700-WBU-2-Android, UX700-ML, UX700-ML-2-Android, M425-1-Android, M450-1-Android, V660c-1, V660c-2, V660m-1, V660m-2, UX600-Android, UX600-T-Android, P630-A-Android, V660p-A-Android |

## Package validation checks

Packages not enabled for *Download Automation* can't be used for automated downloads. VHQ validates each browsed package against the following scenarios:

1. A package can be uploaded only once — re-uploading identical content under the same or a different name is rejected: *Package (Package name) with same content already exists*.
2. If a different-content package is uploaded under a name that already exists, VHQ rejects it: *Package cannot be uploaded. Package name already exists. Enter a different package name*.
3. Unselecting **Validate for Download Automation** disables auto download for that package.
4. When **Validate for Download Automation** is selected, VHQ applies extension-based checks:
   * V/OS and V/OS2 packages must contain control files, or a warning appears: *Selected package does not support automated downloads. Control file missing in 'xyz.tgz'*.
   * "Vx" (.zip) packages must contain a manifest file in XML format. If missing, the package still uploads but isn't enabled for automation: *Selected package does not support automated downloads. Manifest file missing in 'xyz.zip'*. An invalid format produces: *Selected package does not support automated downloads. Invalid manifest file 'm1.mft' found in 'xyz.zip'*.
   * A manifest file in JSON format identifies the package as a CP package. Mismatches between the manifest and the .apk file are rejected: *Selected package cannot be uploaded. The application details in the .apk file and manifest file do not match. Upload the correct package*.
   * Uploading an uninstall package without its install package is rejected: *Uninstall Package cannot be uploaded. Parent installation package not found. Upload the correct package or parent installation package*.
   * A CP install package must contain an .apk file, or it's rejected: *Package cannot be uploaded. .apk file is missing in the package. Upload the correct package*.
   * Duplicate applications within a package disable auto download: *Selected package cannot be uploaded. files contain duplicate applications. Upload the correct package*.
   * VHQ supports manual and automated downloads of OTA packages for Android OS.
     * Insufficient server storage: *Selected package cannot be uploaded. Insufficient storage space on the server. Contact VHQ support*.
     * MDM not responding during a CP package upload: *Package cannot be uploaded. Contact VHQ support*.
     * Invalid control file: *Package does not support automated downloads. Invalid control file 'c1.ctrl' found in 'xyz.tgz'*.

### Error and warning message reference

| Error Type | Message                                                                                                                                 |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Error      | Package (package name) with same content already exists.                                                                                |
| Error      | Package cannot be uploaded. Package name already exists. Enter a different package name.                                                |
| Warning    | Selected package does not support automated downloads. Control file missing in 'xyz.tgz'.                                               |
| Warning    | Selected package does not support automated downloads. Manifest file missing in 'xyz.zip'.                                              |
| Warning    | Selected package does not support automated downloads. Invalid manifest file 'm1.mft' found in 'xyz.zip'.                               |
| Error      | Package cannot be uploaded. The application details in the .apk file and manifest file do not match. Upload the correct package.        |
| Error      | Uninstall Package cannot be uploaded. Parent installation package not found. Upload the correct package or parent installation package. |
| Error      | Package cannot be uploaded. .apk file is missing in the package. Upload the correct package.                                            |
| Error      | Package cannot be uploaded. files contain duplicate applications. Upload the correct package.                                           |
| Warning    | Automated downloads are not supported for Android OS packages.                                                                          |
| Error      | Package cannot be uploaded. Insufficient storage space on the server. Contact VHQ support.                                              |
| Error      | Package cannot be uploaded. Contact VHQ support.                                                                                        |
| Warning    | Package does not support automated downloads. Invalid control file 'c1.ctrl' found in 'xyz.tgz'.                                        |

## Content Download

**Android family**: The **Content Download** feature extends support to the Android family of devices. A media file uploaded to the content library, with the required details, can be scheduled for content download to Android-family devices such as the M440. This is available in both the UI and the API.

Go to **Device Profile** > **Schedule** > **Content** to view the scheduled content download for an M440 device.

![VHQ Content Download](https://verifone.cloud/sites/default/files/inline-images/image_63.png) ![VHQ Content Download success](https://verifone.cloud/sites/default/files/inline-images/image_64.png)

## Related topics

* Adding packages


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verifone.com/support-us/verifone-hq/vhq-software-management/upload-in-vhq.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
