mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-08 05:31:53 +00:00
Merge pull request #248 from Installomator/Handling-of-App-Store-apps
App from App Store
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
- default for `BLOCKING_PROCESS_ACTION`is now `BLOCKING_PROCESS_ACTION=tell_user` and not `prompt_user`. It will demand the user to quit the app to get it updated, and not present any option to skip it. In considering various use cases in different MDM solutions this is the best option going forward. Users usually choose to update, and is most often not bothered much with this information. If it's absoultely a bad time, then they can move the dialog box to the side, and click it when ready.
|
- default for `BLOCKING_PROCESS_ACTION`is now `BLOCKING_PROCESS_ACTION=tell_user` and not `prompt_user`. It will demand the user to quit the app to get it updated, and not present any option to skip it. In considering various use cases in different MDM solutions this is the best option going forward. Users usually choose to update, and is most often not bothered much with this information. If it's absoultely a bad time, then they can move the dialog box to the side, and click it when ready.
|
||||||
- script is now assembled from fragments. This helps avoid merging conflicts on git and allows the core team to work on the script logic while also accepting new labels. See the "Assemble Script ReadMe" for details.
|
- script is now assembled from fragments. This helps avoid merging conflicts on git and allows the core team to work on the script logic while also accepting new labels. See the "Assemble Script ReadMe" for details.
|
||||||
|
- We now detect App Store installed apps, and we do not replace them automatically. An example is Slack that will loose all settings if it is suddenly changed from App Store version to the "web" version (they differ in the handling of settings files). If `INSTALL=force` then we will replace the App Store app. We log all this.
|
||||||
- Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.)
|
- Change in finding installed apps. We now look in /Applications and /Applications/Utilities first. If not found there, we use spotligt to find it. (We discovered a problem when a user has Parallels Windows installed with Microsoft Edge in it. Then Installomator wanted to update the app all the time, becaus spotligt found that Windows version of the app that Parallels created.)
|
||||||
- Added bunch of new labels, and improved others.
|
- Added bunch of new labels, and improved others.
|
||||||
- Renamed `buildCaseStatement.sh` to `buildLabel.sh` and improved it a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. Look at the tutorials in our wiki.
|
- Renamed `buildCaseStatement.sh` to `buildLabel.sh` and improved it a lot. It is a great start when figuring out how to create a new label for an app, or a piece of software. Look at the tutorials in our wiki.
|
||||||
|
|||||||
@@ -261,6 +261,12 @@ The `LOGO` variable is used for the icon shown in dialog boxes. There are these
|
|||||||
- `addigy`: Addigy
|
- `addigy`: Addigy
|
||||||
Path can also be set in the command call, and if file exists, it will be used, like `LOGO="/System/Applications/App\ Store.app/Contents/Resources/AppIcon.icns"` (spaces are escaped).
|
Path can also be set in the command call, and if file exists, it will be used, like `LOGO="/System/Applications/App\ Store.app/Contents/Resources/AppIcon.icns"` (spaces are escaped).
|
||||||
|
|
||||||
|
### App Store apps handling
|
||||||
|
Default is `IGNORE_APP_STORE_APPS=no`
|
||||||
|
__options:__
|
||||||
|
- `no`: If installed app is from App Store (which include VPP installed apps) it will not be touched, no matter it's version (default)
|
||||||
|
- `yes`: Replace App Store (and VPP) version of app and handle future updates using Installomator, even if latest version. Shouldn’t give any problems for the user in most cases. Known bad example: Slack will loose all settings.
|
||||||
|
|
||||||
### Install behavior (force installation)
|
### Install behavior (force installation)
|
||||||
|
|
||||||
Since we now make a version checking, and only installs the software if the version is different, an `INSTALL` variable can be used to force the installation:
|
Since we now make a version checking, and only installs the software if the version is different, an `INSTALL` variable can be used to force the installation:
|
||||||
|
|||||||
@@ -173,6 +173,16 @@ getAppVersion() {
|
|||||||
#appversion=$(mdls -name kMDItemVersion -raw $installedAppPath )
|
#appversion=$(mdls -name kMDItemVersion -raw $installedAppPath )
|
||||||
appversion=$(defaults read $installedAppPath/Contents/Info.plist $versionKey) #Not dependant on Spotlight indexing
|
appversion=$(defaults read $installedAppPath/Contents/Info.plist $versionKey) #Not dependant on Spotlight indexing
|
||||||
printlog "found app at $installedAppPath, version $appversion"
|
printlog "found app at $installedAppPath, version $appversion"
|
||||||
|
# Is current app from App Store
|
||||||
|
if [[ -d "$installedAppPath"/Contents/_MASReceipt ]];then
|
||||||
|
printlog "Installed $appName is from App Store, use “IGNORE_APP_STORE_APPS=yes” to replace."
|
||||||
|
if [[ $IGNORE_APP_STORE_APPS == "yes" ]]; then
|
||||||
|
printlog "Replacing App Store apps, no matter the version"
|
||||||
|
appversion=0
|
||||||
|
else
|
||||||
|
cleanupAndExit 1 "App previously installed from App Store, and we respect that"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
printlog "could not determine location of $appName"
|
printlog "could not determine location of $appName"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -76,6 +76,17 @@ LOGO=appstore
|
|||||||
# (spaces have to be escaped).
|
# (spaces have to be escaped).
|
||||||
|
|
||||||
|
|
||||||
|
# App Store apps handling
|
||||||
|
IGNORE_APP_STORE_APPS=no
|
||||||
|
# options:
|
||||||
|
# - no If installed app is from App Store (which include VPP installed apps)
|
||||||
|
# it will not be touched, no matter it's version (default)
|
||||||
|
# - yes Replace App Store (and VPP) version of app and handle future
|
||||||
|
# updates using Installomator, even if latest version.
|
||||||
|
# Shouldn’t give any problems for the user in most cases.
|
||||||
|
# Known bad example: Slack will loose all settings.
|
||||||
|
|
||||||
|
|
||||||
# install behavior
|
# install behavior
|
||||||
INSTALL=""
|
INSTALL=""
|
||||||
# options:
|
# options:
|
||||||
|
|||||||
Reference in New Issue
Block a user