Click or drag to resize

AppFacade Class

This class is a facade to the properties and the state of an app. It is initialized with the IConfiguration object, holding the apps properties and the ID of the app.
Inheritance Hierarchy
SystemObject
  Mastersign.BenchAppFacade

Namespace:  Mastersign.Bench
Assembly:  BenchLib (in BenchLib.dll) Version: 0.22.0.0 (0.22.0.0)
Syntax
public class AppFacade

The AppFacade type exposes the following members.

Constructors
  NameDescription
Public methodAppFacade
Initializes a new instance of AppFacade.
Top
Properties
  NameDescription
Public propertyAdornedExecutables
An array with paths to executables, which must be adorned.
Public propertyAdornmentProxyBasePath
Gets the base path of the directory containing the adornmend proxy scripts for the executables of this app.
Public propertyAppLibrary
Gets the app library, this app is defined in.
Public propertyCanCheckInstallation
Checks, whether the installation state of this app can be checked, or not.
Public propertyCanDeleteResource
Checks, whether the app has cached resource.
Public propertyCanDownloadResource
Checks, whether the app has a resource and the resource is not cached.
Public propertyCanInstall
Checks, whether this app can be installed.
Public propertyCanReinstall
Checks, whether this app can be reinstalled.
Public propertyCanTest
Checks, whether this app can be tested or not.
Public propertyCanUninstall
Checks, whether this app can be uninstalled.
Public propertyCanUpgrade
Checks, whether this app can be upgraded to a more recent version.
Public propertyCategory
Gets the category, this app belongs to. E.g. there are Required and Optional apps.
Public propertyDependencies
An array with app IDs which are necessary to be installed for this app to work.
Public propertyDir
The name of the target directory for this app. The target directory is the directory where the app resources are installed.
Public propertyDocs
Gets a dictionary with labels and URLs for help and documentation. If an URL is relative, it is considered to be relative to the apps Dir.
Public propertyDownloadCookies
Gets a dictionary with HTTP cookies for the download request.
Public propertyDownloadHeaders
Gets a dictionary with HTTP header fields for the download request.
Public propertyEnvironment
A dictionary with additional environment variables to setup, when this app is activated.
Public propertyExe
The relative path of the main executable file of the app, or null in case the app has no executable (e.g. the app is just a group). The path is relative to the target Dir of this app.
Public propertyExeTest
A flag to control whether the main executable of this app can be tested by executing it with the ExeTestArguments and checking the exit code for 0.
Public propertyExeTestArguments
A command line argument string to pass to the main executable, when testing it for propery installation.
Public propertyForce
Gets a value, which specifies if the app will be installed even if it is already installed.
Public propertyHasResource
Checks, whether this app has a downloadable app resource, or not.
Public propertyID
Gets the ID of the app.
Public propertyInstalledVersion
Gets or sets the version string, of the currently installed app.
Public propertyIsActivated
Checks, whether this app is marked as activated by the user, or not.
Public propertyIsActive

Checks, whether this app is active. An app can be active, because it was marked by the user to be activated, or because it is required by Bench or it is a dependency for another app.

An app is not active if it IsSuppressed.

Public propertyIsAdornmentRequired
Checks, whether execution adornment proxies are required for this app, or not.
Public propertyIsDeactivated
Checks, whether this app is marked as deactivated by the user, or not.
Public propertyIsDependency
Checks, whether this app is dependency of another app.
Public propertyIsInstalled
Checks, whether this app is currently installed, or not.
Public propertyIsManagedPackage
Checks, if this app is a packaged managed by some kind of package manager.
Public propertyIsManagedPackageFromRemoteRepo
Checks, if this app is a package, downloaded from a remote repositry by some kind of package manager.
Public propertyIsPython2Package
Checks if this app is a Python package which will be installed under Python 2;
Public propertyIsPython3Package
Checks if this app is a Python package which will be installed under Python 3.
Public propertyIsRequired
Checks, whether this app is required by the Bench system, or not.
Public propertyIsResourceCached

Checks, whether this apps resource is currently cached, or not.

Returns always false, if the apps Typ is not Default. Returns true if the apps Typ is Default, but the app has no downloadable resource.

Public propertyIsSimpleVersion
Checks, if the version of this app is a simple version number like 1.12.5.000 or 3.4.
Public propertyIsSupported
Checks, whether this app is supported in the current configuration on the current system. An app is not supported, if the app is marked as Only64Bit and the Bench configuration does not Allow64Bit or the current system does not support 64Bit programs.
Public propertyIsSuppressed
Checks, whether this app is suppressed. An app can be suppressed, because it was marked by the user as deactivated. And it can be suppressed, because it does only support 64Bit architecture but the configuration or the system does not allow 64Bit programs.
Public propertyIsVersioned
Checks, if this app has a specified version.
Public propertyIsVersionUpToDate
Checks, whether the version of the app definition equals the version of the installed app.
Public propertyKnownProperties
Returns all known properties.
Public propertyLabel
Gets the label of the app.
Public propertyLauncher
The label for the apps launcher, or null if the app has no launcher.
Public propertyLauncherArguments
An array with command line arguments to be sent to the LauncherExecutable by the launcher. The last entry in this array must be %* if additional arguments shell be passed from the launcher to the executable. This is also necessary for drag-and-drop of files onto the launcher to work.
Public propertyLauncherExecutable
The path to the main executable, to be started by the apps launcher, or null if the app has no launcher.
Public propertyLauncherIcon
A path to an *.ico or *.exe file with the icon for the apps launcher, or null if the app has no launcher.
Public propertyLauncherWorkingDir
The path to a directory, to be the working directory, when starting the LauncherExecutable.
Public propertyLicense
Gets the short name of the apps license.
Public propertyLicenseUrl
Gets the absolute URL of the apps license document.
Public propertyLongStatus
Returns a string with a virtually complete description of the apps overall state.
Public propertyMarkdownDocumentation
Gets the documentation text of this app in Markdown syntax.
Public propertyName
Gets the name part of the apps ID.
Public propertyNamespace
Gets the namespace part of the apps ID.
Public propertyNamespacePathSegment
Gets a part for a filesystem path, which represents the namespace of this app.
Public propertyOnly64Bit
A flag to control whether this app can only be installed if 64Bit programs are supported.
Public propertyPackageName
The name of the package represented by this app, or null in case IsManagedPackage is false.
Public propertyPath
An array with relative or absolute paths, which will be added to the environment variable PATH when this app is activated. If a path is relative, it is relative to the target Dir of this app.
Public propertyPathSegment
Gets a part for a filesystem path, which represents the id of this app.
Public propertyRegister
A flag to control if the Paths of this app will be added to the environment variable PATH.
Public propertyRegistryKeys
An array with registry paths relative to the HKCU (current user) hive, which must be considered for registry isolation.
Public propertyResourceArchiveName
Gets the name of the apps archive resource, or null in case the app has a file resource or no downloadable resource at all.
Public propertyResourceArchivePath
Gets the sub path inside of the resource archive, or null in case the whole archive can be extracted or the app has no archive resource.
Public propertyResourceArchiveTyp
Gets the typ of the resource archive, or null if the app has no archive resource. See AppArchiveTyps to compare or list the possible typs of an archive resource.
Public propertyResourceFileName
Gets the name of the apps file resource, or null in case the app has an archive resource or no downloadable resource at all.
Public propertyResponsibilities
An array of app IDs which depend on this app to be installed.
Public propertySetupTestFile
The relative path to a file, which existence can be used to check if the app is installed, or null e.g. in case the app is a package managed by a package manager. The path is relative to the target Dir of this app.
Public propertyShortStatus
Returns a short string, describing the overall state of the app.
Public propertyShouldBeInstalled
Checks, whether this app is active (activated or required) but not installed.
Public propertyShouldBeRemoved
Checks, whether this app is not activated or even deactivated but installed.
Public propertyStatusIcon
Returns a code for an icon, describing the overall state of this app.
Public propertyTags
Gets the tags of the app.
Public propertyTyp

The typ of this app.

See for AppTyps to compare and list the app typs.

Public propertyUnknownProperties
Returns all unknown properties.
Public propertyUrl
Gets the URL of the apps resource, or null if the app has no downloadable resource.
Public propertyVersion
Gets the version string of the app, or null if the app has no specified version.
Public propertyWebsite
Gets the URL of the project or vendor website of this app, or null if no website was specified.
Top
Methods
  NameDescription
Public methodDeactivate
Marks this app as deactivetd.
Public methodDiscardCachedValues
Clears cached values from the state of the app. If the state of an app was possibly changed, this method has to be called, to allow determining the new state from the file system and not just showing the last cached state.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetCustomScript
Gets a path to a custom script file for this app.
Public methodGetExecutableProxy
Gets the path to the adornment wrapper script for a given executable of this app.
Public methodGetHashCode (Inherited from Object.)
Public methodGetLauncherFile
Gets a path to the launcher shortcut file.
Public methodGetLauncherScriptFile
Gets a path to the launcher script file.
Public methodGetSetupResource
Gets a path to a setup resource file or directory.
Public methodGetType (Inherited from Object.)
Public methodIsExecutableAdorned
Checks, whether an executable of this app is marked as adorned, or not.
Public methodStatic memberIsKnownProperty
Checks whether a property name is known to the Bench system or not.
Public methodLoadCachedValues
Does some expensive checks for the app and caches the result for later requests. These checks involve interaction with the file system.
Public methodMatchSearchString
Matches a number of search words against this app.
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString
Returns a string, containing the apps typ and ID.
(Overrides ObjectToString.)
Top
Fields
  NameDescription
Public fieldStatic memberKnownPropertyKeys
An array with all property keys, which are known by the Bench system.
Public fieldStatic memberNS_SEPARATOR
The namespace separator in an app ID.
Top
See Also