> 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/integrations-platform.md).

# Integrations and Platform category of Patch My PC Publisher

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

The **Integrations and Platform** category on the **Advanced** tab of Patch My PC (PMPC) Publisher allows you to configure:

* [ScriptRunner Customization](#scriptrunner-customization)
* [Intune Global Options](#intune-global-options)
* [Timestamp Options](#timestamp-options)

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2Fb8jaEx4ERy1i6W1Iw7VZ%2Fimage.png?alt=media&amp;token=4826a89d-a680-44cf-82ab-635c6d099668" alt="&#x27;Integrations and Platform&#x27; category" width="563"><figcaption></figcaption></figure>

## ScriptRunner Customization

The **SCRIPTRUNNER CUSTOMIZATIONS** section allows you to configure settings for ScriptRunner that influence how it handles long-running installer executions during client-side installation, as well as how client-side installation logs are cleaned up.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FgSQwm8rX9yGxoAbtSKGp%2Fimage.png?alt=media&amp;token=cce284d1-a03d-4e47-8b73-e01c8600ae8a" alt="&#x27;SCRIPTRUNNER CUSTOMIZATIONS&#x27; section" width="502"><figcaption></figcaption></figure>

## Delete log files generated by Manage Installation Logging older than *x* days

The **Delete log files generated by Manage Installation Logging older than&#x20;*****x*****&#x20;days** setting controls how long client-side installation logs generated by ScriptRunner are retained on managed devices. It helps prevent excessive disk usage on endpoints by automatically removing older installation logs once they exceed the specified retention period, while still allowing recent logs to remain available for troubleshooting and support purposes.

* **Default value:** 28 days
* **Minimum value:** 0 days
* **Maximum value:** 365 days

The default value provides a good balance between log retention and disk cleanup.

### Abort MSI Installations if they last more than *x* minutes

When the **Abort MSI Installations if they last more than&#x20;*****x*****&#x20;minutes** option is enabled (which it is by default), ScriptRunner is configured to automatically abort MSI installations on client devices if an installation runs longer than the configured time limit.

* **Default timeout:** 30 minutes
* **Minimum value:** 30 minutes
* **Maximum value:** 120 minutes

You can increase the timeout value if your environment includes installers that legitimately require more time.

When this option is disabled, ScriptRunner does not enforce a timeout and allows the MSI installation to run indefinitely on the client.

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

If this option is disabled, the deployment platform’s own timeout still applies (for example, ConfigMgr or Intune). In this scenario, the platform may time out the installation and report a failure even if the MSI is still running in the background.\
\
If the MSI later completes successfully after the platform timeout, the installation can still succeed on the device. On the next application evaluation or detection cycle, the app may be re-evaluated and marked as compliant or installed, depending on the platform’s detection logic and evaluation schedule.
{% endhint %}

## Intune Global Options

The **INTUNE GLOBAL OPTIONS** section controls how Publisher interacts with Microsoft Intune at a global level. These settings are primarily used to support advanced scenarios such as content extraction from Intune packages and tuning Microsoft Graph query behavior for large tenants.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2FVAM3JvtAp3U5d1RTuNf2%2Fimage.png?alt=media&amp;token=5ad4cb77-032c-4777-a715-02af39575f3d" alt="&#x27;INTUNE GLOBAL OPTIONS&#x27; section" width="503"><figcaption></figcaption></figure>

### Retain encryption info

Publisher can store the encryption information used when creating Intune Win32 package files with the **.intunewin** extension. When the **Retain encryption info** option is enabled (which it is not by default), the encryption keys are retained locally and can later be used to download and extract the contents of Intune applications and updates.

This capability is required if you want to use the [Intune Manager](/patch-my-pc-publisher/manage/intune-tabs/intune-manager.md) to extract content from apps or updates published by Publisher.

#### To enable encryption key storage

1. Open Publisher.
2. Navigate to **Advanced | Integrations & Platform**.
3. Under the **INTUNE GLOBAL OPTIONS** section, enable the **Retain encryption info** option.
4. Click **Apply** or **Save and Close**.

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

Encryption information is only available for apps created after you enable this option. You cannot extract content from Intune apps or updates created before you turned on the option.
{% endhint %}

Once the **Retain encryption info** option is enabled, you can extract content for apps and updates created *after* the setting was turned on by using the [Extract Package](/patch-my-pc-publisher/manage/intune-tabs/intune-manager.md#extract-package) feature of Intune Application Manager.

### Graph API page size

The **Graph API page size** setting controls how many Intune objects Publisher returns per page when it queries Microsoft Graph.

This is useful in environments with a large number of apps, updates, or assignments:

* Lower values reduce the size of each response, which can help in slow or constrained network conditions.
* Higher values reduce the number of requests required to retrieve all data, which can improve performance in well-connected environments.

The default is **100,** with values of **1** to **999** being supported.

In most scenarios, the default value of **100** is recommended. Adjust this setting only if you are troubleshooting performance or scalability issues related to Graph queries.

## Timestamp Options

The **TIMESTAMP OPTIONS** section controls how Publisher applies digital timestamps when signing scripts and CAB files. Timestamping ensures that signatures remain valid after the signing certificate expires and is a recommended best practice for both applications and updates.

<figure><img src="https://3773699522-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MX7dvS0r_4fc0AikgJS%2Fuploads%2Fu1LoBWIiS2UuEsHJlZtF%2Fimage.png?alt=media&amp;token=4687471c-8992-4e3d-a011-a0e3ab00b7f4" alt="&#x27;TIMESTAMP OPTIONS&#x27; section" width="504"><figcaption></figcaption></figure>

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

See the [Demystifying Timestamping: Securing Scripts and CAB Files for WSUS, ConfigMgr, and Intune](https://patchmypc.com/blog/demystifying-timestamping-securing-scripts-cab) blog post for a detailed technical explanation of how timestamping works, including certificate trust, CAB signing, and troubleshooting scenarios.
{% endhint %}

### Timestamp server

The **Timestamp server** setting defines the timestamp authority used during signing. By default, Publisher uses the DigiCert timestamp service:

```
http://timestamp.digicert.com
```

Enabling the **Use Default** option (which is enabled by default), automatically configures the recommended timestamp server. A custom timestamp server can be specified if required by organizational policy.

### Enforce timestamping

When the **Enforce timestamping** option is enabled (which it is not by default), publishing will fail if timestamping cannot be completed successfully. When this option is not enabled, a timestamping failure is treated as a non-terminating error, and publishing will continue.

### WSUS and SYSTEM account behavior

When publishing third party updates to WSUS, update CAB files are timestamped using the Windows Cryptographic API. This process runs under the SYSTEM account on the server.

Because of this behavior, the Cryptographic API uses the proxy configuration defined for the SYSTEM account, not the proxy settings configured in Publisher.

If the SYSTEM account does not have internet access, timestamping can fail. If the SYSTEM proxy requires authentication, timestamping can also fail because the Cryptographic API does not support interactive proxy authentication.

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

To validate which proxy settings apply, see [Verifying the SYSTEM Proxy Configuration](/patch-my-pc-publisher/manage/advanced-tab/network-proxy.md#verifying-the-system-proxy-configuration).
{% endhint %}


---

# 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/integrations-platform.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.
