> For the complete documentation index, see [llms.txt](https://docs.patchmypc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.patchmypc.com/patch-my-pc-cloud/troubleshoot/deployments/why-is-there-a-limit-of-1-000-extra-files-in-patch-my-pc-cloud.md).

# Why is there a limit of 1,000 Extra Files in Patch My PC Cloud?

*Applies to: Patch My PC Cloud*

The Patch My PC (PMPC) Cloud Portal enforces a limit of 1,000 files per Custom App or Deployment with Extra Files. As this limit includes the primary installer, it is effectively 999 Extra Files + the installer. This limit exists to protect browser stability and prevent crashes during upload.

## Why is there a 1,000-file limit?

When you upload files using the Cloud Portal, the browser must perform client-side processing for each file before and during upload. In particular, the Portal creates a hashing worker for each file to compute its hash.&#x20;

With very large selections, too many workers can run in parallel, causing memory usage spikes, and the browser can hit an out-of-memory condition and crash.

To avoid this, the Cloud Portal blocks uploads beyond the limit and shows a clear validation message instead of letting the browser freeze or crash.

## What You Will See

If you try to select more than 1,000 files, the upload is blocked and you will see an error similar to:

**"You have selected too many files (available: 1000)"**

<figure><img src="/files/uhvcOYMv5FtyIXNMeq1N" alt="&#x27;You have selected too many files (available: 1000)&#x27;" width="287"><figcaption></figcaption></figure>

## Workaround: ZIP the folder and extract during deployment

If your scenario requires thousands of files (for example, a folder with \~3,000 files totaling a few GB), the recommended workaround is:

1. [Compress the folder into a single ZIP file](#compress-the-folder-into-a-single-zip-file)
2. [Upload the ZIP as an Extra File ](#upload-the-zip-as-an-extra-file)
3. [Extract the ZIP during deployment using a Pre-Install script](#extract-the-zip-during-deployment-using-a-pre-install-script)

### Step 1: Compress the folder into a single ZIP file

Create a ZIP archive of the extra files either manually or using the following PowerShell script.

```
# Define the path to the folder you want to compress$sourceFolderPath = "C:\temp\MyFolder"
# Define the path where the zip archive should be created$zipFilePath = "C:\Temp\MyFolder.zip"
# Create the zip archiveCompress-Archive -Path $sourceFolderPath -DestinationPath $zipFilePath -Force -ErrorAction 'Stop'
```

{% hint style="danger" %}
**Important**

Ensure you keep the same folder structure that your installer expects. If the installer needs files “next to it” in the cache folder, make sure they end up in the same relative location after extraction.
{% endhint %}

### Step 2: Upload the ZIP as an Extra File&#x20;

Upload **MyFolder.zip** as an Extra File in your Custom App or Deployment.

### Step 3: Extract the ZIP during deployment using a Pre-Install script

Whilst deploying the app, use the [Scripts](/patch-my-pc-cloud/deployments/deploy-app/configurations-tab/additional-tools/scripts/pre-install-scripts.md) configuration tool and configure [this](https://github.com/PatchMyPCTeam/Community-Scripts/blob/main/Install/Pre-Install/Extract%20Zip/README.md) script as a pre-install script.

{% hint style="danger" %}
**Important**

Always test your scripts thoroughly outside of the Cloud Portal first.
{% endhint %}

## Notes and Considerations

By following this approach, you are exchanging many small files for one ZIP + extraction at install time. This is typically much more reliable for browsers and upload flows.


---

# 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.patchmypc.com/patch-my-pc-cloud/troubleshoot/deployments/why-is-there-a-limit-of-1-000-extra-files-in-patch-my-pc-cloud.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.
