> 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-publisher/manage/advanced-tab/content-repositories.md).

# Content Repositories category of Patch My PC Publisher

*Applies to: Patch My PC Publisher V3.x*

The **Content Repositories** category on the **Advanced** tab of Patch My PC (PMPC) Publisher allows you to configure where Publisher stores update and application content instead of downloading it directly from the internet during publishing.&#x20;

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FJuuYg1bsSrMR3IveK3XL%2Fimage.png?alt=media&amp;token=87239c38-5f02-4275-bc9f-cca678578b14" alt="&#x27;Content Repositories&#x27; category" width="563"><figcaption></figcaption></figure>

This is primarily used for binary-free and licensed applications, where customers must obtain the installer or update binaries themselves because the content is behind a paywall, login, or other restricted access and is not publicly available.

There are two main sections on this screen:

* [Staged Content Repository](#staged-content-repository)
* [Additional Content Repository](#additional-content-repository)

## Staged Content Repository

The **Staged Content Repository** can also be used as a fallback mechanism to improve reliability during publishing, such as recovering from download failures or preventing hash mismatches. In environments where outbound access to specific vendor websites or CDNs is restricted, customers can download the required binaries from another machine with internet access and place them into the Staged Content Repository for the Publisher to consume during publishing.

{% hint style="info" %}
**Note**

See [About the Staged Content Repository](/patch-my-pc-publisher/manage/advanced-tab/technical-references/about-staged-content-repository.md) for more information about the Staged Content Repository and how it works.
{% endhint %}

### To configure the Staged Content Repository

1. Load Publisher.
2. Navigate to **Advanced | Content Repositories**.
3. In the **Content path** field, specify/browse to a folder or UNC path where installer files will be stored.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2Fp1vOUzUDdwqQPjZNWRNa%2Fimage.png?alt=media&amp;token=70f045d8-53b3-4164-87f6-e7d7522045b2" alt="&#x27;Content path&#x27; field" width="496"><figcaption></figcaption></figure>

Underneath this field the name of the server where the **PatchMyPCService** is installed is shown.

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

If you use a UNC path, ensure the computer account of the server running the Publishing Service has read and modify permissions to the share.
{% endhint %}

4. Click **Apply**.\
   \
   If the folder configured in Step 3 does not exist, the following warning is displayed:\
   \
   **The folder does not exist. Continuing will create it when the settings are saved.**

{% hint style="info" %}
**Note**

See [Populate the Staged Content Repository](#populate-the-staged-content-repository) for more details on populating the Staged Content Repository.
{% endhint %}

### Set to Default button&#x20;

Clicking **Set to Default** automatically configures the Staged Content Repository path to Publisher's installation folder. For example:

```
C:\Program Files\Patch My PC\Patch My PC Publishing Service\LocalContentRepository
```

This provides a ready-to-use local folder for storing manually downloaded installer content without requiring any additional configuration. The default path is dynamically resolved from Publisher's installation **Path** value stored in the following registry location:

```
HKEY_LOCAL_MACHINE\SOFTWARE\Patch My PC Publishing Service
```

### Upload Files button

Clicking **Upload Files** allows you to upload files to the Staged Content Repository, which is limited to the following file types:

* EXE
* MSI
* MSP
* ZIP

{% hint style="info" %}
**Note**

This feature is available in both the local and Remote UI.
{% endhint %}

### Show Staged Content button

Clicking **Show Staged Content** opens the **Files in the service Staged Content Repository** screen, which displays all of the files currently in the Staged Content Repository.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FAkdx2sxtm7Txf3HxlshP%2Fimage.png?alt=media&amp;token=fca665ca-1cb1-46d0-98b0-88151339e4b9" alt="&#x27;Files in the service Staged Content Repository&#x27; screen" width="563"><figcaption></figcaption></figure>

### Delete after publishing

Enabling the **Delete after publishing** option (which is disabled by default) removes the installer file from the repository after it has been successfully published. This helps reduce disk usage but requires re-downloading the file if the update is republished.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2F9HVZdKvZz0SkisXta0sN%2Fimage.png?alt=media&amp;token=cf1bcbf9-9627-415e-aa05-fd4942d20cbe" alt="&#x27;Delete after publishing&#x27; option" width="502"><figcaption></figcaption></figure>

### Check repository first

When the **Check repository first** option is enabled (which it is by default) Publisher checks the Staged Content Repository first before attempting to download content from the internet.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FeslRb3uC5mGvuIDeHBLh%2Fimage.png?alt=media&amp;token=26b575bb-adfd-4e5e-ab5c-e2c15702b413" alt="&#x27;Check repository first&#x27; option" width="502"><figcaption></figcaption></figure>

This option is useful in restricted network environments where access to vendor download locations or CDNs is blocked, limited, or requires authentication that cannot be satisfied by Publisher.

If a matching installer file is found in the Staged Content Repository, it is used for publishing and no online download is attempted.

### Populate the Staged Content Repository

After configuring the Staged Content Repository path, manually download the required installer files for products that require manual downloads.

Place the installer files anywhere within the configured Staged Content Repository, including the root folder or any subfolders. Publisher recursively searches the entire folder structure during publishing.

The installer file name and version must exactly match the values defined in the PMPC catalog. If the file name or version does not match, Publisher *will not* consume the file and publishing will fail for that product.

#### To identify the correct installer file name and version

1. Locate the product in the relevant Product Tree (**WSUS Updates**, **ConfigMgr Apps**, or **Intune Apps/Updates**).
2. Right-click the product and select **Show Package Info**
3. On the **Package Details** screen, review the **Title** and **File** columns to confirm the expected installer file name and version.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FSUuTA22WxNYpZwL3BwUk%2Fimage.png?alt=media&amp;token=7b47a005-57de-4552-bf98-5cd56ae9be44" alt="&#x27;Package Details&#x27; screen" width="563"><figcaption></figcaption></figure>

If the file is not found or does not match the catalog definition, the product will be skipped, and a notification is generated.

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

Enabling email or webhook Alerts is strongly recommended, as these alerts include the exact installer name and file hash expected when manual action is required.
{% endhint %}

## Additional Content Repository

The **ADDITIONAL CONTENT REPOSITORY** section allows you to configure a service-side folder for pre/post scripts and extra files a remote Ul attaches to a product.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FyJF6WwvDLtUNgsz6kA2h%2Fimage.png?alt=media&amp;token=c55b4cf5-d41f-4b3a-8f56-fb1d42211a2b" alt="&#x27;ADDITIONAL CONTENT REPOSITORY&#x27; section" width="500"><figcaption></figcaption></figure>


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.patchmypc.com/patch-my-pc-publisher/manage/advanced-tab/content-repositories.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
