Merge pull request #343 from Installomator/Fix-for-app-store-replacement-when-label-have-updatetool

Change to App Store replacement logic
This commit is contained in:
Søren Theilgaard
2022-01-09 21:22:35 +01:00
committed by GitHub
2 changed files with 3 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
## v9? ## v9?
- We have moved the root check to the beginning of the script, and improved DEBUG handling with two different modes. `DEBUG=0` is still for production, and `1` is still for the DEBUG we previously knew downloading to the directory it is running from, but `2` will download to temporary folder, will detect updates, but will not install anything, but it will notify the user (almost as running the script without root before). - We have moved the root check to the beginning of the script, and improved DEBUG handling with two different modes. `DEBUG=0` is still for production, and `1` is still for the DEBUG we previously knew downloading to the directory it is running from, but `2` will download to temporary folder, will detect updates, but will not install anything, but it will notify the user (almost as running the script without root before).
- Changed logic if `IGNORE_APP_STORE_APPS=yes`. Before this version a label like `microsoftonedrive` that was installed from App Store, and that we want to replace with the “ordinary” version, Installomator would still use `updateTool`, even though `IGNORE_APP_STORE_APPS=yes`. So we would have to have `INSTALL=force` in order to have the app replaced, as `updateTool` would be used. But now if `IGNORE_APP_STORE_APPS=yes` then `updateTool` will be not set, and the App Store app will be replaced. BUT if the installed software was not from App Store, then `updateTool` will not be used, and it would be a kind of a forced install (in the example of `microsoftonedrive`), except if the version is the same (where installation is skipped).
- Added variable `SYSTEMOWNER` that is used when copying files when installing. Default `0` is to change owner of the app to the current user on the Mac, like this user was installing this app themselves. When using `1` we will put “root:wheel” on the app, which can be useful for shared machines. - Added variable `SYSTEMOWNER` that is used when copying files when installing. Default `0` is to change owner of the app to the current user on the Mac, like this user was installing this app themselves. When using `1` we will put “root:wheel” on the app, which can be useful for shared machines.
## v8.0 ## v8.0

View File

@@ -116,9 +116,8 @@ getAppVersion
printlog "appversion: $appversion" printlog "appversion: $appversion"
# MARK: Exit if new version is the same as installed version (appNewVersion specified) # MARK: Exit if new version is the same as installed version (appNewVersion specified)
# credit: Søren Theilgaard (@theilgaard) if [[ "$type" != "updateronly" && ($INSTALL == "force" || $IGNORE_APP_STORE_APPS == "yes") ]]; then
if [[ $INSTALL == "force" ]]; then printlog "Label is not of type “updateronly”, and its set to use force to install or ignoring app store apps, so not using updateTool."
printlog "Using force to install, so not using updateTool."
updateTool="" updateTool=""
fi fi
if [[ -n $appNewVersion ]]; then if [[ -n $appNewVersion ]]; then