Skip to content

Package Json Overview

Jeff Bolduan edited this page Nov 29, 2021 · 3 revisions

What is the Package Config Json?

The Package Config Json is the configuration file that is used to configure the application that's going to be packaged.

Table of Contents

Attrributes

publisher

The publisher of the application.

productName

The name of the application that will be packaged.

description

A short description of the application. This is displayed in Software Center.

currentVersion

The currently packaged version of the application.

versionSource

The source of the version. The example is chrome where we can simply parse a website.

sourcePath

The path to the download for the application. You may need to use variables here though ideally it will be the same name every time.

configNotes

Enter any notes on the configuraiton here. This is not used by the application and would be useful for future people reading or working on this application package.

owner

This is the owner of the application is MEMCM.

supportContact

This is the support contact that will be used in the MEMCM application.

{
  "publisher": "Google",
  "productName": "Chrome",
  "description": "Google Chrome is a free and open-source web browser developed by Google, released in 2008. It is the web's most popular browser, with more than 1 billion web page views a month.",
  "currentVersion": "1.0.0",
  "versionSource": "http://omahaproxy.appspot.com/all?os=win&channel=stable",
  "sourcePath": "https://dl.google.com/chrome/install/googlechrome.exe",
  "configNotes": "This is a test",
  "owner": "UMN-AutoPackager",
  "supportContact": "noreply@contoso.com"
}

packagingTargets

type

The type of packaging target, currently only supports MEMCM-Application.

name

The name to be used for the application in MEMCM.

adminComments

This is what will be in the admin comments on the MEMCM application.

datePublished

This is the date you want to set as the published date for the application in MEMCM.

allowTSUsage

This checks the box to Allow this application to be installed from the Install Application task sequence action without being deployed checkbox.

localizedApplicationName

This is the localized application name field in MEMCM. UMN-AutoPackager doesn't currently support adding additonal languages and localized display names.

userDocumentationLink

This is the link that will be presented in software center for user documentation for the applicaiton.

userDocumentationText

This is the text for the user documentation link.

privacyLink

This is the link to the privacy policy for the application and is visible in Software Center for end users to read if they're interested.

localizedDescription

This is the descirption for the application in MEMCM. We don't currently support adding additional languages and localized descriptions.

featuredApp

Specifies if the app will be featured in Software Center in the MEMCM application.

iconFilename

This is the name of the icon that is located in the package file and will be used in Software Center.

{
  "packagingTargets": [
    {
    "type": "MEMCM-Application",
    "name": "Google Chrome",
    "adminComments": "Packaged by UMN-AutoPackager",
    "datePublished": "{currentDate}",
    "allowTSUsage": true,
    "localizedApplicationName": "{publisher} {productName} {currentVersion}",
    "userDocumentationLink": "https://support.google.com/chorme",
    "userDocumentationText": "Google Chrome Help",
    "privacyLink": "https://www.google.com/chrome/privacy/",
    "localizedDescription": "Google Chrome is a free and open-source web browser developed by Google, released in 2008. It is the web's most popular browser, with more than 1 billion web page views a month.",
    "featuredApp": false,
    "iconFilename": "GoogleChromeIcon.png"
    }
  ]
}

deploymentTypes

This is where you'll specify any information for each deployment type in the packaged application.

name

This is the deployment type name.

installerType

This is the type of installer used in the application in MEMCM.

adminComments

This is the comments for the application deployment type in MEMCM. It's useful for anyone viewing the application in MEMCM.

language

Specify the language for the application.

cacheContent

This checks the Persist content in the client cache checkbox.

branchCache

Sets the application to allow sharing of content on the same subnet. May not be required after the 1802 update. Need to investigate this further.

contentFallback

Sets if the client can use a fallback source for the content.

onSlowNetwork

Specify how the client should handle slow network connections when trying to download the content.

installCMD

The command line to install the application.

uninstallCMD

The command line to uninstall the application.

runAs32Bit

Checks the box to run as a 32-bit application on 64-bit clients.

installBehavior

Determines if it's a user or system install.

logonRequired

Sets if the application can be installed without a user logged on or requires a user to be logged on.

userInteraction

Specify the user interaction level of the application in MEMCM.

estimatedRuntime

Sets the estimated runtime of the application.

maxRuntime

Sets the maximum runtime of the application.

rebootBehavior

Sets the reboot behavior of the application.

contentLocation

Where the content will be stored for the applicaiton.

{
  "deploymentTypes": [
    {
      "name": "{preAppName}{publisher}-{productName}-{currentVersion}-x64{postAppName}",
      "installerType": "script",
      "adminComments": "Packaged by UMN-AutoPackager",
      "language": "en-US",
      "cacheContent": false,
      "branchCache": false,
      "contentFallback": false,
      "onSlowNetwork": "Download",
      "installCMD": "powershell.exe -executionpolicy bypass ..\\install-script.ps1 -noprofile",
      "uninstallCMD": "powershell.exe -executionpolicy bypass ..\\uninstall-script.ps1 -noprofile",
      "runAs32Bit": false,
      "installBehavior": "InstallForSystem",
      "logonRequired": "WhetherOrNotUserLoggedOn",
      "userInteraction": "Hidden",
      "estimatedRuntime": 5,
      "maxRuntime": 15,
      "rebootBehavior": "BasedOnExitCode",
      "contentLocation": "{applicationContentPath}\\{publisher}\\{productName}\\{currentVersion}"
    }
  ]
}
detectionMethods
type

Specifies the type of detection method.

existence

Checks to see if the value specified exists.

productCode

The product code to look for if WindowsInstaller is the type specified.

{
  "detectionMethods": [
    {
      "type": "WindowsInstaller",
      "existence": true,
      "productCode": "{productCode}"
    }
  ]
}