For the complete documentation index, see llms.txt. This page is also available as Markdown.

Custom Apps "Configuration" tab

Applies to: Patch My PC Cloud Custom Apps

The Configuration tab is where you configure various properties for the Custom App.

Note

Mandatory fields are denoted by an asterisk ("*").

Install Context

The Install Context setting (if available) configures the context in which the app is installed, either System or User.

'Install Context' setting

Architecture

The Architecture setting (if available) configures the app's architecture.

'Architecture' setting

Note

Detection uses this field to determine whether to look in the 32-bit or 64-bit registry keys:

HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall

or

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

Version

In the Version field, enter the version number for this app.

'Version' setting

Note

The number entered in this field is the version of the app as shown in Add or remove programs.

Detection uses this field to determine if the app is installed by looking for a matching DisplayVersion entry in the following registry key:

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

Language

In the Language field, either type the language for this app or select it from the dropdown list.

'Language' setting

Installed Apps Name

In the Installed Apps Name field, type the name of the app as it appears in Add or remove programs.

Note

Although this field is optional, if you selected Installation Script as the Installer Type on the File tab, you need to enter a value if you want to use the Patch My PC Default (Recommended) detection method.

If you plan to use a Custom detection method, then this field can be left empty.

If you type a version number in this field we replace it with "%".

'Installed Apps Name' setting

Note

Detection uses this field to determine if the app is installed by looking for a matching DisplayName entry in the following registry key:

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall

As this field supports the % wildcard (matching any sequence of characters), limit your input to ASCII characters. If the Installed Apps Name contains non-ASCII characters or version numbers, consider replacing those with % to ensure proper matching.

This will allow App Detection and Update Requirement rules to detect older versions of the app on your endpoints.

Conflicting processes

In the Conflicting processes field, type a comma-separated list of executables that may interfere with the installation of this app. This field populates the list for the Manage Conflicting Processes right-click feature.

'Conflicting processes' setting

Silent Install Parameters

In the Silent Install Parameters field, enter the command-line arguments (up to a maximum of 2,048 characters) used to install the app silently (i.e. the user is not aware of the installation occurring).

'Silent Install Parameters' setting

Note

Providing msiexec.exe /i for MSI installations is not required. Using /qn will be adequate for most MSI installations.

Also, see Supported Variables in Publisher and PMPC Cloud for a list of the variables we support in this field.

MSI Product Code

In the MSI Product Code field, enter the MSI product code for this app, which is used for detection.

'MSI Product Code' setting

Note

This setting only applies to MSI installers.

If the MSI Product Code for your installer does not update between versions, the Custom Apps Detection and Applicability rules will:

  • Not detect any changes and no updates will not be installed.

  • Detect the MSI app, even if an older version is installed.

To work around this issue, change the MSI Product Code to all 0's (00000000-0000-0000-0000-0000) when creating the Custom App. This forces the detection and applicability scripts to fall back to DisplayName and DisplayVersion detection.

Uninstall Command

There are two options for customizing the uninstall command:

Note

The Auto Discovered option is unavailable if the Installer Type on the File tab is configured as Installation Script.

The Use Custom can only be used if the Installer Type for this app is configured for Installation Script.

Auto Discovered

During uninstall, PatchMyPC-Scriptrunner scans the Uninstall registry key and looks for a subkey that matches the application name.

  • Once found, it uses the QuietUninstallString command from that subkey to perform the uninstall. If this String Value doesn't exist, then the information from UninstallString will be used.

  • If no match is found, the process will exit with return code 65535 (see PatchMyPC-ScriptRunner.log for details).

If you specify Additional Silent Uninstall Parameters, these will be appended to the UninstallString - not to the main installation file.

Use Custom

When selected, you can import or enter an uninstall script in the script editor.

Note

Currently, if you select the Use Custom option to add a script to publish with this app to ConfigMgr via the Publisher, the script itself is not published. We are aware of this and are working on a solution.

'Use Custom' option

Requirements

The Requirements section allows you to configure custom optional requirements (including requirement rules) that must be met for the app to be deployed to the target audience.

This includes:

Requirements section

Note

Configuring Requirements is optional.

Standard Requirements

Minimum operating system

From the Minimum operating system dropdown, select the minimum operating system required by this app.

Note

The default Minimum operating system value is set to match the first value in the dropdown, which corresponds to the oldest version of Windows still supported by Microsoft. As Microsoft deprecates a Windows version, this value and the values in the dropdown list will automatically update to the oldest version still supported by Microsoft.

Min RAM memory (MB)

Configure the minimum amount of RAM required to run this app.

Minimum CPU speed (MHz)

Configure the minimum CPU speed required to run this app.

Minimum number of logical processors

Configure the minimum number of logical processors required to run this app.

OS Architecture Requirements

The OS Architecture Requirements section lets you specify which operating system (OS) architectures the app can be deployed to.

By default, the relevant checkbox is checked based on the value configured in the Architecture field.

Note

For example, if Architecture is configured:

  • As 64-bit, the 32-bit checkbox under OS Architecture Requirements will be unchecked and cannot be checked.

  • As 32-bit, the 32-bit checkbox under OS Architecture Requirements will be checked and cannot be unchecked. As this is a 32-bit app, the 64-bit checkbox is checked by default, but it can be checked.

You also cannot uncheck the checkbox in the OS Architecture Requirements section that corresponds to the selected Architecture.

The ARM checkbox in the OS Architecture Requirements section can always be checked/unchecked, regardless of the configured Architecture.

Configure the relevant settings as required.

Additional Requirements Rules

Using the Additional Requirements Rule section, you can create up to 10 optional requirement rules based on the following:

  • File

  • Registry

  • Script

To configure an Additional Requirement Rule:

  1. Click Add in the Additional Requirements Rules section.

Clicking ‘Add’ in the ‘Additional Requirements Rules’ section
  1. On the Add Requirement Rule screen, select the relevant type of rule from the Rule Type dropdown, then configure the required options as required.

Selecting the required ‘Rule Type’

Note

To configure a script-based Requirement Rule requires the PowerShell script to already exist.

Rule Type
Available Options

File

  • Path – The path to the folder you are checking for.

  • File or Folder – The folder containing the file you are checking for.

  • Property – Various options, such as whether the item exists or does not, the date it was created, modified, etc.

Registry

  • Key Path – The path to the Registry key.

  • Value name (optional) – The name of a value contained within the specified Key Path that you want to check for.

  • Registry key requirement – Various options, such as whether the key exists or does not, comparisons, etc.

Script

  • Script Name – The name of the script, which you can leave blank if you want to use the name of the script you are going to import.

  • Import Script – Allows you to browse to an existing PowerShell script to import.

NOTE If the script is unsigned, you will see the Script was detected as unsigned warning.

  • Script – Shows the script’s content.

NOTE You cannot modify the script in the Script window.

  • Select output data type - Various options, such as type, version, etc.

  1. Configure the following additional options based on the type of rule you are creating.

Rule Type
Additional Options

File or Registry

  • Associated with a 32-bit app on 64-bit clients – If enabled, allows the rule to expand any path environment variables in the 32-bit context on 64-bit endpoints.

Script

  • Run script as 32-bit process on 64-bit clients – If enabled, allows the script to be run in a 32-bit process on 64-bit clients. If disabled, the script runs in a 64-bit process on 64-bit clients and in a 32-bit process on 32-bit clients.

  • Run this script using the logged on credentials - Run the script using the credentials signed in to the device.

  • Enforce signature check – If enabled, verifies that the script is signed by a trusted publisher, allowing the script to run without warnings or prompts. The script will run unblocked. If disabled, will require the end user to confirm they are happy for the script to run, but without signature verification.

NOTE If the script imported is unsigned, you will be unable to enable this option.

Note

In terms of Scripts, in the current version:

  • We only support PowerShell (.ps1) scripts

  • You can only import a single script per Requirement Rule.

  • We do not sign your scripts if we use them in one of our deployments. If this is a requirement, you will need to sign the scripts yourself.

  1. Click Add Rule to add the requirement rule.

Clicking ‘Add Rule’ to add the requirement rule

The rule is added to the list of requirement rules.

Rule added to the list of requirement rules

Note

You can:

  • Edit a Requirements Rule by clicking the pencil icon beside the relevant rule, making the required changes, then clicking Save Rule to save the changes.

  • Delete a Requirements Rule by clicking the red trash can beside the relevant rule to remove it from the list of rules.

  1. Repeat the steps in this section to add any additional requirement rules.

Return Codes

A Return Code (also referred to as an exit code), is a numeric value a program, process or function passes back to the calling entity (such as the operating system or another program) to indicate the outcome of the operation.

If you do not want to modify the Return Codes for this app, go to Next Steps.

Note

See the Return Codes (optional) section of Deploy an App for details on managing the Return Codes for a Deployment.

Also, if a Return Code defined in a Custom App has the same value but a different Code type to that defined in the deployment, the settings in the deployment take precedence.

Add A New Return Code

If you do not want to add a new Return Code, proceed to Edit a Return Code.

Adding a new Return Code

To add a new Return Code for this Custom App, enter the numerical value in the Return Code field, select its meaning from the Code type dropdown, then click Add.

Note

A Return Code must be a unique integer up to 10 digits long. You can add as many Return codes as your app supports. In the current release, you cannot edit or specify your own Code type as these are managed in Intune.

The new Return Code is added to the list.

New Return Code added to the list.

Edit a Return Code

If you do not want to edit a Return Code, go to Delete a Return Code.

Clicking the pencil icon beside a Return Code to edit it.

To edit a Return Code, click the pencil icon beside it, then choose the correct Code type for this Return Code from the dropdown list.

Choosing the correct 'Code type' from the dropdown list

Next, click the green tick to save your changes.

Clicking the green tick

The Code type field is updated.

'Code type' field updated.

Delete a Return Code

If you do not want to delete a Return Code, go to Next Steps.

Deleting a Return Code

To delete a Return Code, click the red trash can beside the relevant code.

The code is deleted from the list.

Code deleted from the list

App Info

The App Info section enables you to define default values for items that will be included in the app’s metadata when it is packaged to Intune. Any values set for the following items will appear in the app’s properties when viewed in the Intune admin center:

  • Owner – The name of the owner of this app.

  • Intune Notes – Notes about the app that we send to Intune when we create a deployment.

  • Information URL - Link to a website or documentation that has more information about the app.

  • Privacy URL - A link for people who want to learn more about the app's privacy settings and terms

  • Developer – The name/contact details of the developer as this is a plain text field.

‘App Info’ section

Next Steps

If you want to configure Native Detection Rules for this app, click Next to go to the Detection Rules tab. If you do not want to configure Native Detection Rules, click Next twice to go to the Summary tab.

Last updated

Was this helpful?