679 Commits
v9.0 ... main

Author SHA1 Message Date
Armin Briegel
b333528379 Merge pull request #744 from jaredsiegel/patch-2
Update README.md
2022-11-18 14:25:58 +01:00
Armin Briegel
89dfe63606 updated version 2022-11-18 13:49:28 +01:00
Armin Briegel
88cd4114ae updated for release 2022-11-18 13:41:38 +01:00
Armin Briegel
b1dc94ad1d fixed files not ending in newline 2022-11-18 13:29:39 +01:00
Armin Briegel
0b5495ffbf new label: ibmnotifier 2022-11-18 13:14:10 +01:00
Armin Briegel
1fae99b322 new label: lucidlink 2022-11-18 13:13:26 +01:00
Armin Briegel
c8677eddf5 new label: adobereaderdc 2022-11-18 13:12:20 +01:00
Armin Briegel
40bc37c2f6 new label: logitechoptionsplus 2022-11-18 13:11:14 +01:00
Armin Briegel
b9f8d569b6 new label: subethaedit 2022-11-18 13:10:03 +01:00
Armin Briegel
a618c63b50 new label: sublimemerge 2022-11-18 13:09:15 +01:00
Armin Briegel
9aef18b89d new label: googleadseditor 2022-11-18 13:08:01 +01:00
Armin Briegel
0a8eeaf0f6 new label: ipvisionconnect 2022-11-18 13:04:53 +01:00
Armin Briegel
f0b7e579e3 new label: venturablocker 2022-11-18 13:03:06 +01:00
Armin Briegel
e066a7c3bf new label: vysor 2022-11-18 13:02:10 +01:00
Armin Briegel
7c45573a0e new label: projectplace 2022-11-18 13:00:00 +01:00
Armin Briegel
c26cfa24ba new label: mactex 2022-11-18 12:49:03 +01:00
Armin Briegel
87b671f0e5 new label: tunnelblick 2022-11-18 11:23:38 +01:00
Armin Briegel
2b5ce2f90e Merge branch 'pr/581' 2022-11-18 11:20:25 +01:00
Armin Briegel
fc33d2aaff better error message 2022-11-18 11:20:17 +01:00
Søren Theilgaard
bc4a612e15 Merge pull request #738 from Theile/MDM-scripts-logging-changes
Mdm scripts logging changes
2022-11-17 15:38:25 +01:00
Adam Codega
b7d67e6967 Merge pull request #750 from KMTMark/openvpnconnectv3-fix
Openvpnconnectv3 fix
2022-11-15 14:34:05 -05:00
Theile
8c853ddd30 GitHub API call is now primary 2022-11-15 11:22:28 +01:00
macmangr
fa26867583 Changed download link
Changed download link to grab the latest version
2022-11-12 17:46:21 +01:00
Mark Skrzypczyk
dbcdea3a72 add new line at EOF 2022-11-01 14:59:44 +00:00
Mark Skrzypczyk
68d389ab7f Update to include pkg name for each arch type 2022-11-01 14:58:43 +00:00
Theile
8dbabec280 Create ipvisionconnect.sh 2022-11-01 12:33:11 +01:00
Theile
98f0fb1a77 Many fewer icon logs. 2022-10-25 20:57:11 +02:00
jaredsiegel
d795598a22 Update README.md
typo correction
2022-10-25 11:21:16 -07:00
Theile
afc906161a Minor change in NOTIFY setting, that was missed 2022-10-25 10:48:52 +02:00
Theile
a8a1082d34 Final log-fixes 2022-10-24 13:10:15 +02:00
Theile
dfc9950a31 Update App browser-security Auto-install.sh 2022-10-24 12:39:04 +02:00
Theile
e22a7754bd Improved logging
Overall purpose was to improve the logging in the scripts. But the handling of macOS version and Installomator version in order to utilize swiftDialog has been improved, too.
2022-10-24 12:38:46 +02:00
Theile
2362e8a9d0 Improved logging 2022-10-21 14:01:59 +02:00
Theile
a7224fcbea Check to see if dialog CLI is also there 2022-10-21 13:07:19 +02:00
Theile
2a0385d30d Check to see if Dialog CLI is also there 2022-10-21 13:05:55 +02:00
Theile
03177d4e9d Get Installomator.log from client 2022-10-21 10:39:22 +02:00
Theile
8b19773a7f Correcting logging 2022-10-21 10:38:58 +02:00
Theile
9ef19139d2 Improved logging 2022-10-21 09:50:26 +02:00
Theile
c4fbcd6f3a Update googleadseditor.sh 2022-10-21 09:37:55 +02:00
Theile
6ee318f655 Create sublimemerge.sh 2022-10-13 14:50:46 +02:00
Theile
b0bc3c3c81 Create subethaedit.sh 2022-10-13 14:29:53 +02:00
Theile
f75d789322 appNewVersion fixed! 2022-10-12 10:11:04 +02:00
Theile
94a1d2fc32 Merge branch 'main' of https://github.com/Theile/Installomator 2022-10-12 08:43:53 +02:00
Theile
97f8b9ad26 Revert "Too many label names"
This reverts commit 651a5ce067.
2022-10-12 08:43:46 +02:00
Theile
b5a51c3cbf Update lucidlink.sh
`name` is now the name of the app. App has perfect values in it's version, so no need for `packageID`. Since `name` matches the name of the app, `blockingProcesses` comes for free.
2022-10-12 08:37:34 +02:00
Søren Theilgaard
719fe6e925 Merge branch 'Installomator:main' into main 2022-10-11 20:41:34 +02:00
Theile
651a5ce067 Too many label names
`adobereaderdc` is now only that, as another label is `adobereaderdc-install`.
2022-10-11 20:40:36 +02:00
Iñaky Martinez
b1df345814 Updated name
Updated name :)
2022-10-11 14:23:09 +02:00
Iñaky Martinez
a626375906 Update lucid.sh 2022-10-11 13:07:25 +02:00
Iñaky Martinez
5d968b0816 Update lucid.sh 2022-10-11 10:30:39 +02:00
Iñaky Martinez
69c959c923 Create lucid.sh 2022-10-11 09:54:23 +02:00
Pro4TLZZ
e88e2a56ea Add fragments/labels/logitechoptionsplus.sh
Add label for Logitech Options+
2022-10-07 10:06:36 +01:00
Armin Briegel
95901cfa6b Merge pull request #717 from dan-snelson/main
Omit Label name when used with switftDialog
2022-10-06 10:24:06 -07:00
Dan K. Snelson
7dabe54f18 Omit ' - ' when used with switftDialog 2022-10-06 11:17:03 -06:00
Theile
ac874a9f28 IBM Notifier
IBM for some reason is adding too much to the “tag” on Github, so they have “Version 2.9.1 Build 96” for the current latest version. That ends up being read as 2.9.196, and not only 2.9.1 that the app version is.

I upload this, so we have it ready, but not sure if `appNewVersion` should stay or be commented out.
2022-10-06 15:28:59 +02:00
Theile
3c8a4ff067 Create venturablocker.sh
```
2022-10-04 20:54:54 : INFO  : venturablocker : setting variable from argument DEBUG=2
2022-10-04 20:54:54 : REQ   : venturablocker : ################## Start Installomator v. 10.0beta3, date 2022-10-04
2022-10-04 20:54:54 : INFO  : venturablocker : ################## Version: 10.0beta3
2022-10-04 20:54:54 : INFO  : venturablocker : ################## Date: 2022-10-04
2022-10-04 20:54:54 : INFO  : venturablocker : ################## venturablocker
2022-10-04 20:54:54 : DEBUG : venturablocker : DEBUG mode 2 enabled.
2022-10-04 20:54:56 : DEBUG : venturablocker : name=venturablocker
2022-10-04 20:54:56 : DEBUG : venturablocker : appName=
2022-10-04 20:54:56 : DEBUG : venturablocker : type=pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : archiveName=
2022-10-04 20:54:56 : DEBUG : venturablocker : downloadURL=https://github.com/Theile/venturablocker/releases/download/v20221004/venturablocker-20221004.pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : curlOptions=
2022-10-04 20:54:56 : DEBUG : venturablocker : appNewVersion=20221004
2022-10-04 20:54:56 : DEBUG : venturablocker : appCustomVersion function: Not defined
2022-10-04 20:54:56 : DEBUG : venturablocker : versionKey=CFBundleShortVersionString
2022-10-04 20:54:56 : DEBUG : venturablocker : packageID=dk.envo-it.venturablocker
2022-10-04 20:54:56 : DEBUG : venturablocker : pkgName=
2022-10-04 20:54:56 : DEBUG : venturablocker : choiceChangesXML=
2022-10-04 20:54:56 : DEBUG : venturablocker : expectedTeamID=FXW6QXBFW5
2022-10-04 20:54:56 : DEBUG : venturablocker : blockingProcesses=
2022-10-04 20:54:56 : DEBUG : venturablocker : installerTool=
2022-10-04 20:54:56 : DEBUG : venturablocker : CLIInstaller=
2022-10-04 20:54:56 : DEBUG : venturablocker : CLIArguments=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateTool=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateToolArguments=
2022-10-04 20:54:56 : DEBUG : venturablocker : updateToolRunAsCurrentUser=
2022-10-04 20:54:56 : INFO  : venturablocker : BLOCKING_PROCESS_ACTION=tell_user
2022-10-04 20:54:56 : INFO  : venturablocker : NOTIFY=success
2022-10-04 20:54:56 : INFO  : venturablocker : LOGGING=DEBUG
2022-10-04 20:54:56 : INFO  : venturablocker : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-10-04 20:54:56 : INFO  : venturablocker : Label type: pkg
2022-10-04 20:54:56 : INFO  : venturablocker : archiveName: venturablocker.pkg
2022-10-04 20:54:56 : INFO  : venturablocker : no blocking processes defined, using venturablocker as default
2022-10-04 20:54:56 : DEBUG : venturablocker : Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:56 : INFO  : venturablocker : No version found using packageID dk.envo-it.venturablocker
2022-10-04 20:54:56 : INFO  : venturablocker : name: venturablocker, appName: venturablocker.app
2022-10-04 20:54:56.273 mdfind[91898:6894403] [UserQueryParser] Loading keywords and predicates for locale "en_US"
2022-10-04 20:54:56.274 mdfind[91898:6894403] [UserQueryParser] Loading keywords and predicates for locale "en"
2022-10-04 20:54:56.323 mdfind[91898:6894403] Couldn't determine the mapping between prefab keywords and predicates.
2022-10-04 20:54:56 : WARN  : venturablocker : No previous app found
2022-10-04 20:54:56 : WARN  : venturablocker : could not find venturablocker.app
2022-10-04 20:54:56 : INFO  : venturablocker : appversion:
2022-10-04 20:54:56 : INFO  : venturablocker : Latest version of venturablocker is 20221004
2022-10-04 20:54:56 : REQ   : venturablocker : Downloading https://github.com/Theile/venturablocker/releases/download/v20221004/venturablocker-20221004.pkg to venturablocker.pkg
2022-10-04 20:54:56 : DEBUG : venturablocker : No Dialog connection, just download
2022-10-04 20:54:57 : DEBUG : venturablocker : File list: -rw-r--r--  1 root  wheel    44K Oct  4 20:54 venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File type: venturablocker.pkg: xar archive compressed TOC: 4475, SHA-1 checksum
2022-10-04 20:54:57 : DEBUG : venturablocker : curl output was:
*   Trying 140.82.121.3:443...
* Connected to github.com (140.82.121.3) port 443 (#0)
…
* Connection #1 to host objects.githubusercontent.com left intact

2022-10-04 20:54:57 : REQ   : venturablocker : no more blocking processes, continue with update
2022-10-04 20:54:57 : REQ   : venturablocker : Installing venturablocker
2022-10-04 20:54:57 : INFO  : venturablocker : Verifying: venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File list: -rw-r--r--  1 root  wheel    44K Oct  4 20:54 venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : File type: venturablocker.pkg: xar archive compressed TOC: 4475, SHA-1 checksum
2022-10-04 20:54:57 : DEBUG : venturablocker : spctlOut is venturablocker.pkg: accepted
2022-10-04 20:54:57 : DEBUG : venturablocker : source=Notarized Developer ID
2022-10-04 20:54:57 : DEBUG : venturablocker : origin=Developer ID Installer: ENVO IT AS (FXW6QXBFW5)
2022-10-04 20:54:57 : INFO  : venturablocker : Team ID: FXW6QXBFW5 (expected: FXW6QXBFW5 )
2022-10-04 20:54:57 : DEBUG : venturablocker : Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:57 : DEBUG : venturablocker : Debugging enabled, Deleting tmpDir output was:
/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl/venturablocker.pkg
2022-10-04 20:54:57 : DEBUG : venturablocker : /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.nLLDwJfl
2022-10-04 20:54:57 : INFO  : venturablocker : App not closed, so no reopen.
2022-10-04 20:54:57 : DEBUG : venturablocker : DEBUG mode 2 enabled, exiting
2022-10-04 20:54:57 : REQ   : venturablocker : ################## End Installomator, exit code 0
```
2022-10-04 20:58:01 +02:00
Armin Briegel
3364e6cf07 updated Labels and main script 2022-10-03 16:09:30 -07:00
Armin Briegel
a4f8b65932 Update CHANGELOG.md 2022-10-03 16:08:39 -07:00
Armin Briegel
3748080fa7 new label: inetclearreportsdesigner 2022-10-03 16:05:44 -07:00
Armin Briegel
47acb6443d Update CHANGELOG.md 2022-10-03 16:05:25 -07:00
Armin Briegel
e8b777babb re-Merge branch 'pr/612' 2022-10-03 14:51:57 -07:00
Armin Briegel
116937a948 Update CHANGELOG.md 2022-10-03 14:50:26 -07:00
Armin Briegel
c36c14c2d6 removed extraneous file 2022-10-03 14:43:35 -07:00
Armin Briegel
01d1238b0d fixed parallelsrasclient file name 2022-10-03 13:57:56 -07:00
Armin Briegel
bf89f4b42b added missing line breaks 2022-10-03 13:56:12 -07:00
Adam Codega
ec1e6e6dc9 Merge pull request #711 from Installomator/acodega-MDMscriptsREADME
Update and reformatting of README
2022-10-03 13:55:26 -04:00
Theile
76ee861038 Smart quotes and a few italic and bold formatting 2022-10-03 19:49:47 +02:00
Adam Codega
3ef2b8e3fb Update and reformatting of README 2022-10-03 13:18:19 -04:00
Adam Codega
bcf9ddf248 Clarify beta statement regarding repos 2022-10-03 12:36:21 -04:00
Theile
57fd2e57fc vysor label
[https://github.com/koush/vysor.io](https://github.com/koush/vysor.io)

Vysor - Mirror and Control your Phone
2022-10-03 13:03:46 +02:00
Theile
d01cb5fb97 10.0beta3, 2022-09-30 2022-09-30 22:37:21 +02:00
Søren Theilgaard
180da16722 Merge pull request #608 from macmangr/jdk18
New Label: Java SE Development Kit 18
2022-09-30 22:33:00 +02:00
Theile
6b6ce8e23e Beta-warning! 2022-09-30 22:21:22 +02:00
Theile
b45c2f81ea 10.0beta3, 2022-09-30 2022-09-30 22:18:29 +02:00
Søren Theilgaard
2b67f3db9e Merge pull request #655 from FletcherS7/label-Egnyte-Core
New Label: Egnyte Desktop Core
2022-09-30 22:15:51 +02:00
Theile
ee02bee37c 10.0beta3, 2022-09-30 2022-09-30 22:12:09 +02:00
Søren Theilgaard
3f3f32db9b Merge pull request #605 from macmangr/libreoffice
Update libreoffice.sh
2022-09-30 22:08:30 +02:00
Søren Theilgaard
ac3815b758 Merge branch 'main' into libreoffice 2022-09-30 22:08:16 +02:00
Fletcher Salesky
2c378360c4 Omit xpath error lines from output 2022-09-30 13:07:25 -07:00
Søren Theilgaard
940fc5a0d6 Merge pull request #609 from macmangr/filemakerpro
New Label: Filemaker Pro
2022-09-30 22:04:49 +02:00
Søren Theilgaard
b5ead8f650 Merge pull request #610 from macmangr/horos
New Label: Horos
2022-09-30 22:03:54 +02:00
Søren Theilgaard
6bdddff6d7 Merge pull request #617 from macmangr/chronoagent
New Label: ChronoAgent
2022-09-30 22:00:15 +02:00
Søren Theilgaard
4a52d8ce46 Merge pull request #620 from xdgc/label-tailscale
Add Tailscale label
2022-09-30 21:54:58 +02:00
Søren Theilgaard
bc85c8195e Merge pull request #616 from macmangr/chronosync
New Label: ChronoSync
2022-09-30 21:53:44 +02:00
Søren Theilgaard
36860fd694 Merge pull request #624 from macmangr/awpst
New Label: Archiware P5
2022-09-30 21:52:06 +02:00
Søren Theilgaard
377e7e039c Merge pull request #625 from macmangr/awb2go
New Label: Archiware P5 Backup2Go
2022-09-30 21:51:08 +02:00
Søren Theilgaard
cb7c00751a Merge pull request #633 from FletcherS7/label-Nudge-Suite
New Label: Nudge Suite
2022-09-30 21:49:27 +02:00
Søren Theilgaard
1744c65773 Merge pull request #634 from kryptonit1/zotero-label
New Label: Zotero
2022-09-30 21:45:05 +02:00
Søren Theilgaard
5b9da39349 Merge pull request #621 from kenchan0130/patch-2
santa and nomad are forced to ignore blocking
2022-09-30 21:35:52 +02:00
Søren Theilgaard
67ae307f86 Merge pull request #708 from dnikles/Update-audacity-label
Update audacity label to check for arch
2022-09-30 21:35:13 +02:00
Søren Theilgaard
f5f2c3c605 Merge pull request #701 from Theile/MDM-scripts-with-Dialog-and-adding-to-Dock
Mdm scripts with dialog and adding to dock
2022-09-30 21:31:32 +02:00
Søren Theilgaard
1903e8da80 Merge pull request #691 from Theile/Fall-back-on-GitHub-downloadURL
If GitHub does not give an URL we can fall back on API call
2022-09-30 21:30:53 +02:00
Søren Theilgaard
0ceb8d2803 Merge pull request #658 from Theile/Dialog-additions
Dialog update when app is already at the latest version
2022-09-30 21:30:34 +02:00
Søren Theilgaard
e33dbc1c6d Merge pull request #656 from FletcherS7/label-zoom-outlook
New Label: Zoom Outlook Plugin
2022-09-30 21:29:53 +02:00
Søren Theilgaard
939119da83 Merge pull request #660 from buckbanzai/add-splashtopbusiness
Add splashtopbusiness Label
2022-09-30 21:29:00 +02:00
Søren Theilgaard
3f860cd2cb Merge pull request #661 from speedybutters/New-Label-bitrix24
New Label: bitrix24
2022-09-30 21:27:48 +02:00
Søren Theilgaard
32327ae03a Merge pull request #662 from speedybutters/New-Label-Origin
New Label: origin
2022-09-30 21:26:24 +02:00
Søren Theilgaard
90efc9f110 Merge pull request #670 from meschwartz/New-Label-Charles-Proxy
Created new label for Charles Proxy
2022-09-30 21:21:39 +02:00
Søren Theilgaard
d926ac34b4 Merge pull request #671 from FletcherS7/label-polylens
New Label: Poly Lens
2022-09-30 21:20:53 +02:00
Søren Theilgaard
44793e5b5e Merge pull request #678 from Theile/acroniscyberprotectconnectagent
Update acroniscyberprotectconnectagent.sh
2022-09-30 21:14:30 +02:00
Søren Theilgaard
125cb221d3 Merge pull request #690 from Theile/gfxCardStatus-label
gfxCardStatus label
2022-09-30 21:12:37 +02:00
Søren Theilgaard
3b44907148 Merge pull request #684 from kryptonit1/latexit-label
New Label: LaTeXiT
2022-09-30 21:11:13 +02:00
Søren Theilgaard
758c8b4687 Merge pull request #689 from kryptonit1/cytoscape-label
New Label: Cytoscape
2022-09-30 21:06:29 +02:00
Søren Theilgaard
f62b100cfe Merge pull request #692 from FletcherS7/update-obs-label
Update OBS Label
2022-09-30 21:05:43 +02:00
Søren Theilgaard
3d304a1a29 Merge pull request #704 from Theile/DuckDuckGo-web-browser-label-update
DuckDuckGo label — Latest url and version is last in appcast feed
2022-09-30 21:04:01 +02:00
Søren Theilgaard
2f4bbb2c68 Merge pull request #702 from Theile/R-project
R project for Apple Silicon and intel
2022-09-30 21:03:43 +02:00
Søren Theilgaard
a8d0f636d3 Merge pull request #707 from Theile/Adobe-labels-from-Isaac
Adobe labels from isaac
2022-09-30 21:03:26 +02:00
Søren Theilgaard
e700bbe7b7 Merge pull request #705 from Theile/VLC-version-on-file-name
VLC version from file name
2022-09-30 21:02:57 +02:00
Søren Theilgaard
1394d3968d Merge pull request #680 from Theile/xcreds-version-fix
Change `appNewVersion`
2022-09-30 21:00:45 +02:00
Søren Theilgaard
33c2dd626f Merge pull request #607 from macmangr/rasclient
New Label: Parallels Client
2022-09-30 20:58:26 +02:00
Søren Theilgaard
25ca38b95e Merge pull request #599 from duongt01/fellow
New Label: Fellow
2022-09-30 20:53:10 +02:00
Søren Theilgaard
11e953057a Merge pull request #598 from Chriscodinglife/fujifilmwebcam
New Label: Fujifilmwebcam
2022-09-30 20:52:36 +02:00
Søren Theilgaard
a7cefea5dd Merge pull request #665 from niavlysAO/label-screamingfrogspider-dmg-per-arch
label screamingfrogspider.sh fix, dmg per arch
2022-09-30 20:40:03 +02:00
dnikles
be62fa9895 check for arch
previous version of label was downloading the arm64 version every time
2022-09-30 11:07:30 -04:00
Theile
dd3ac338b3 Examples 2022-09-30 13:41:20 +02:00
Theile
feedc86a0a Works with version 9 and 10 comment. 2022-09-30 10:57:04 +02:00
Theile
3f41926cf9 adobecreativeclouddesktop and adobereaderdc-update
Fixing #694 and fixing #687
2022-09-30 10:14:13 +02:00
Theile
5e1dba614a Merge remote-tracking branch 'upstream/acodega-fix-AdobeCC-urls' into Adobe-labels-from-Isaac 2022-09-30 09:23:27 +02:00
Theile
d404e93365 adobeacrobatprodc, adobereaderdc 2022-09-30 09:22:29 +02:00
Theile
e0222cfe49 API call first, then fall back on home page url. 2022-09-29 16:10:36 +02:00
Theile
c955a69e47 App-update scripts
And added a bit to the README.md.
2022-09-29 13:07:42 +02:00
Theile
c5ad2291e0 VLC version from file name
```
# utils/assemble.sh vlc DEBUG=0
2022-09-28 15:22:49 : INFO  : vlc : setting variable from argument DEBUG=0
2022-09-28 15:22:49 : REQ   : vlc : ################## Start Installomator v. 10.0beta3, date 2022-09-28
2022-09-28 15:22:49 : INFO  : vlc : ################## Version: 10.0beta3
2022-09-28 15:22:49 : INFO  : vlc : ################## Date: 2022-09-28
2022-09-28 15:22:49 : INFO  : vlc : ################## vlc
2022-09-28 15:22:49 : INFO  : vlc : BLOCKING_PROCESS_ACTION=tell_user
2022-09-28 15:22:49 : INFO  : vlc : NOTIFY=success
2022-09-28 15:22:49 : INFO  : vlc : LOGGING=INFO
2022-09-28 15:22:49 : INFO  : vlc : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-28 15:22:49 : INFO  : vlc : Label type: dmg
2022-09-28 15:22:49 : INFO  : vlc : archiveName: VLC.dmg
2022-09-28 15:22:49 : INFO  : vlc : no blocking processes defined, using VLC as default
2022-09-28 15:22:49 : INFO  : vlc : App(s) found: /Applications/VLC.app
2022-09-28 15:22:49 : INFO  : vlc : found app at /Applications/VLC.app, version 3.0.17.3, on versionKey CFBundleShortVersionString
2022-09-28 15:22:49 : INFO  : vlc : appversion: 3.0.17.3
2022-09-28 15:22:49 : INFO  : vlc : Latest version of VLC is 3.0.17.3
2022-09-28 15:22:49 : INFO  : vlc : There is no newer version available.
2022-09-28 15:22:49 : INFO  : vlc : App not closed, so no reopen.
2022-09-28 15:22:49 : REQ   : vlc : No newer version.
2022-09-28 15:22:49 : REQ   : vlc : ################## End Installomator, exit code 0
```
2022-09-28 15:24:02 +02:00
Theile
3d2c72a672 Examples 2022-09-28 13:45:38 +02:00
Theile
f87df8bd99 Update README.md 2022-09-28 12:41:50 +02:00
Theile
2a9fd6292c Latest version is last in appcast feed 2022-09-28 10:00:34 +02:00
Theile
b7c8214b62 Variables cleaning 2022-09-27 11:22:59 +02:00
Theile
9faa9a17a9 Variables cleaning 2022-09-27 10:52:58 +02:00
Theile
e7ebeecc5b Variables cleaning 2022-09-27 10:49:58 +02:00
Theile
fdb717019f Examples 2022-09-27 10:14:56 +02:00
Theile
e3f5b2bebd Making LOGO empty 2022-09-27 08:58:52 +02:00
Theile
ddc7a67e38 Corrections and fixes 2022-09-26 16:13:35 +02:00
Theile
a68ac0d065 Missing notification and other fields for Installomator call 2022-09-26 15:45:51 +02:00
Theile
1c45e09134 RStudio with a matching appNewVersion 2022-09-26 15:11:51 +02:00
Theile
82b429a4be R project for Apple Silicon and intel 2022-09-26 14:43:43 +02:00
Theile
92d7bec606 Update README.md 2022-09-26 11:50:17 +02:00
Theile
d00ddbc891 Create README.md 2022-09-23 16:27:24 +02:00
Theile
515087f7e9 More minor tweaks 2022-09-23 14:48:09 +02:00
Theile
0a4c8cfe6e Cleaning 2022-09-21 17:36:03 +02:00
Theile
91af2427fa Fix for #698
GitHub download links changed, fixed #698.
2022-09-21 11:58:56 +02:00
Theile
24c550477a GitHub download fix 2022-09-21 11:34:01 +02:00
Theile
44cee15ac2 Dialog cmd file: /var/tmp/dialog.log 2022-09-21 09:05:05 +02:00
Theile
53cbc342c3 Minor renaming of a few file names 2022-09-21 09:04:06 +02:00
Theile
5b39697bf8 No printlog function so echo it is 2022-09-21 08:43:31 +02:00
Theile
e6088a2eda Install swiftDialog in preparation script 2022-09-20 16:34:12 +02:00
Theile
938a40943e Cleaning and adding prevention scripts 2022-09-20 09:50:54 +02:00
Theile
c0a850848b Version number matching 2022-09-20 08:36:55 +02:00
Theile
909a61fbe3 Improved icon checks and failovers 2022-09-19 21:40:03 +02:00
Theile
9c5ab45851 Version 9.4 of my MDM scripts 2022-09-19 11:38:43 +02:00
macmangr
6c829ed0d6 Added architecture check and ARM version of Horos
The developer has now also released an Apple Silicon version of the software, so a review of the processor and the appropriate download links have been added

The expectedTeamID is now a variable because the Apple Silicon version of the app has a different TeamID
2022-09-17 16:53:15 +02:00
macmangr
96380b2f27 Label name changed to "archiwarepst"
The name of the label has been changed from "awpst" to "archiwarepst"
2022-09-17 14:59:49 +02:00
macmangr
b061f37924 Label name changed to "archiwareb2go"
The name of the label has been changed from "awb2go" to "archiwareb2go"
2022-09-17 14:57:15 +02:00
macmangr
5a54cd92b6 Label name changed to "parallelsrasclient"
The name of the label has been changed from "rasclient" to "parallelsrasclient"
2022-09-17 14:52:08 +02:00
Fletcher Salesky
57ed4e77f4 Move archiveName before downloadURL 2022-09-14 16:34:03 -07:00
Fletcher Salesky
a01bfd7dae Update obs.sh 2022-09-14 16:25:56 -07:00
Theile
e5d309a9d9 Minor correction to the if statement 2022-09-14 16:19:57 +02:00
Theile
1412f86e69 If GItHub does not give an URL we can fall back on API call
Today something strange happened for Installomator on GitHub. Or latest release would spend too much time loading the assets, and would not return an URL, like here:

```
% gitusername="Installomator"; gitreponame="Installomator"; curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.pkg" | head -1
% gitusername="bartreardon"; gitreponame="swiftDialog"; curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.pkg" | head -1
/bartreardon/swiftDialog/releases/download/v1.11.2/dialog-1.11.2-3095.pkg
```

As can be seen above it worked for swiftDialog, but not for Installomator.

Now we can fall back on the API call if we do not get the URL in first try.
2022-09-14 15:45:00 +02:00
Theile
13d574bd0d Create gfxcardstatus.sh
Text run:
```
% utils/assemble.sh gfxcardstatus DEBUG=2
2022-09-14 10:26:07 : INFO  : gfxcardstatus : setting variable from argument DEBUG=2
2022-09-14 10:26:07 : REQ   : gfxcardstatus : ################## Start Installomator v. 10.0beta3, date 2022-09-14
2022-09-14 10:26:07 : INFO  : gfxcardstatus : ################## Version: 10.0beta3
2022-09-14 10:26:07 : INFO  : gfxcardstatus : ################## Date: 2022-09-14
2022-09-14 10:26:07 : INFO  : gfxcardstatus : ################## gfxcardstatus
2022-09-14 10:26:07 : DEBUG : gfxcardstatus : DEBUG mode 2 enabled.
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : name=gfxCardStatus
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : appName=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : type=zip
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : archiveName=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : downloadURL=https://github.com/codykrieger/gfxCardStatus/releases/download/v2.5/gfxCardStatus-2.5.zip
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : curlOptions=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : appNewVersion=2.5
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : appCustomVersion function: Not defined
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : versionKey=CFBundleShortVersionString
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : packageID=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : pkgName=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : choiceChangesXML=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : expectedTeamID=LF22FTQC25
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : blockingProcesses=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : installerTool=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : CLIInstaller=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : CLIArguments=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : updateTool=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : updateToolArguments=
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : updateToolRunAsCurrentUser=
2022-09-14 10:26:08 : INFO  : gfxcardstatus : BLOCKING_PROCESS_ACTION=tell_user
2022-09-14 10:26:08 : INFO  : gfxcardstatus : NOTIFY=success
2022-09-14 10:26:08 : INFO  : gfxcardstatus : LOGGING=DEBUG
2022-09-14 10:26:08 : INFO  : gfxcardstatus : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-14 10:26:08 : INFO  : gfxcardstatus : Label type: zip
2022-09-14 10:26:08 : INFO  : gfxcardstatus : archiveName: gfxCardStatus.zip
2022-09-14 10:26:08 : INFO  : gfxcardstatus : no blocking processes defined, using gfxCardStatus as default
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : Changing directory to /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6
2022-09-14 10:26:08 : INFO  : gfxcardstatus : name: gfxCardStatus, appName: gfxCardStatus.app
2022-09-14 10:26:08 : INFO  : gfxcardstatus : App(s) found: /Users/st/Downloads/2022-09-14-10-21-02/gfxCardStatus.app
2022-09-14 10:26:08 : WARN  : gfxcardstatus : could not determine location of gfxCardStatus.app
2022-09-14 10:26:08 : INFO  : gfxcardstatus : appversion:
2022-09-14 10:26:08 : INFO  : gfxcardstatus : Latest version of gfxCardStatus is 2.5
2022-09-14 10:26:08 : REQ   : gfxcardstatus : Downloading https://github.com/codykrieger/gfxCardStatus/releases/download/v2.5/gfxCardStatus-2.5.zip to gfxCardStatus.zip
2022-09-14 10:26:08 : DEBUG : gfxcardstatus : No Dialog connection, just download
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : File list: -rw-r--r--  1 st  staff   2,2M 14 Sep 10:26 gfxCardStatus.zip
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : File type: gfxCardStatus.zip: Zip archive data, at least v1.0 to extract, compression method=store
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : curl output was:
*   Trying 140.82.121.3:443...
* Connected to github.com (140.82.121.3) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
…
* Connection #1 to host objects.githubusercontent.com left intact

2022-09-14 10:26:10 : REQ   : gfxcardstatus : no more blocking processes, continue with update
2022-09-14 10:26:10 : REQ   : gfxcardstatus : Installing gfxCardStatus
2022-09-14 10:26:10 : INFO  : gfxcardstatus : Unzipping gfxCardStatus.zip
2022-09-14 10:26:10 : INFO  : gfxcardstatus : Verifying: /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.app
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : App size: 5,5M	/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.app
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : Debugging enabled, App Verification output was:
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Cody Krieger (LF22FTQC25)

2022-09-14 10:26:10 : INFO  : gfxcardstatus : Team ID matching: LF22FTQC25 (expected: LF22FTQC25 )
2022-09-14 10:26:10 : INFO  : gfxcardstatus : Installing gfxCardStatus version 2.5 on versionKey CFBundleShortVersionString.
2022-09-14 10:26:10 : INFO  : gfxcardstatus : App has LSMinimumSystemVersion: 10.9
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : DEBUG mode 2 enabled, not installing anything, exiting
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : Deleting /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : Debugging enabled, Deleting tmpDir output was:
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.app/Contents/CodeResources
…
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.app
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6/gfxCardStatus.zip
2022-09-14 10:26:10 : DEBUG : gfxcardstatus : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.cR1129g6
2022-09-14 10:26:11 : INFO  : gfxcardstatus : App not closed, so no reopen.
2022-09-14 10:26:11 : INFO  : gfxcardstatus :
2022-09-14 10:26:11 : REQ   : gfxcardstatus : ################## End Installomator, exit code 0
```
2022-09-14 10:31:06 +02:00
Fredrik Larsson
4e003b2292 New Label: Cytoscape
2022-09-13 11:18:47 : REQ   : cytoscape : ################## Start Installomator v. 10.0beta3, date 2022-09-13
2022-09-13 11:18:47 : INFO  : cytoscape : ################## Version: 10.0beta3
2022-09-13 11:18:47 : INFO  : cytoscape : ################## Date: 2022-09-13
2022-09-13 11:18:47 : INFO  : cytoscape : ################## cytoscape
2022-09-13 11:18:47 : INFO  : cytoscape : SwiftDialog is not installed, clear cmd file var
2022-09-13 11:18:49 : INFO  : cytoscape : BLOCKING_PROCESS_ACTION=tell_user
2022-09-13 11:18:49 : INFO  : cytoscape : NOTIFY=success
2022-09-13 11:18:50 : INFO  : cytoscape : LOGGING=INFO
2022-09-13 11:18:50 : INFO  : cytoscape : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-13 11:18:50 : INFO  : cytoscape : Label type: dmg
2022-09-13 11:18:50 : INFO  : cytoscape : archiveName: Cytoscape.dmg
2022-09-13 11:18:50 : INFO  : cytoscape : no blocking processes defined, using Cytoscape as default
2022-09-13 11:18:50 : INFO  : cytoscape : name: Cytoscape, appName: Cytoscape.app
2022-09-13 11:18:50 : WARN  : cytoscape : No previous app found
2022-09-13 11:18:50 : WARN  : cytoscape : could not find Cytoscape.app
2022-09-13 11:18:50 : INFO  : cytoscape : appversion:
2022-09-13 11:18:50 : INFO  : cytoscape : Latest version of Cytoscape is 3.9.1
2022-09-13 11:18:50 : REQ   : cytoscape : Downloading https://github.com/cytoscape/cytoscape/releases/download/3.9.1/Cytoscape_3_9_1_macos.dmg to Cytoscape.dmg
2022-09-13 11:19:12 : REQ   : cytoscape : no more blocking processes, continue with update
2022-09-13 11:19:12 : REQ   : cytoscape : Installing Cytoscape
2022-09-13 11:19:12 : REQ   : cytoscape : installerTool used: Cytoscape Installer.app
2022-09-13 11:19:12 : INFO  : cytoscape : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.zwfhpav8/Cytoscape.dmg
2022-09-13 11:19:13 : INFO  : cytoscape : Mounted: /Volumes/Cytoscape 1
2022-09-13 11:19:13 : INFO  : cytoscape : Verifying: /Volumes/Cytoscape 1/Cytoscape Installer.app
2022-09-13 11:19:14 : INFO  : cytoscape : Team ID matching: 35LDCJ33QT (expected: 35LDCJ33QT )
2022-09-13 11:19:14 : INFO  : cytoscape : Installing Cytoscape version 3.9.1 on versionKey CFBundleShortVersionString.
2022-09-13 11:19:14 : INFO  : cytoscape : App has LSMinimumSystemVersion: 10.7.3
2022-09-13 11:19:14 : INFO  : cytoscape : CLIInstaller exists, running installer command /Volumes/Cytoscape 1/Cytoscape Installer.app/Contents/MacOS/JavaApplicationStub -q
2022-09-13 11:19:49 : INFO  : cytoscape : Succesfully ran /Volumes/Cytoscape 1/Cytoscape Installer.app/Contents/MacOS/JavaApplicationStub -q
2022-09-13 11:19:49 : INFO  : cytoscape : Finishing...
2022-09-13 11:19:52 : INFO  : cytoscape : name: Cytoscape, appName: Cytoscape Installer.app
2022-09-13 11:19:52 : INFO  : cytoscape : App(s) found: /Applications/Cytoscape_v3.9.1/Cytoscape Uninstaller.app/Applications/Cytoscape_v3.9.1/Cytoscape.app
2022-09-13 11:19:52 : WARN  : cytoscape : could not determine location of Cytoscape Installer.app
2022-09-13 11:19:52 : REQ   : cytoscape : Installed Cytoscape
2022-09-13 11:19:52 : INFO  : cytoscape : notifying
2022-09-13 11:19:53 : INFO  : cytoscape : App not closed, so no reopen.
2022-09-13 11:19:53 : REQ   : cytoscape : All done!
2022-09-13 11:19:53 : REQ   : cytoscape : ################## End Installomator, exit code 0
2022-09-13 11:29:16 +02:00
Søren Theilgaard
cd2637d30f Verify for “Adobe Installer” before running
Also added another option for getting current version that we could consider using. Removed some old stuff already commented out.
2022-09-13 09:05:04 +02:00
Fredrik Larsson
a5421ad226 New Label: Projectplace
2022-09-13 08:38:09 : REQ   : projectplace : ################## Start Installomator v. 10.0beta3, date 2022-09-13
2022-09-13 08:38:09 : INFO  : projectplace : ################## Version: 10.0beta3
2022-09-13 08:38:09 : INFO  : projectplace : ################## Date: 2022-09-13
2022-09-13 08:38:09 : INFO  : projectplace : ################## projectplace
2022-09-13 08:38:09 : INFO  : projectplace : SwiftDialog is not installed, clear cmd file var
2022-09-13 08:38:09 : INFO  : projectplace : BLOCKING_PROCESS_ACTION=tell_user
2022-09-13 08:38:09 : INFO  : projectplace : NOTIFY=success
2022-09-13 08:38:09 : INFO  : projectplace : LOGGING=INFO
2022-09-13 08:38:09 : INFO  : projectplace : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-13 08:38:09 : INFO  : projectplace : Label type: dmg
2022-09-13 08:38:09 : INFO  : projectplace : archiveName: Projectplace.dmg
2022-09-13 08:38:09 : INFO  : projectplace : no blocking processes defined, using Projectplace as default
2022-09-13 08:38:10 : INFO  : projectplace : name: Projectplace, appName: Projectplace.app
2022-09-13 08:38:10 : WARN  : projectplace : No previous app found
2022-09-13 08:38:10 : WARN  : projectplace : could not find Projectplace.app
2022-09-13 08:38:10 : INFO  : projectplace : appversion:
2022-09-13 08:38:10 : INFO  : projectplace : Latest version not specified.
2022-09-13 08:38:10 : REQ   : projectplace : Downloading https://service.projectplace.com/client_apps/desktop/Projectplace-for-mac.dmg to Projectplace.dmg
2022-09-13 08:38:11 : REQ   : projectplace : no more blocking processes, continue with update
2022-09-13 08:38:11 : REQ   : projectplace : Installing Projectplace
2022-09-13 08:38:11 : INFO  : projectplace : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.DSQ0lE6Y/Projectplace.dmg
2022-09-13 08:38:14 : INFO  : projectplace : Mounted: /Volumes/Projectplace
2022-09-13 08:38:14 : INFO  : projectplace : Verifying: /Volumes/Projectplace/Projectplace.app
2022-09-13 08:38:15 : INFO  : projectplace : Team ID matching: 8333HW99E8 (expected: 8333HW99E8 )
2022-09-13 08:38:15 : INFO  : projectplace : Installing Projectplace version 1.3.5 on versionKey CFBundleShortVersionString.
2022-09-13 08:38:15 : INFO  : projectplace : Copy /Volumes/Projectplace/Projectplace.app to /Applications
2022-09-13 08:38:15 : WARN  : projectplace : Changing owner to kryptonit
2022-09-13 08:38:15 : INFO  : projectplace : Finishing...
2022-09-13 08:38:18 : INFO  : projectplace : App(s) found: /Applications/Projectplace.app
2022-09-13 08:38:18 : INFO  : projectplace : found app at /Applications/Projectplace.app, version 1.3.5, on versionKey CFBundleShortVersionString
2022-09-13 08:38:18 : REQ   : projectplace : Installed Projectplace, version 1.3.5
2022-09-13 08:38:18 : INFO  : projectplace : notifying
2022-09-13 08:38:19 : INFO  : projectplace : App not closed, so no reopen.
2022-09-13 08:38:19 : REQ   : projectplace : All done!
2022-09-13 08:38:19 : REQ   : projectplace : ################## End Installomator, exit code 0
2022-09-13 08:39:21 +02:00
Adam Codega
22170a89ae Swap Adobe URL parsing filter
The filters for ARM and Intel were swapped by accident, this correctly returns the ARM URL for ARM and Intel URL for Intel.
2022-09-12 12:37:11 -04:00
Fredrik Larsson
5ab42971e5 New Label: MacTeX 2022-09-12 16:28:03 +02:00
Fredrik Larsson
527490e72f New Label: LaTeXiT
2022-09-12 14:49:00 : INFO  : latexit : setting variable from argument NOTIFY=silent
2022-09-12 14:49:00 : INFO  : latexit : setting variable from argument DEBUG=0
2022-09-12 14:49:00 : REQ   : latexit : ################## Start Installomator v. 10.0beta3, date 2022-09-12
2022-09-12 14:49:00 : INFO  : latexit : ################## Version: 10.0beta3
2022-09-12 14:49:00 : INFO  : latexit : ################## Date: 2022-09-12
2022-09-12 14:49:00 : INFO  : latexit : ################## latexit
2022-09-12 14:49:00 : INFO  : latexit : SwiftDialog is not installed, clear cmd file var
2022-09-12 14:49:01 : INFO  : latexit : BLOCKING_PROCESS_ACTION=tell_user
2022-09-12 14:49:01 : INFO  : latexit : NOTIFY=silent
2022-09-12 14:49:01 : INFO  : latexit : LOGGING=INFO
2022-09-12 14:49:01 : INFO  : latexit : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-12 14:49:01 : INFO  : latexit : Label type: dmg
2022-09-12 14:49:01 : INFO  : latexit : archiveName: LaTeXiT.dmg
2022-09-12 14:49:01 : INFO  : latexit : no blocking processes defined, using LaTeXiT as default
2022-09-12 14:49:01 : INFO  : latexit : name: LaTeXiT, appName: LaTeXiT.app
2022-09-12 14:49:01 : WARN  : latexit : No previous app found
2022-09-12 14:49:01 : WARN  : latexit : could not find LaTeXiT.app
2022-09-12 14:49:01 : INFO  : latexit : appversion:
2022-09-12 14:49:01 : INFO  : latexit : Latest version of LaTeXiT is 2.16.4
2022-09-12 14:49:01 : REQ   : latexit : Downloading https://pierre.chachatelier.fr/latexit/downloads/LaTeXiT-2_16_4.dmg to LaTeXiT.dmg
2022-09-12 14:49:03 : REQ   : latexit : no more blocking processes, continue with update
2022-09-12 14:49:04 : REQ   : latexit : Installing LaTeXiT
2022-09-12 14:49:04 : INFO  : latexit : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.p6c9hBly/LaTeXiT.dmg
2022-09-12 14:49:07 : INFO  : latexit : Mounted: /Volumes/LaTeXiT 2.16.4 1
2022-09-12 14:49:07 : INFO  : latexit : Verifying: /Volumes/LaTeXiT 2.16.4 1/LaTeXiT.app
2022-09-12 14:49:08 : INFO  : latexit : Team ID matching: 7SFX84GNR7 (expected: 7SFX84GNR7 )
2022-09-12 14:49:08 : INFO  : latexit : Installing LaTeXiT version 2.16.4 on versionKey CFBundleShortVersionString.
2022-09-12 14:49:08 : INFO  : latexit : App has LSMinimumSystemVersion: 10.9
2022-09-12 14:49:08 : INFO  : latexit : Copy /Volumes/LaTeXiT 2.16.4 1/LaTeXiT.app to /Applications
2022-09-12 14:49:12 : WARN  : latexit : Changing owner to kryptonit
2022-09-12 14:49:13 : INFO  : latexit : Finishing...
2022-09-12 14:49:16 : INFO  : latexit : App(s) found: /Applications/LaTeXiT.app
2022-09-12 14:49:16 : INFO  : latexit : found app at /Applications/LaTeXiT.app, version 2.16.4, on versionKey CFBundleShortVersionString
2022-09-12 14:49:16 : REQ   : latexit : Installed LaTeXiT, version 2.16.4
2022-09-12 14:49:16 : INFO  : latexit : App not closed, so no reopen.
2022-09-12 14:49:16 : REQ   : latexit : All done!
2022-09-12 14:49:16 : REQ   : latexit : ################## End Installomator, exit code 0
2022-09-12 14:51:56 +02:00
Søren Theilgaard
776c955cdd Comments to label 2022-09-05 10:17:09 +02:00
Søren Theilgaard
7239ec454a Change appNewVersion
GitHub tag contain “_” and not “.” so our function fails to get the right version, so isolating it out from the `downloadURL`.
2022-09-05 10:04:33 +02:00
Armin Briegel
0c4d7b0c56 Update version.sh 2022-09-02 15:22:35 +02:00
Armin Briegel
9e9a65337d updated changelog and main script 2022-09-02 15:17:51 +02:00
Søren Theilgaard
95bd32769c Update acroniscyberprotectconnectagent.sh
`blockingProcesses=( NONE )`
2022-09-02 14:57:04 +02:00
Armin Briegel
42126caa21 fixed labels without trailing new line 2022-09-02 13:29:16 +02:00
Armin Briegel
cee2b1d037 new label: dynalist 2022-09-02 13:05:43 +02:00
Armin Briegel
66d8f25847 new label: coconutbattery 2022-09-02 13:04:48 +02:00
Armin Briegel
960aa51770 new label: xcreds 2022-09-02 12:55:22 +02:00
Armin Briegel
d96c300cf8 updated label: libreoffice 2022-09-02 12:51:20 +02:00
Armin Briegel
6556cfd7d4 fixed typo 2022-09-02 12:51:00 +02:00
Armin Briegel
a4e12dd37f new label: mongodbcompass 2022-09-02 12:46:41 +02:00
Armin Briegel
efa40d90e4 new label: relatel 2022-09-02 12:45:34 +02:00
Armin Briegel
003647bab2 updated test script 2022-09-02 12:44:58 +02:00
Armin Briegel
18b5d87760 new label: awsvpnclient 2022-09-02 11:46:37 +02:00
Armin Briegel
daff74680e new label: lcadvancedvpnclient 2022-09-02 11:45:35 +02:00
Armin Briegel
a9fdf6132a new label: typinator 2022-09-02 11:44:28 +02:00
Armin Briegel
b7353eae7d new label: synologydriveclient 2022-09-02 11:43:21 +02:00
Armin Briegel
e1fdda65fe new test-pr.sh script 2022-09-02 11:42:56 +02:00
Armin Briegel
438191e4d3 assemble.sh now returns exit code from Installomator.sh 2022-09-02 11:41:33 +02:00
Armin Briegel
449276e587 new label: sonicvisualiser 2022-09-02 11:27:02 +02:00
Armin Briegel
54bf02886f new label: tencentmeeting 2022-09-02 11:23:34 +02:00
Armin Briegel
72a019b38d new label: masv 2022-09-02 11:11:47 +02:00
Armin Briegel
8edcefc181 new label: kap 2022-09-02 11:08:23 +02:00
Armin Briegel
8e519b342c Merge branch 'pr/562' 2022-09-02 11:05:36 +02:00
Armin Briegel
d1da823243 Merge branch 'pr/559' 2022-09-02 11:02:19 +02:00
Armin Briegel
f92428de8d Merge pull request #557 from macmangr/SynologyAssistant
New Label: SynologyAssistant
2022-09-02 11:00:14 +02:00
Armin Briegel
217486a118 Merge branch 'pr/556' 2022-09-02 10:58:33 +02:00
Armin Briegel
5f22889951 Merge branch 'pr/555' 2022-09-02 10:56:40 +02:00
Armin Briegel
bfaa243e4f Merge branch 'pr/554' 2022-09-02 10:53:25 +02:00
Armin Briegel
98ebfdca7c Merge branch 'pr/553' 2022-09-02 10:50:49 +02:00
Armin Briegel
3c6b8c8939 Merge branch 'pr/552' 2022-09-02 10:47:29 +02:00
Armin Briegel
dd6732ce97 Merge branch 'dev' 2022-09-02 10:45:41 +02:00
Armin Briegel
99bd9b78f4 Merge pull request #549 from imfromthebay/patch-1
New Label: KeepingYouAwake
2022-09-02 10:44:12 +02:00
Armin Briegel
baea19aa39 Merge pull request #589 from scriptingosx/boxtools-pkgid
added packageID to boxtools
2022-09-02 10:39:54 +02:00
Armin Briegel
a929f7d2ac Merge pull request #652 from scriptingosx/googleadseditor
moved label from repo root to proper folder
2022-09-02 10:39:19 +02:00
Armin Briegel
c981b093a2 Merge pull request #653 from mwmatter/main
Workspace ONE Support
2022-09-02 10:31:05 +02:00
Armin Briegel
a479c66dbe Merge branch 'main' into pr/664 2022-09-02 10:23:14 +02:00
Armin Briegel
4ad76adf7b Merge branch 'pr/659' 2022-09-02 10:10:12 +02:00
Armin Briegel
c138404604 updated version to 10.0beta2 2022-09-02 10:06:33 +02:00
Søren Theilgaard
ec45fcf945 Moving XCreds to GitHub download
```
% GitHub/Installomator-theile/utils/assemble.sh xcreds DEBUG=2
2022-09-01 14:19:53 : INFO  : xcreds : setting variable from argument DEBUG=2
2022-09-01 14:19:53 : REQ   : xcreds : ################## Start Installomator v. 10.0beta1, date 2022-09-01
2022-09-01 14:19:53 : INFO  : xcreds : ################## Version: 10.0beta1
2022-09-01 14:19:53 : INFO  : xcreds : ################## Date: 2022-09-01
2022-09-01 14:19:53 : INFO  : xcreds : ################## xcreds
2022-09-01 14:19:53 : DEBUG : xcreds : DEBUG mode 2 enabled.
2022-09-01 14:19:54 : INFO  : xcreds : BLOCKING_PROCESS_ACTION=tell_user
2022-09-01 14:19:54 : INFO  : xcreds : NOTIFY=success
2022-09-01 14:19:54 : INFO  : xcreds : LOGGING=DEBUG
2022-09-01 14:19:54 : INFO  : xcreds : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-01 14:19:54 : INFO  : xcreds : Label type: pkg
2022-09-01 14:19:54 : INFO  : xcreds : archiveName: XCreds.pkg
2022-09-01 14:19:54 : INFO  : xcreds : no blocking processes defined, using XCreds as default
2022-09-01 14:19:54 : DEBUG : xcreds : Changing directory to /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.LJYgKZS3
2022-09-01 14:19:54 : INFO  : xcreds : App(s) found: /Applications/XCreds.app
2022-09-01 14:19:55 : INFO  : xcreds : found app at /Applications/XCreds.app, version 1.0, on versionKey CFBundleShortVersionString
2022-09-01 14:19:55 : INFO  : xcreds : appversion: 1.0
2022-09-01 14:19:55 : INFO  : xcreds : Latest version of XCreds is 20
2022-09-01 14:19:55 : REQ   : xcreds : Downloading https://github.com/twocanoes/xcreds/releases/download/release_v2_0/XCreds_Build-3261_Version-2.0.pkg to XCreds.pkg
2022-09-01 14:19:55 : DEBUG : xcreds : No Dialog connection, just download
2022-09-01 14:19:55 : DEBUG : xcreds : File list: -rw-r--r--  1 st  staff   2,2M  1 Sep 14:19 XCreds.pkg
2022-09-01 14:19:55 : DEBUG : xcreds : File type: XCreds.pkg: xar archive compressed TOC: 5980, SHA-1 checksum
2022-09-01 14:19:55 : DEBUG : xcreds : curl output was:
*   Trying 140.82.121.3:443...
* Connected to github.com (140.82.121.3) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [315 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2459 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [80 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=github.com
*  start date: Mar 15 00:00:00 2022 GMT
*  expire date: Mar 15 23:59:59 2023 GMT
*  subjectAltName: host "github.com" matched cert's "github.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS Hybrid ECC SHA384 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x11e811400)
> GET /twocanoes/xcreds/releases/download/release_v2_0/XCreds_Build-3261_Version-2.0.pkg HTTP/2
> Host: github.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 302
< server: GitHub.com
< date: Thu, 01 Sep 2022 12:19:55 GMT
< content-type: text/html; charset=utf-8
< vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With
< permissions-policy: interest-cohort=()
< location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/494661701/0a8cfad5-2aa5-485a-957c-2cbd75f57136?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220901T121955Z&X-Amz-Expires=300&X-Amz-Signature=1867f1e5e0e3ccdc87aaf258551d3be85c62a9b860e4ae665c01db34babeff6b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=494661701&response-content-disposition=attachment%3B%20filename%3DXCreds_Build-3261_Version-2.0.pkg&response-content-type=application%2Foctet-stream
< cache-control: no-cache
< strict-transport-security: max-age=31536000; includeSubdomains; preload
< x-frame-options: deny
< x-content-type-options: nosniff
< x-xss-protection: 0
< referrer-policy: no-referrer-when-downgrade
< expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
< content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/
< content-length: 0
< x-github-request-id: F408:8530:EED4F3:10A1E04:6310A36B
<
{ [0 bytes data]
* Connection #0 to host github.com left intact
* Issue another request to this URL: 'https://objects.githubusercontent.com/github-production-release-asset-2e65be/494661701/0a8cfad5-2aa5-485a-957c-2cbd75f57136?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220901T121955Z&X-Amz-Expires=300&X-Amz-Signature=1867f1e5e0e3ccdc87aaf258551d3be85c62a9b860e4ae665c01db34babeff6b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=494661701&response-content-disposition=attachment%3B%20filename%3DXCreds_Build-3261_Version-2.0.pkg&response-content-type=application%2Foctet-stream'
*   Trying 185.199.111.133:443...
* Connected to objects.githubusercontent.com (185.199.111.133) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [334 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [3051 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=*.github.io
*  start date: Mar 18 00:00:00 2022 GMT
*  expire date: Mar 21 23:59:59 2023 GMT
*  subjectAltName: host "objects.githubusercontent.com" matched cert's "*.githubusercontent.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x11e811400)
> GET /github-production-release-asset-2e65be/494661701/0a8cfad5-2aa5-485a-957c-2cbd75f57136?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220901%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220901T121955Z&X-Amz-Expires=300&X-Amz-Signature=1867f1e5e0e3ccdc87aaf258551d3be85c62a9b860e4ae665c01db34babeff6b&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=494661701&response-content-disposition=attachment%3B%20filename%3DXCreds_Build-3261_Version-2.0.pkg&response-content-type=application%2Foctet-stream HTTP/2
> Host: objects.githubusercontent.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 200
< content-type: application/octet-stream
< content-md5: RrLFcfXK8EDq/0K9qLCThA==
< last-modified: Wed, 31 Aug 2022 15:53:35 GMT
< etag: "0x8DA8B68F6C2079A"
< server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
< x-ms-request-id: b7ffb877-b01e-006c-76fc-bdc9f2000000
< x-ms-version: 2020-04-08
< x-ms-creation-time: Wed, 31 Aug 2022 15:53:35 GMT
< x-ms-lease-status: unlocked
< x-ms-lease-state: available
< x-ms-blob-type: BlockBlob
< content-disposition: attachment; filename=XCreds_Build-3261_Version-2.0.pkg
< x-ms-server-encrypted: true
< fastly-restarts: 1
< accept-ranges: bytes
< date: Thu, 01 Sep 2022 12:19:55 GMT
< via: 1.1 varnish
< age: 83
< x-served-by: cache-cph2320020-CPH
< x-cache: HIT
< x-cache-hits: 1
< x-timer: S1662034796.510835,VS0,VE99
< content-length: 2321014
<
{ [16375 bytes data]
* Connection #1 to host objects.githubusercontent.com left intact

2022-09-01 14:19:55 : REQ   : xcreds : no more blocking processes, continue with update
2022-09-01 14:19:55 : REQ   : xcreds : Installing XCreds
2022-09-01 14:19:55 : INFO  : xcreds : Verifying: XCreds.pkg
updateDialog:26: no such file or directory:
2022-09-01 14:19:55 : DEBUG : xcreds : File list: -rw-r--r--  1 st  staff   2,2M  1 Sep 14:19 XCreds.pkg
2022-09-01 14:19:55 : DEBUG : xcreds : File type: XCreds.pkg: xar archive compressed TOC: 5980, SHA-1 checksum
2022-09-01 14:19:55 : DEBUG : xcreds : spctlOut is XCreds.pkg: accepted
2022-09-01 14:19:55 : DEBUG : xcreds : source=Notarized Developer ID
2022-09-01 14:19:55 : DEBUG : xcreds : origin=Developer ID Installer: Twocanoes Software, Inc. (UXP6YEHSPW)
2022-09-01 14:19:55 : INFO  : xcreds : Team ID: UXP6YEHSPW (expected: UXP6YEHSPW )
2022-09-01 14:19:55 : DEBUG : xcreds : Deleting /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.LJYgKZS3
2022-09-01 14:19:55 : DEBUG : xcreds : Debugging enabled, Deleting tmpDir output was:
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.LJYgKZS3/XCreds.pkg
2022-09-01 14:19:55 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.LJYgKZS3
2022-09-01 14:19:55 : INFO  : xcreds : App not closed, so no reopen.
2022-09-01 14:19:55 : DEBUG : xcreds : DEBUG mode 2 enabled, exiting
2022-09-01 14:19:55 : REQ   : xcreds : ################## End Installomator, exit code 0
```
2022-09-01 14:20:58 +02:00
Søren Theilgaard
160dd78ec9 XCreds
```
% GitHub/Installomator-theile/utils/assemble.sh xcreds DEBUG=2
2022-09-01 13:00:21 : INFO  : xcreds : setting variable from argument DEBUG=2
2022-09-01 13:00:21 : REQ   : xcreds : ################## Start Installomator v. 10.0beta1, date 2022-09-01
2022-09-01 13:00:21 : INFO  : xcreds : ################## Version: 10.0beta1
2022-09-01 13:00:21 : INFO  : xcreds : ################## Date: 2022-09-01
2022-09-01 13:00:21 : INFO  : xcreds : ################## xcreds
2022-09-01 13:00:21 : DEBUG : xcreds : DEBUG mode 2 enabled.
2022-09-01 13:00:22 : INFO  : xcreds : BLOCKING_PROCESS_ACTION=tell_user
2022-09-01 13:00:22 : INFO  : xcreds : NOTIFY=success
2022-09-01 13:00:22 : INFO  : xcreds : LOGGING=DEBUG
2022-09-01 13:00:22 : INFO  : xcreds : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-09-01 13:00:22 : INFO  : xcreds : Label type: pkgInZip
2022-09-01 13:00:22 : INFO  : xcreds : archiveName: XCreds.zip
2022-09-01 13:00:22 : INFO  : xcreds : no blocking processes defined, using XCreds as default
2022-09-01 13:00:22 : DEBUG : xcreds : Changing directory to /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b
2022-09-01 13:00:22 : INFO  : xcreds : App(s) found: /Applications/XCreds.app
2022-09-01 13:00:22 : INFO  : xcreds : found app at /Applications/XCreds.app, version 1.0, on versionKey CFBundleShortVersionString
2022-09-01 13:00:22 : INFO  : xcreds : appversion: 1.0
2022-09-01 13:00:22 : INFO  : xcreds : Latest version of XCreds is 2.0
2022-09-01 13:00:22 : REQ   : xcreds : Downloading https://twocanoes-software-updates.s3.amazonaws.com/xcreds/XCreds2.zip to XCreds.zip
2022-09-01 13:00:22 : DEBUG : xcreds : No Dialog connection, just download
2022-09-01 13:00:23 : DEBUG : xcreds : File list: -rw-r--r--  1 st  staff   2,2M  1 Sep 13:00 XCreds.zip
2022-09-01 13:00:23 : DEBUG : xcreds : File type: XCreds.zip: Zip archive data, at least v2.0 to extract, compression method=store
2022-09-01 13:00:23 : DEBUG : xcreds : curl output was:
*   Trying 52.216.27.92:443...
* Connected to twocanoes-software-updates.s3.amazonaws.com (52.216.27.92) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [348 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [106 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4960 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [333 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=*.s3.amazonaws.com
*  start date: Dec 15 00:00:00 2021 GMT
*  expire date: Dec  3 23:59:59 2022 GMT
*  subjectAltName: host "twocanoes-software-updates.s3.amazonaws.com" matched cert's "*.s3.amazonaws.com"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
> GET /xcreds/XCreds2.zip HTTP/1.1
> Host: twocanoes-software-updates.s3.amazonaws.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< x-amz-id-2: zpibNPiaMcUDxjERKPuwezj2NFmFylFdjsNCFRrAvu6wq13iFiatThxKgoRm4EOi6TLongUrdW8=
< x-amz-request-id: GEM1A4AV0HBMPPDT
< Date: Thu, 01 Sep 2022 11:00:23 GMT
< Last-Modified: Tue, 30 Aug 2022 22:26:04 GMT
< ETag: "fe639f47a7e6a07604165864755276f5"
< Accept-Ranges: bytes
< Content-Type: application/zip
< Server: AmazonS3
< Content-Length: 2323121
<
{ [7826 bytes data]
* Connection #0 to host twocanoes-software-updates.s3.amazonaws.com left intact

2022-09-01 13:00:23 : REQ   : xcreds : no more blocking processes, continue with update
2022-09-01 13:00:23 : REQ   : xcreds : Installing XCreds
2022-09-01 13:00:23 : INFO  : xcreds : Unzipping XCreds.zip
2022-09-01 13:00:23 : DEBUG : xcreds : Found pkg(s):
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg
2022-09-01 13:00:23 : INFO  : xcreds : found pkg: /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg
2022-09-01 13:00:23 : INFO  : xcreds : Verifying: /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg
updateDialog:26: no such file or directory:
2022-09-01 13:00:23 : DEBUG : xcreds : File list: -rw-r--r--@ 1 st  staff   2,2M 31 Aug 00:18 /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg
2022-09-01 13:00:23 : DEBUG : xcreds : File type: /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg: xar archive compressed TOC: 5980, SHA-1 checksum
2022-09-01 13:00:23 : DEBUG : xcreds : spctlOut is /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg: accepted
2022-09-01 13:00:23 : DEBUG : xcreds : source=Notarized Developer ID
2022-09-01 13:00:23 : DEBUG : xcreds : origin=Developer ID Installer: Twocanoes Software, Inc. (UXP6YEHSPW)
2022-09-01 13:00:23 : INFO  : xcreds : Team ID: UXP6YEHSPW (expected: UXP6YEHSPW )
2022-09-01 13:00:23 : DEBUG : xcreds : Deleting /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b
2022-09-01 13:00:23 : DEBUG : xcreds : Debugging enabled, Deleting tmpDir output was:
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds.zip
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/XCreds_Build-3261_Version-2.0.pkg
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/xcreds_example_azure.mobileconfig
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/com.twocanoes.xcreds.plist
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2/xcreds_example_google.mobileconfig
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b/XCreds2
2022-09-01 13:00:23 : DEBUG : xcreds : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.FhnTIS2b
2022-09-01 13:00:23 : INFO  : xcreds : App not closed, so no reopen.
2022-09-01 13:00:23 : DEBUG : xcreds : DEBUG mode 2 enabled, exiting
2022-09-01 13:00:23 : REQ   : xcreds : ################## End Installomator, exit code 0
```
2022-09-01 13:02:11 +02:00
Søren Theilgaard
3b098acaac wickrme and wickrpro moved to disabled 2022-08-31 09:49:28 +02:00
Søren Theilgaard
c5af1a338e SupportApp pkg will handle reinstallation if it's already running 2022-08-31 09:18:32 +02:00
Søren Theilgaard
96f5bb15e2 wickrme and wickrpro does not work
Servers has been changed, so various headers are needed to get the API to work.

Have tried this:
```
curl -H "accept: */*" -H "accept-encoding: gzip, deflate, br" -H "accept-language: en-US,en;q=0.9" -H "content-length: 30" -H "content-type: application/json" -H "origin: https://me-download.wickr.com" -H "referer: https://me-download.wickr.com/" -H "sec-fetch-dest: empty" -H "sec-fetch-mode: cors" -H "sec-fetch-site: same-origin" -H "sec-gpc: 1" -H "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36" "https://me-download.wickr.com/api/download"
```

Two different hosts for Me and Pro:
[https://me-download.wickr.com/](https://me-download.wickr.com/)
[https://pro-download.wickr.com/](https://pro-download.wickr.com/)

I have tried with Brave browser to detect what headers are needed to get the api to work, but it refuses.
2022-08-30 10:58:05 +02:00
Takanori TANIGUCHI
32721128f6 Duplicate #659 2022-08-30 09:55:20 +09:00
Søren Theilgaard
4f5479aa18 Opera is really making an effort to make it difficult for us 😜 2022-08-29 23:02:47 +02:00
Søren Theilgaard
8092b226f7 Remotix bought by Acronis 2022-08-29 21:54:44 +02:00
Søren Theilgaard
3f35f63d23 Fixed! 2022-08-29 21:21:52 +02:00
Søren Theilgaard
350c897c8a Now available on GitHub 2022-08-29 21:13:53 +02:00
Søren Theilgaard
c1607fe63c Update insomnia.sh
The release various variants on GitHub, so have to use their own download link from the web page, as well as isolating version from that.
2022-08-29 21:09:13 +02:00
Søren Theilgaard
4fa29967bc No Microsoft Yammer anymore… 2022-08-29 20:48:36 +02:00
Søren Theilgaard
8f50f04725 No "fix" needed after github download fix 2022-08-29 20:40:31 +02:00
Søren Theilgaard
2399dc5c1e No "fix" needed after github download fix. 2022-08-29 20:39:22 +02:00
Søren Theilgaard
dcde2e97f2 No "fix" needed after fixing github download 2022-08-29 20:38:20 +02:00
Søren Theilgaard
3d8ba13ca6 It works after fixing github 2022-08-29 20:34:15 +02:00
Søren Theilgaard
1155a9ee1e Reverse my previous fix
Not needed…
2022-08-29 14:25:09 +02:00
Søren Theilgaard
7458f8656b Label icons with no credit line 2022-08-29 14:24:09 +02:00
Søren Theilgaard
f7e2c5e000 Final fix for GitHub downloadURL
For all labels tested it gives the same results as API-URL.
2022-08-29 12:50:28 +02:00
Søren Theilgaard
9157d4763b Better new GitHub downloadURL 2022-08-29 09:45:27 +02:00
Takanori TANIGUCHI
4a60dcb017 revert 2022-08-28 09:57:18 +09:00
Takanori TANIGUCHI
6876114fdf Fix libreoffice download url 2022-08-28 09:45:14 +09:00
Takanori TANIGUCHI
ab6aedc460 Fix downloadURLFromGit() 2022-08-28 09:44:30 +09:00
Takanori TANIGUCHI
8127c30c5e Fix downloadURLFromGit() returns sigle line. 2022-08-27 22:46:30 +09:00
Fletcher Salesky
d18fd7f221 Create polylens.sh 2022-08-27 02:57:27 -07:00
Takanori TANIGUCHI
4467f2ce46 Fix curl switch for libreoffice and some change 2022-08-27 15:31:24 +09:00
meschwartz
cabe867b30 Created new label for Charles Proxy
Output:
```
# ./Installomator/utils/assemble.sh charles DEBUG=0
2022-08-25 13:31:09 : INFO  : charles : setting variable from argument DEBUG=0
2022-08-25 13:31:09 : REQ   : charles : ################## Start Installomator v. 10.0beta1, date 2022-08-25
2022-08-25 13:31:09 : INFO  : charles : ################## Version: 10.0beta1
2022-08-25 13:31:10 : INFO  : charles : ################## Date: 2022-08-25
2022-08-25 13:31:10 : INFO  : charles : ################## charles
2022-08-25 13:31:10 : INFO  : charles : SwiftDialog is not installed, clear cmd file var
2022-08-25 13:31:10 : INFO  : charles : BLOCKING_PROCESS_ACTION=tell_user
2022-08-25 13:31:10 : INFO  : charles : NOTIFY=success
2022-08-25 13:31:10 : INFO  : charles : LOGGING=INFO
2022-08-25 13:31:10 : INFO  : charles : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-25 13:31:10 : INFO  : charles : Label type: dmg
2022-08-25 13:31:10 : INFO  : charles : archiveName: Charles.dmg
2022-08-25 13:31:10 : INFO  : charles : no blocking processes defined, using Charles as default
2022-08-25 13:31:10 : INFO  : charles : name: Charles, appName: Charles.app
2022-08-25 13:31:10 : WARN  : charles : No previous app found
2022-08-25 13:31:10 : WARN  : charles : could not find Charles.app
2022-08-25 13:31:10 : INFO  : charles : appversion:
2022-08-25 13:31:10 : INFO  : charles : Latest version of Charles is 4.6.2
2022-08-25 13:31:10 : REQ   : charles : Downloading https://www.charlesproxy.com/assets/release/4.6.2/charles-proxy-4.6.2.dmg to Charles.dmg
2022-08-25 13:31:32 : REQ   : charles : no more blocking processes, continue with update
2022-08-25 13:31:32 : REQ   : charles : Installing Charles
2022-08-25 13:31:32 : INFO  : charles : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.MO2B5ihQ/Charles.dmg
2022-08-25 13:31:37 : INFO  : charles : Mounted: /Volumes/Charles Proxy v4.6.2
2022-08-25 13:31:37 : INFO  : charles : Verifying: /Volumes/Charles Proxy v4.6.2/Charles.app
updateDialog:26: no such file or directory:
2022-08-25 13:31:45 : INFO  : charles : Team ID matching: 9A5PCU4FSD (expected: 9A5PCU4FSD )
2022-08-25 13:31:45 : INFO  : charles : Installing Charles version 4.6.2 on versionKey CFBundleShortVersionString.
2022-08-25 13:31:45 : INFO  : charles : App has LSMinimumSystemVersion: 10.7
2022-08-25 13:31:45 : INFO  : charles : Copy /Volumes/Charles Proxy v4.6.2/Charles.app to /Applications
2022-08-25 13:31:46 : WARN  : charles : Changing owner to schwartzm
updateDialog:26: no such file or directory:
2022-08-25 13:31:46 : INFO  : charles : Finishing...
2022-08-25 13:31:49 : INFO  : charles : App(s) found: /Applications/Charles.app
2022-08-25 13:31:49 : INFO  : charles : found app at /Applications/Charles.app, version 4.6.2, on versionKey CFBundleShortVersionString
2022-08-25 13:31:49 : REQ   : charles : Installed Charles, version 4.6.2
2022-08-25 13:31:49 : INFO  : charles : notifying
2022-08-25 13:31:49 : INFO  : charles : App not closed, so no reopen.
2022-08-25 13:31:49 : REQ   : charles : All done!
2022-08-25 13:31:49 : REQ   : charles : ################## End Installomator, exit code 0
```
2022-08-25 13:32:28 -04:00
Søren Theilgaard
e1e64d5e7e coderunner with appNewVersion 2022-08-24 10:10:06 +02:00
Søren Theilgaard
9047d5d68f sap renamed to SAP
And added `archiveName` to make sure we find the correct file and not the source code.
2022-08-23 17:03:25 +02:00
Søren Theilgaard
cf412bda3c Output label variables in DEBUG log 2022-08-23 16:47:29 +02:00
Søren Theilgaard
a2d2abf4f5 Update checkLabels.sh
Removing these lines again. They don't tell much.
2022-08-23 15:28:57 +02:00
Søren Theilgaard
b238cec2fe Update hyper.sh 2022-08-23 15:11:56 +02:00
Søren Theilgaard
916da6283e Change mathing on archiveName for GitHub. 2022-08-23 15:10:55 +02:00
Søren Theilgaard
1521ade445 bz2 support in checkLabels.sh 2022-08-23 14:35:27 +02:00
Søren Theilgaard
7d1067f379 Update handbrake.sh
Specified the correct binary in the distribution, it would automatically find CLI-version.
2022-08-23 14:05:01 +02:00
Søren Theilgaard
b87c5e1ada Update golang.sh
Different `downloadURL` for architectures. They even call `x86` for `amd`.
2022-08-23 13:56:55 +02:00
Søren Theilgaard
eee730ba9c Update ferdi.sh
Fixed `archiveName` so that `.zip` is expected in the end of the name.
2022-08-23 13:46:35 +02:00
Søren Theilgaard
4db4ab4eef Update drawio.sh
Wrong distribution was found, so had to specify the `archiveName` to expect .dmg to be in the end of the match with a `$` in the RegEx.
2022-08-23 13:42:38 +02:00
Søren Theilgaard
f689f7e10c a fix for how this script detect versions in github
Replaced it with the one from functions.sh
2022-08-23 13:37:30 +02:00
Søren Theilgaard
78cd103121 dangerzone moved to a different user 2022-08-23 13:35:18 +02:00
Sylvain Roche
6db51a0ab1 label screamingfrogspider.sh fix, dmg per arch
ScreamingFrogSpider now has different dmg per CPU arch.
Download page provides 2 dmg links, therefore we must fix downloadURL grep
2022-08-23 12:20:47 +02:00
Søren Theilgaard
c3d6775d27 Update clevershare2.sh 2022-08-23 09:40:31 +02:00
Søren Theilgaard
ee9fe1fd66 Update colourcontrastanalyser.sh 2022-08-23 08:53:39 +02:00
Søren Theilgaard
980fb61afb Update colourcontrastanalyser.sh 2022-08-23 08:52:27 +02:00
Søren Theilgaard
9b029ee174 Fixed colourcontrastanalyser, cryptomator, and dangerzone 2022-08-23 08:43:53 +02:00
speedybutters
f8b82a3c5f Create origin.sh
New label for Origin app.

Couldn't find a way to specify appNewVersion, sorry.

Output:

sudo /Users/user/Documents/GitHub/Installomator/utils/assemble.sh origin DEBUG=0
Password:
2022-08-22 16:29:17 : INFO  : origin : setting variable from argument DEBUG=0
2022-08-22 16:29:17 : REQ   : origin : ################## Start Installomator v. 10.0beta1, date 2022-08-22
2022-08-22 16:29:17 : INFO  : origin : ################## Version: 10.0beta1
2022-08-22 16:29:17 : INFO  : origin : ################## Date: 2022-08-22
2022-08-22 16:29:17 : INFO  : origin : ################## origin
2022-08-22 16:29:17 : INFO  : origin : BLOCKING_PROCESS_ACTION=tell_user
2022-08-22 16:29:17 : INFO  : origin : NOTIFY=success
2022-08-22 16:29:17 : INFO  : origin : LOGGING=INFO
2022-08-22 16:29:18 : INFO  : origin : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-22 16:29:18 : INFO  : origin : Label type: dmg
2022-08-22 16:29:18 : INFO  : origin : archiveName: Origin.dmg
2022-08-22 16:29:18 : INFO  : origin : App(s) found: /Applications/Origin.app
2022-08-22 16:29:18 : INFO  : origin : found app at /Applications/Origin.app, version 10.5.113.50894, on versionKey CFBundleShortVersionString
2022-08-22 16:29:18 : INFO  : origin : appversion: 10.5.113.50894
2022-08-22 16:29:18 : INFO  : origin : Latest version not specified.
2022-08-22 16:29:18 : REQ   : origin : Downloading https://www.dm.origin.com/mac/download/Origin.dmg to Origin.dmg
2022-08-22 16:29:23 : REQ   : origin : no more blocking processes, continue with update
2022-08-22 16:29:23 : REQ   : origin : Installing Origin
2022-08-22 16:29:23 : INFO  : origin : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ZcXEV9XX/Origin.dmg
2022-08-22 16:29:27 : INFO  : origin : Mounted: /Volumes/Origin
2022-08-22 16:29:27 : INFO  : origin : Verifying: /Volumes/Origin/Origin.app
updateDialog:26: no such file or directory:
2022-08-22 16:29:29 : INFO  : origin : Team ID matching: TSTV75T6Q5 (expected: TSTV75T6Q5 )
2022-08-22 16:29:29 : INFO  : origin : Downloaded version of Origin is 10.5.115.51547 on versionKey CFBundleShortVersionString (replacing version 10.5.113.50894).
2022-08-22 16:29:29 : INFO  : origin : App has LSMinimumSystemVersion: 10.6
2022-08-22 16:29:29 : WARN  : origin : Removing existing /Applications/Origin.app
2022-08-22 16:29:29 : INFO  : origin : Copy /Volumes/Origin/Origin.app to /Applications
2022-08-22 16:29:31 : WARN  : origin : Changing owner to adam
updateDialog:26: no such file or directory:
2022-08-22 16:29:31 : INFO  : origin : Finishing...
2022-08-22 16:29:34 : INFO  : origin : App(s) found: /Applications/Origin.app
2022-08-22 16:29:34 : INFO  : origin : found app at /Applications/Origin.app, version 10.5.115.51547, on versionKey CFBundleShortVersionString
2022-08-22 16:29:34 : REQ   : origin : Installed Origin, version 10.5.115.51547
2022-08-22 16:29:34 : INFO  : origin : notifying
2022-08-22 16:29:34 : INFO  : origin : App not closed, so no reopen.
2022-08-22 16:29:34 : REQ   : origin : All done!
2022-08-22 16:29:34 : REQ   : origin : ################## End Installomator, exit code 0
2022-08-22 16:30:11 +01:00
speedybutters
958cf59a64 Create bitrix24.sh
New label for Bitrix24 app.

Couldn't find a way to specify appNewVersion, sorry.

Output:

sudo /Users/user/Documents/GitHub/Installomator/utils/assemble.sh bitrix24 DEBUG=0
Password:
2022-08-22 16:23:13 : INFO  : bitrix24 : setting variable from argument DEBUG=0
2022-08-22 16:23:13 : REQ   : bitrix24 : ################## Start Installomator v. 10.0beta1, date 2022-08-22
2022-08-22 16:23:13 : INFO  : bitrix24 : ################## Version: 10.0beta1
2022-08-22 16:23:13 : INFO  : bitrix24 : ################## Date: 2022-08-22
2022-08-22 16:23:13 : INFO  : bitrix24 : ################## bitrix24
2022-08-22 16:23:13 : INFO  : bitrix24 : BLOCKING_PROCESS_ACTION=tell_user
2022-08-22 16:23:13 : INFO  : bitrix24 : NOTIFY=success
2022-08-22 16:23:13 : INFO  : bitrix24 : LOGGING=INFO
2022-08-22 16:23:13 : INFO  : bitrix24 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-22 16:23:13 : INFO  : bitrix24 : Label type: dmg
2022-08-22 16:23:13 : INFO  : bitrix24 : archiveName: bitrix24_desktop.dmg
2022-08-22 16:23:13 : INFO  : bitrix24 : name: Bitrix24, appName: Bitrix24.app
2022-08-22 16:23:13 : WARN  : bitrix24 : No previous app found
2022-08-22 16:23:13 : WARN  : bitrix24 : could not find Bitrix24.app
2022-08-22 16:23:13 : INFO  : bitrix24 : appversion:
2022-08-22 16:23:13 : INFO  : bitrix24 : Latest version not specified.
2022-08-22 16:23:13 : REQ   : bitrix24 : Downloading https://dl.bitrix24.com/b24/bitrix24_desktop.dmg to bitrix24_desktop.dmg
2022-08-22 16:23:18 : REQ   : bitrix24 : no more blocking processes, continue with update
2022-08-22 16:23:18 : REQ   : bitrix24 : Installing Bitrix24
2022-08-22 16:23:18 : INFO  : bitrix24 : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.DrdpdQ4H/bitrix24_desktop.dmg
2022-08-22 16:23:27 : INFO  : bitrix24 : Mounted: /Volumes/Bitrix24 for macOS
2022-08-22 16:23:27 : INFO  : bitrix24 : Verifying: /Volumes/Bitrix24 for macOS/Bitrix24.app
updateDialog:26: no such file or directory:
2022-08-22 16:23:41 : INFO  : bitrix24 : Team ID matching: 5B3T3A994N (expected: 5B3T3A994N )
2022-08-22 16:23:41 : INFO  : bitrix24 : Installing Bitrix24 version 14.0.16 on versionKey CFBundleShortVersionString.
2022-08-22 16:23:41 : INFO  : bitrix24 : App has LSMinimumSystemVersion: 10.11
2022-08-22 16:23:41 : INFO  : bitrix24 : Copy /Volumes/Bitrix24 for macOS/Bitrix24.app to /Applications
2022-08-22 16:23:54 : WARN  : bitrix24 : Changing owner to adam
updateDialog:26: no such file or directory:
2022-08-22 16:23:54 : INFO  : bitrix24 : Finishing...
2022-08-22 16:23:57 : INFO  : bitrix24 : App(s) found: /Applications/Bitrix24.app
2022-08-22 16:23:57 : INFO  : bitrix24 : found app at /Applications/Bitrix24.app, version 14.0.16, on versionKey CFBundleShortVersionString
2022-08-22 16:23:57 : REQ   : bitrix24 : Installed Bitrix24, version 14.0.16
2022-08-22 16:23:57 : INFO  : bitrix24 : notifying
2022-08-22 16:23:58 : INFO  : bitrix24 : App not closed, so no reopen.
2022-08-22 16:23:58 : REQ   : bitrix24 : All done!
2022-08-22 16:23:58 : REQ   : bitrix24 : ################## End Installomator, exit code 0
2022-08-22 16:25:12 +01:00
Søren Theilgaard
84da5ac168 Update alephone.sh 2022-08-22 11:43:13 +02:00
Liam Steckler
faffd059db Add newline at end of file 2022-08-19 09:10:52 -07:00
Liam Steckler
d864c8e410 Add splashtopbusiness label 2022-08-19 09:07:52 -07:00
Søren Theilgaard
a8ba97b87e One $ too many 2022-08-19 15:08:42 +02:00
Søren Theilgaard
25c39caafc Also without archiveName
… do we only need on line result.

So `tail -1` has been added to the other part as well.

Several labels failed in test.
2022-08-19 15:07:44 +02:00
Søren Theilgaard
9c155d3fed WIth archiveName 2022-08-19 14:30:41 +02:00
Søren Theilgaard
780bc3924b Minor change if archiveName is used
Only return the last URL, if more lines are returned on the `archiveName` grep.
2022-08-19 14:30:29 +02:00
Søren Theilgaard
759974f051 cocoapods labels 2022-08-19 14:13:41 +02:00
Søren Theilgaard
cd441c88d9 bz2 support
as tbz.
2022-08-19 14:13:31 +02:00
Søren Theilgaard
de55a96e9c bz2 support 2022-08-19 14:09:46 +02:00
Søren Theilgaard
dcfd7d8328 More Dialog messages 2022-08-19 11:19:12 +02:00
Søren Theilgaard
7bf47ff9e5 Dialog update when app is already at the latest version
Not sure I use the correct values in the `updateDialog` call, but it works fine.
2022-08-19 11:10:04 +02:00
Fletcher Salesky
3d3114515a Create zoomoutlookplugin.sh 2022-08-17 15:28:26 -07:00
Fletcher Salesky
f124e2321b Create egnytecore.sh 2022-08-17 11:23:48 -07:00
Søren Theilgaard
a3db297935 archiveName had to be used.
```
% /Users/st/Documents/GitHub/Installomator-theile/utils/assemble.sh mongodbcompass DEBUG=2
2022-08-17 09:22:32 : INFO  : mongodbcompass : setting variable from argument DEBUG=2
2022-08-17 09:22:32 : REQ   : mongodbcompass : ################## Start Installomator v. 10.0beta1, date 2022-08-17
2022-08-17 09:22:32 : INFO  : mongodbcompass : ################## Version: 10.0beta1
2022-08-17 09:22:32 : INFO  : mongodbcompass : ################## Date: 2022-08-17
2022-08-17 09:22:32 : INFO  : mongodbcompass : ################## mongodbcompass
2022-08-17 09:22:32 : DEBUG : mongodbcompass : DEBUG mode 2 enabled.
2022-08-17 09:22:35 : INFO  : mongodbcompass : BLOCKING_PROCESS_ACTION=tell_user
2022-08-17 09:22:35 : INFO  : mongodbcompass : NOTIFY=success
2022-08-17 09:22:35 : INFO  : mongodbcompass : LOGGING=DEBUG
2022-08-17 09:22:35 : INFO  : mongodbcompass : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-17 09:22:35 : INFO  : mongodbcompass : Label type: dmg
2022-08-17 09:22:35 : INFO  : mongodbcompass : archiveName: mongodb-compass-[0-9.]*-darwin-x64.dmg
2022-08-17 09:22:35 : INFO  : mongodbcompass : no blocking processes defined, using MongoDB Compass as default
2022-08-17 09:22:35 : DEBUG : mongodbcompass : Changing directory to /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.lH2tEMCm
2022-08-17 09:22:35 : INFO  : mongodbcompass : name: MongoDB Compass, appName: MongoDB Compass.app
2022-08-17 09:22:35 : WARN  : mongodbcompass : No previous app found
2022-08-17 09:22:35 : WARN  : mongodbcompass : could not find MongoDB Compass.app
2022-08-17 09:22:35 : INFO  : mongodbcompass : appversion:
2022-08-17 09:22:35 : INFO  : mongodbcompass : Latest version of MongoDB Compass is 1.32.6
2022-08-17 09:22:35 : REQ   : mongodbcompass : Downloading https://github.com/mongodb-js/compass/releases/download/v1.32.6/mongodb-compass-1.32.6-darwin-x64.dmg to mongodb-compass-[0-9.]*-darwin-x64.dmg
2022-08-17 09:22:35 : DEBUG : mongodbcompass : No Dialog connection, just download
2022-08-17 09:23:05 : DEBUG : mongodbcompass : File list: -rw-r--r--  1 st  staff   105M 17 Aug 09:23 mongodb-compass-[0-9.]*-darwin-x64.dmg
2022-08-17 09:23:05 : DEBUG : mongodbcompass : File type: mongodb-compass-[0-9.]*-darwin-x64.dmg: zlib compressed data
2022-08-17 09:23:05 : DEBUG : mongodbcompass : curl output was:
*   Trying 140.82.121.3:443...
* Connected to github.com (140.82.121.3) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [315 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2459 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [80 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=github.com
*  start date: Mar 15 00:00:00 2022 GMT
*  expire date: Mar 15 23:59:59 2023 GMT
*  subjectAltName: host "github.com" matched cert's "github.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS Hybrid ECC SHA384 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x142012c00)
> GET /mongodb-js/compass/releases/download/v1.32.6/mongodb-compass-1.32.6-darwin-x64.dmg HTTP/2
> Host: github.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 302
< server: GitHub.com
< date: Wed, 17 Aug 2022 07:22:36 GMT
< content-type: text/html; charset=utf-8
< vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With
< permissions-policy: interest-cohort=()
< location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/31547508/5fee7e2d-c3c9-4050-ba74-3892430d8a44?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220817%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220817T072235Z&X-Amz-Expires=300&X-Amz-Signature=2a550fc170267b51db8bcd950adde582106a9960e884920427cc94179d3f7a52&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=31547508&response-content-disposition=attachment%3B%20filename%3Dmongodb-compass-1.32.6-darwin-x64.dmg&response-content-type=application%2Foctet-stream
< cache-control: no-cache
< strict-transport-security: max-age=31536000; includeSubdomains; preload
< x-frame-options: deny
< x-content-type-options: nosniff
< x-xss-protection: 0
< referrer-policy: no-referrer-when-downgrade
< expect-ct: max-age=2592000, report-uri="https://api.github.com/_private/browser/errors"
< content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events *.actions.githubusercontent.com wss://*.actions.githubusercontent.com online.visualstudio.com/api/v1/locations github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src render.githubusercontent.com viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com identicons.github.com github-cloud.s3.amazonaws.com secured-user-images.githubusercontent.com/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/
< content-length: 0
< x-github-request-id: D389:9E70:5C847:B141B:62FC973B
<
{ [0 bytes data]
* Connection #0 to host github.com left intact
* Issue another request to this URL: 'https://objects.githubusercontent.com/github-production-release-asset-2e65be/31547508/5fee7e2d-c3c9-4050-ba74-3892430d8a44?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220817%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220817T072235Z&X-Amz-Expires=300&X-Amz-Signature=2a550fc170267b51db8bcd950adde582106a9960e884920427cc94179d3f7a52&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=31547508&response-content-disposition=attachment%3B%20filename%3Dmongodb-compass-1.32.6-darwin-x64.dmg&response-content-type=application%2Foctet-stream'
*   Trying 185.199.108.133:443...
* Connected to objects.githubusercontent.com (185.199.108.133) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [334 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [3051 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=GitHub, Inc.; CN=*.github.io
*  start date: Mar 18 00:00:00 2022 GMT
*  expire date: Mar 21 23:59:59 2023 GMT
*  subjectAltName: host "objects.githubusercontent.com" matched cert's "*.githubusercontent.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x142012c00)
> GET /github-production-release-asset-2e65be/31547508/5fee7e2d-c3c9-4050-ba74-3892430d8a44?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220817%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220817T072235Z&X-Amz-Expires=300&X-Amz-Signature=2a550fc170267b51db8bcd950adde582106a9960e884920427cc94179d3f7a52&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=31547508&response-content-disposition=attachment%3B%20filename%3Dmongodb-compass-1.32.6-darwin-x64.dmg&response-content-type=application%2Foctet-stream HTTP/2
> Host: objects.githubusercontent.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 200
< content-type: application/octet-stream
< content-md5: YVXRK4TfSa4JKJtuG+byVg==
< last-modified: Thu, 04 Aug 2022 13:18:01 GMT
< etag: "0x8DA761BC2004D97"
< server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
< x-ms-request-id: f21174ed-101e-0038-630a-b286a5000000
< x-ms-version: 2020-04-08
< x-ms-creation-time: Thu, 04 Aug 2022 13:18:01 GMT
< x-ms-lease-status: unlocked
< x-ms-lease-state: available
< x-ms-blob-type: BlockBlob
< content-disposition: attachment; filename=mongodb-compass-1.32.6-darwin-x64.dmg
< x-ms-server-encrypted: true
< fastly-restarts: 1
< accept-ranges: bytes
< age: 0
< date: Wed, 17 Aug 2022 07:22:36 GMT
< via: 1.1 varnish
< x-served-by: cache-cph2320026-CPH
< x-cache: MISS
< x-cache-hits: 0
< x-timer: S1660720956.256578,VS0,VE286
< content-length: 109941343
<
{ [1369 bytes data]
* Connection #1 to host objects.githubusercontent.com left intact

2022-08-17 09:23:05 : REQ   : mongodbcompass : no more blocking processes, continue with update
2022-08-17 09:23:05 : REQ   : mongodbcompass : Installing MongoDB Compass
2022-08-17 09:23:05 : INFO  : mongodbcompass : Mounting /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.lH2tEMCm/mongodb-compass-[0-9.]*-darwin-x64.dmg
2022-08-17 09:23:10 : DEBUG : mongodbcompass : Debugging enabled, dmgmount output was:
Beregner checksum af Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: kontrolleret   CRC32 $CE7C9421
Beregner checksum af GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): kontrolleret   CRC32 $B0665E30
Beregner checksum af GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: kontrolleret   CRC32 $554080CE
Beregner checksum af  (Apple_Free : 3)…
(Apple_Free : 3): kontrolleret   CRC32 $00000000
Beregner checksum af disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): kontrolleret   CRC32 $B7372FDD
Beregner checksum af  (Apple_Free : 5)…
(Apple_Free : 5): kontrolleret   CRC32 $00000000
Beregner checksum af GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: kontrolleret   CRC32 $554080CE
Beregner checksum af GPT Header (Backup GPT Header : 7)…
GPT Header (Backup GPT Header : 7): kontrolleret   CRC32 $412D19E4
kontrolleret   CRC32 $985F83BF
/dev/disk5          	GUID_partition_scheme
/dev/disk5s1        	Apple_HFS                      	/Volumes/MongoDB Compass

2022-08-17 09:23:10 : INFO  : mongodbcompass : Mounted: /Volumes/MongoDB Compass
2022-08-17 09:23:10 : INFO  : mongodbcompass : Verifying: /Volumes/MongoDB Compass/MongoDB Compass.app
updateDialog:26: no such file or directory:
2022-08-17 09:23:10 : DEBUG : mongodbcompass : App size: 267M	/Volumes/MongoDB Compass/MongoDB Compass.app
2022-08-17 09:23:12 : DEBUG : mongodbcompass : Debugging enabled, App Verification output was:
/Volumes/MongoDB Compass/MongoDB Compass.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: MongoDB, Inc. (4XWMY46275)

2022-08-17 09:23:12 : INFO  : mongodbcompass : Team ID matching: 4XWMY46275 (expected: 4XWMY46275 )
2022-08-17 09:23:12 : INFO  : mongodbcompass : Installing MongoDB Compass version 1.32.6 on versionKey CFBundleShortVersionString.
2022-08-17 09:23:12 : INFO  : mongodbcompass : App has LSMinimumSystemVersion: 10.11.0
2022-08-17 09:23:12 : DEBUG : mongodbcompass : DEBUG mode 2 enabled, not installing anything, exiting
2022-08-17 09:23:12 : DEBUG : mongodbcompass : Unmounting /Volumes/MongoDB Compass
2022-08-17 09:23:12 : DEBUG : mongodbcompass : Debugging enabled, Unmounting output was:
"disk5" ejected.
2022-08-17 09:23:12 : DEBUG : mongodbcompass : Deleting /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.lH2tEMCm
2022-08-17 09:23:12 : DEBUG : mongodbcompass : Debugging enabled, Deleting tmpDir output was:
/var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.lH2tEMCm/mongodb-compass-[0-9.]*-darwin-x64.dmg
2022-08-17 09:23:12 : DEBUG : mongodbcompass : /var/folders/gy/vrjt7sl52t9ghzn1lnttjtg40000gp/T/tmp.lH2tEMCm
2022-08-17 09:23:12 : INFO  : mongodbcompass : App not closed, so no reopen.
2022-08-17 09:23:12 : INFO  : mongodbcompass :
2022-08-17 09:23:12 : REQ   : mongodbcompass : ################## End Installomator, exit code 0
```
2022-08-17 09:26:30 +02:00
Søren Theilgaard
cfa05aa902 Create mongodbcompass.sh 2022-08-17 09:14:32 +02:00
Mike Matter
87cdb11039 Workspace ONE Support
Revised PR for Workspace ONE support.
2022-08-16 15:18:04 -05:00
Armin Briegel
b44fe47bf0 moved label from repo root to proper folder, see #651 2022-08-16 16:19:40 +02:00
Armin Briegel
0d3831d074 Update Installomator.sh 2022-08-16 16:16:55 +02:00
Adam Codega
834780a294 Merge pull request #651 from Installomator/revert-541-NewLabel-GoogleAdsEditor
Revert "New label: Google Ads Editor"
2022-08-16 09:17:35 -04:00
Adam Codega
7f0ba6d690 Revert "New label: Google Ads Editor" 2022-08-16 09:16:35 -04:00
Armin Briegel
f28f24b0cd Merge branch 'main' of github.com:Installomator/Installomator 2022-08-12 17:05:55 +02:00
Armin Briegel
b210d94b0c Merge branch 'main' into dev 2022-08-12 17:04:50 +02:00
Armin Briegel
e7c72349d0 preparing for 10beta1 release 2022-08-12 17:01:34 +02:00
Armin Briegel
58ee21152c Merge pull request #641 from scriptingosx/swiftdialog
swiftDialog Integration
2022-08-12 16:35:40 +02:00
Armin Briegel
d46ee662cd Merge pull request #645 from scriptingosx/vmware-horizon
updates vmwarehorizonclient
2022-08-12 16:34:41 +02:00
Armin Briegel
d5cbee8cb7 Merge pull request #643 from scriptingosx/exitcodes
updated redundant exit codes
2022-08-12 16:34:22 +02:00
Armin Briegel
f07a77de33 Merge pull request #576 from unfo33/patch-1
Update grammarly.sh
2022-08-12 16:32:31 +02:00
Armin Briegel
cfffd74cca Merge pull request #585 from FletcherS7/update-wireshark-label
Update Wireshark download URL
2022-08-12 16:32:02 +02:00
Armin Briegel
b7b7958137 Merge pull request #563 from FletcherS7/update-google-drive-label
Update Google Drive Label
2022-08-12 16:30:33 +02:00
Armin Briegel
fb5e7ea2b4 Merge pull request #548 from FletcherS7/label-duodevicehealth
New Label: Duo Device Health
2022-08-12 16:29:38 +02:00
Armin Briegel
819e812726 Merge pull request #545 from buckbanzai/add-ipswupdater
Add ipswupdater label using JSON parsing
2022-08-12 16:29:13 +02:00
Armin Briegel
30e63cecc7 Merge pull request #541 from MacMike077/NewLabel-GoogleAdsEditor
New label: Google Ads Editor
2022-08-12 16:28:35 +02:00
Armin Briegel
d259228aa1 Merge pull request #538 from MacMike077/NewLabel-Prune
Create prune.sh
2022-08-12 16:28:08 +02:00
Armin Briegel
78e4a8a5cb Merge pull request #536 from buckbanzai/talkdeskcallbar-jxa-json
Update talkdeskcallbar to use JSON parsing
2022-08-12 16:27:50 +02:00
Armin Briegel
c2fbc23396 Merge pull request #537 from buckbanzai/talkdeskcxcloud-jxa-json
Update talkdeskcxcloud to use JSON parsing
2022-08-12 16:27:28 +02:00
Armin Briegel
d02b2e6198 updates vmwarehorizonclient, closes #511 2022-08-12 16:22:53 +02:00
Armin Briegel
75fb56f9a5 Merge pull request #593 from mrazishere/patch-1
Update sublimetext.sh
2022-08-12 16:12:36 +02:00
Armin Briegel
a00997ef46 Merge pull request #543 from Installomator/GitHub-calls-without-API
GitHub without API calls
2022-08-12 14:56:12 +02:00
Armin Briegel
77a3bdeb8e Merge pull request #473 from scriptsandthings/dev
Added BlueJeans Events by Verizon label
2022-08-12 14:54:13 +02:00
Armin Briegel
46d47bc60f Merge pull request #493 from acodega/acodega-AgnosticInstall
Add simple, no prerequisite install script installInstallomator.sh
2022-08-12 14:48:30 +02:00
Armin Briegel
1477457155 updated redundant exit codes, closes #561
See also: https://github.com/Installomator/Installomator/wiki/Installomator-Exit-Codes
2022-08-12 13:47:44 +02:00
Søren Theilgaard
45112e3f32 Create xcreds.sh
## Great solution for IdP Password Syncing by TwoCanoes!

XCreds works by keeping your local Mac password in sync with your Identity Provider password. If you use Azure or Google or another identity provider, XCreds will make sure the password is the same. XCreds runs in the background and checks if the cloud password has been changed. If it detects the password has changed, it prompts to log in to the cloud provider and updates the local password and the keychain password automatically.

```
% GitHub/Installomator/utils/assemble.sh xcreds DEBUG=0
2022-08-12 09:25:38 : WARN  : xcreds : setting variable from argument DEBUG=0
2022-08-12 09:25:38 : REQ   : xcreds : ################## Start Installomator v. 10.0beta, date 2022-08-12
2022-08-12 09:25:38 : INFO  : xcreds : ################## Version: 10.0beta
2022-08-12 09:25:38 : INFO  : xcreds : ################## Date: 2022-08-12
2022-08-12 09:25:38 : INFO  : xcreds : ################## xcreds
2022-08-12 09:25:38 : INFO  : xcreds : BLOCKING_PROCESS_ACTION=tell_user
2022-08-12 09:25:38 : INFO  : xcreds : NOTIFY=success
2022-08-12 09:25:38 : INFO  : xcreds : LOGGING=INFO
2022-08-12 09:25:38 : INFO  : xcreds : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-12 09:25:38 : INFO  : xcreds : Label type: pkg
2022-08-12 09:25:38 : INFO  : xcreds : archiveName: XCreds.pkg
2022-08-12 09:25:38 : INFO  : xcreds : no blocking processes defined, using XCreds as default
2022-08-12 09:25:38 : INFO  : xcreds : No version found using packageID com.twocanoes.pkg.secureremoteaccess
2022-08-12 09:25:38 : INFO  : xcreds : name: XCreds, appName: XCreds.app
2022-08-12 09:25:38 : WARN  : xcreds : No previous app found
2022-08-12 09:25:38 : WARN  : xcreds : could not find XCreds.app
2022-08-12 09:25:38 : INFO  : xcreds : appversion:
2022-08-12 09:25:38 : INFO  : xcreds : Latest version of XCreds is 1.0.0
2022-08-12 09:25:38 : REQ   : xcreds : Downloading https://github.com/twocanoes/xcreds/releases/download/v1.0.0/XCreds_1_0_0_Build-1272_Version.pkg to XCreds.pkg
2022-08-12 09:25:39 : REQ   : xcreds : no more blocking processes, continue with update
2022-08-12 09:25:39 : REQ   : xcreds : Installing XCreds
2022-08-12 09:25:39 : INFO  : xcreds : Verifying: XCreds.pkg
2022-08-12 09:25:39 : INFO  : xcreds : Team ID: UXP6YEHSPW (expected: UXP6YEHSPW )
2022-08-12 09:25:39 : INFO  : xcreds : Installing XCreds.pkg to /
2022-08-12 09:25:42 : INFO  : xcreds : Finishing...
2022-08-12 09:25:52 : INFO  : xcreds : found packageID com.twocanoes.pkg.secureremoteaccess installed, version 1.2
2022-08-12 09:25:52 : REQ   : xcreds : Installed XCreds, version 1.2
2022-08-12 09:25:52 : INFO  : xcreds : notifying
2022-08-12 09:25:52 : INFO  : xcreds : App not closed, so no reopen.
2022-08-12 09:25:52 : REQ   : xcreds : All done!
2022-08-12 09:25:52 : REQ   : xcreds : ################## End Installomator, exit code 0
```
2022-08-12 09:31:04 +02:00
Armin Briegel
ef19aa28fe added a sleep before the killall to give SD time to quit 2022-08-11 16:54:04 +02:00
Armin Briegel
614da59311 removed --ontop because it hogs the UI on updates 2022-08-11 16:53:39 +02:00
Armin Briegel
dff9dd5a03 fixed typo 2022-08-11 15:01:59 +02:00
Armin Briegel
cc5326ce24 more cleanup and comments 2022-08-11 14:15:50 +02:00
Armin Briegel
0656aa67e3 code cleanup 2022-08-11 14:05:45 +02:00
Armin Briegel
8862c4a1e7 added ReadMe 2022-08-11 14:05:39 +02:00
Armin Briegel
52a9117de8 added sample policy scripts 2022-08-11 13:13:57 +02:00
Armin Briegel
e1ad0c0132 fixed logic error and added --mini window for dialog 2022-08-10 14:54:51 +02:00
Armin Briegel
92a4c4f3cb fixed dialog check 2022-08-03 10:46:47 +02:00
Armin Briegel
629aa22017 added single app example for SwiftDialog 2022-08-03 09:02:38 +02:00
Armin Briegel
a094ffca67 now shows verifying step, code cleanup 2022-08-02 17:04:35 +02:00
Armin Briegel
719ca81bcb fixed wrong status icons 2022-08-02 16:51:56 +02:00
Armin Briegel
a308ccbc29 code cleanup 2022-08-02 14:51:18 +02:00
dnikles
ddf5e6da29 use getJSONValue
replace sed json parsing with getJSONValue
2022-08-01 13:28:26 -04:00
dnikles
9b5f408c8f Merge branch 'Installomator:main' into cricutdesignspace 2022-08-01 12:42:09 -04:00
Armin Briegel
1d49c08344 now displays installer progress in list and main 2022-08-01 14:44:51 +02:00
dnikles
32c0cba0f2 Fix download URL
2022-08-01 08:09:07 : WARN  : cricutdesignspace : setting variable from argument DEBUG=0
2022-08-01 08:09:07 : WARN  : cricutdesignspace : setting variable from argument INSTALL=FORCE
2022-08-01 08:09:07 : REQ   : cricutdesignspace : ################## Start Installomator v. 10.0beta, date 2022-08-01
2022-08-01 08:09:07 : INFO  : cricutdesignspace : ################## Version: 10.0beta
2022-08-01 08:09:07 : INFO  : cricutdesignspace : ################## Date: 2022-08-01
2022-08-01 08:09:07 : INFO  : cricutdesignspace : ################## cricutdesignspace
2022-08-01 08:09:07 : INFO  : cricutdesignspace : BLOCKING_PROCESS_ACTION=tell_user
2022-08-01 08:09:07 : INFO  : cricutdesignspace : NOTIFY=success
2022-08-01 08:09:08 : INFO  : cricutdesignspace : LOGGING=INFO
2022-08-01 08:09:08 : INFO  : cricutdesignspace : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-08-01 08:09:08 : INFO  : cricutdesignspace : Label type: dmg
2022-08-01 08:09:08 : INFO  : cricutdesignspace : archiveName: Cricut Design Space.dmg
2022-08-01 08:09:08 : INFO  : cricutdesignspace : no blocking processes defined, using Cricut Design Space as default
2022-08-01 08:09:08 : INFO  : cricutdesignspace : name: Cricut Design Space, appName: Cricut Design Space.app
2022-08-01 08:09:08 : WARN  : cricutdesignspace : No previous app found
2022-08-01 08:09:08 : WARN  : cricutdesignspace : could not find Cricut Design Space.app
2022-08-01 08:09:08 : INFO  : cricutdesignspace : appversion:
2022-08-01 08:09:08 : INFO  : cricutdesignspace : Latest version of Cricut Design Space is 7.13.105
2022-08-01 08:09:08 : REQ   : cricutdesignspace : Downloading https://staticcontent.cricut.com/a/software-su/osx-native/CricutDesignSpace-Install-v7.13.105.dmg?Expires=1659356347&Signature=BlbBAkkEVQCEriXctLh526YzkJFGAEw85lAp30VW3YsjM135dLYVtk0SzPKOCZwVOFD0Dj6H6JgKCH-ZyGt-kCih93IMhAclNPkxWWvCPUDMNgk9KR201OarloRoW8RgDfotP-q9pRkH8xbnBIQXfL2ogxeNDKA00eNazmUJJ7EqjGIwG7CFM3MUVaIaZiqBcpn1wo7aXvdvsY0y066RMRhA8RsTTKTBilc6z8Ah7TnTZZQLVtf9pgpCwNXk6L6eyoapXbnikkJW4gZqx1o7rKSatLsi7jj48LAi-LQprIfykt-dBP7wUFl0SKcQCuad~XB0Nh0qeUoTQXbjrS5Znw__&Key-Pair-Id=K2W1AJ47IQWIOI to Cricut Design Space.dmg
2022-08-01 08:09:14 : REQ   : cricutdesignspace : no more blocking processes, continue with update
2022-08-01 08:09:14 : REQ   : cricutdesignspace : Installing Cricut Design Space
2022-08-01 08:09:14 : INFO  : cricutdesignspace : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.vbh4immF/Cricut Design Space.dmg
2022-08-01 08:09:17 : INFO  : cricutdesignspace : Mounted: /Volumes/Cricut Design Space Install
2022-08-01 08:09:17 : INFO  : cricutdesignspace : Verifying: /Volumes/Cricut Design Space Install/Cricut Design Space.app
2022-08-01 08:09:18 : INFO  : cricutdesignspace : Team ID matching: 25627ZFVT7 (expected: 25627ZFVT7 )
2022-08-01 08:09:18 : INFO  : cricutdesignspace : Installing Cricut Design Space version 7.13.105 on versionKey CFBundleShortVersionString.
2022-08-01 08:09:18 : INFO  : cricutdesignspace : App has LSMinimumSystemVersion: 10.11.0
2022-08-01 08:09:18 : INFO  : cricutdesignspace : Copy /Volumes/Cricut Design Space Install/Cricut Design Space.app to /Applications
2022-08-01 08:09:19 : WARN  : cricutdesignspace : Changing owner to dnikles
2022-08-01 08:09:19 : INFO  : cricutdesignspace : Finishing...
2022-08-01 08:09:29 : INFO  : cricutdesignspace : App(s) found: /Applications/Cricut Design Space.app
2022-08-01 08:09:29 : INFO  : cricutdesignspace : found app at /Applications/Cricut Design Space.app, version 7.13.105, on versionKey CFBundleShortVersionString
2022-08-01 08:09:29 : REQ   : cricutdesignspace : Installed Cricut Design Space, version 7.13.105
2022-08-01 08:09:29 : INFO  : cricutdesignspace : notifying
2022-08-01 08:09:30 : INFO  : cricutdesignspace : App not closed, so no reopen.
2022-08-01 08:09:30 : REQ   : cricutdesignspace : All done!
2022-08-01 08:09:30 : REQ   : cricutdesignspace : ################## End Installomator, exit code 0
2022-08-01 08:10:20 -04:00
Armin Briegel
4905091908 list item update working with swiftdialog Alpha 1.12.0.3169 2022-08-01 08:39:03 +02:00
Armin Briegel
720128f23a does not download swiftui if it is already there 2022-07-29 19:34:21 +02:00
Armin Briegel
19e59fc36c created swiftdialog_example.sh 2022-07-29 18:47:51 +02:00
Armin Briegel
0063c0e025 created swiftdialog_example.sh 2022-07-29 18:47:28 +02:00
Armin Briegel
ef3113a05f changed variable names to match standards 2022-07-29 15:20:22 +02:00
Fredrik Larsson
0460aa2724 Created Zotero label
Output:
```
2022-07-29 08:44:17 : WARN  : zotero : setting variable from argument DEBUG=0
2022-07-29 08:44:17 : REQ   : zotero : ################## Start Installomator v. 10.0beta, date 2022-07-29
2022-07-29 08:44:17 : INFO  : zotero : ################## Version: 10.0beta
2022-07-29 08:44:17 : INFO  : zotero : ################## Date: 2022-07-29
2022-07-29 08:44:17 : INFO  : zotero : ################## zotero
2022-07-29 08:44:18 : INFO  : zotero : BLOCKING_PROCESS_ACTION=tell_user
2022-07-29 08:44:19 : INFO  : zotero : NOTIFY=success
2022-07-29 08:44:19 : INFO  : zotero : LOGGING=INFO
2022-07-29 08:44:19 : INFO  : zotero : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-29 08:44:19 : INFO  : zotero : Label type: dmg
2022-07-29 08:44:19 : INFO  : zotero : archiveName: Zotero.dmg
2022-07-29 08:44:19 : INFO  : zotero : no blocking processes defined, using Zotero as default
2022-07-29 08:44:19 : INFO  : zotero : name: Zotero, appName: Zotero.app
2022-07-29 08:44:19 : WARN  : zotero : No previous app found
2022-07-29 08:44:19 : WARN  : zotero : could not find Zotero.app
2022-07-29 08:44:19 : INFO  : zotero : appversion:
2022-07-29 08:44:19 : INFO  : zotero : Latest version of Zotero is 6.0.11
2022-07-29 08:44:19 : REQ   : zotero : Downloading https://www.zotero.org/download/client/dl?channel=release&platform=mac&version=6.0.11 to Zotero.dmg
2022-07-29 08:44:22 : REQ   : zotero : no more blocking processes, continue with update
2022-07-29 08:44:22 : REQ   : zotero : Installing Zotero
2022-07-29 08:44:22 : INFO  : zotero : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.2kvEQHFJ/Zotero.dmg
2022-07-29 08:44:26 : INFO  : zotero : Mounted: /Volumes/Zotero
2022-07-29 08:44:26 : INFO  : zotero : Verifying: /Volumes/Zotero/Zotero.app
2022-07-29 08:44:32 : INFO  : zotero : Team ID matching: 8LAYR367YV (expected: 8LAYR367YV )
2022-07-29 08:44:32 : INFO  : zotero : Installing Zotero version 6.0.11 on versionKey CFBundleShortVersionString.
2022-07-29 08:44:32 : INFO  : zotero : App has LSMinimumSystemVersion: 10.9.0
2022-07-29 08:44:32 : INFO  : zotero : Copy /Volumes/Zotero/Zotero.app to /Applications
2022-07-29 08:44:39 : WARN  : zotero : Changing owner to kryptonit
2022-07-29 08:44:39 : INFO  : zotero : Finishing...
2022-07-29 08:44:49 : INFO  : zotero : App(s) found: /Applications/Zotero.app
2022-07-29 08:44:49 : INFO  : zotero : found app at /Applications/Zotero.app, version 6.0.11, on versionKey CFBundleShortVersionString
2022-07-29 08:44:49 : REQ   : zotero : Installed Zotero, version 6.0.11
2022-07-29 08:44:49 : INFO  : zotero : notifying
2022-07-29 08:44:50 : INFO  : zotero : App not closed, so no reopen.
2022-07-29 08:44:50 : REQ   : zotero : All done!
2022-07-29 08:44:50 : REQ   : zotero : ################## End Installomator, exit code 0
```
2022-07-29 08:48:27 +02:00
Fletcher Salesky
2a1b7056c9 Create nudgesuite.sh 2022-07-28 11:19:42 -07:00
Bart Reardon
dfe9860848 fixed doubleup of value. added dialog complete action to cleanup tasks 2022-07-26 14:00:13 +10:00
Bart Reardon
84e0d5d263 playing with the look of the dialog 2022-07-26 13:12:15 +10:00
Bart Reardon
18638141b6 Initial go at integrating swiftDialog into Installomator to give progress of downoad and install of applications 2022-07-26 12:26:56 +10:00
macmangr
d0d3510689 New Label: Archiware P5 Backup2Go
"P5 Backup2Go is the ideal tool to backup workstations – regardless of their location.

In the office, on the road or at home, P5 works cross-platform and allows mobile backups of laptops and desktops on central disk storage."

sudo ./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels awb2go NOTIFY=silent DEBUG=0
2022-07-13 18:11:07 : WARN  : awb2go : setting variable from argument NOTIFY=silent
2022-07-13 18:11:07 : WARN  : awb2go : setting variable from argument DEBUG=0
2022-07-13 18:11:07 : REQ   : awb2go : ################## Start Installomator v. 10.0beta, date 2022-07-13
2022-07-13 18:11:07 : INFO  : awb2go : ################## Version: 10.0beta
2022-07-13 18:11:07 : INFO  : awb2go : ################## Date: 2022-07-13
2022-07-13 18:11:07 : INFO  : awb2go : ################## awb2go
2022-07-13 18:11:07 : INFO  : awb2go : BLOCKING_PROCESS_ACTION=tell_user
2022-07-13 18:11:07 : INFO  : awb2go : NOTIFY=silent
2022-07-13 18:11:07 : INFO  : awb2go : LOGGING=INFO
2022-07-13 18:11:07 : INFO  : awb2go : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-13 18:11:07 : INFO  : awb2go : Label type: pkgInDmg
2022-07-13 18:11:07 : INFO  : awb2go : archiveName: P5 Workstation.dmg
2022-07-13 18:11:07 : INFO  : awb2go : no blocking processes defined, using P5 Workstation as default
2022-07-13 18:11:08 : INFO  : awb2go : found packageID com.archiware.presstore installed, version 7.0.6
2022-07-13 18:11:08 : INFO  : awb2go : appversion: 7.0.6
2022-07-13 18:11:08 : INFO  : awb2go : Latest version of P5 Workstation is 7.0.7
2022-07-13 18:11:08 : REQ   : awb2go : Downloading https://p5-downloads.s3.amazonaws.com/awpst707-darwin.dmg to P5 Workstation.dmg
2022-07-13 18:11:27 : REQ   : awb2go : no more blocking processes, continue with update
2022-07-13 18:11:27 : REQ   : awb2go : Installing P5 Workstation
2022-07-13 18:11:27 : INFO  : awb2go : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.Lw7ac9Pw/P5 Workstation.dmg
2022-07-13 18:11:28 : INFO  : awb2go : Mounted: /Volumes/P5-707
2022-07-13 18:11:28 : INFO  : awb2go : found pkg: /Volumes/P5-707/B2Go-Workstation/P5-Workstation-707-Install.pkg
2022-07-13 18:11:28 : INFO  : awb2go : Verifying: /Volumes/P5-707/B2Go-Workstation/P5-Workstation-707-Install.pkg
2022-07-13 18:11:28 : INFO  : awb2go : Team ID: 5H5EU6F965 (expected: 5H5EU6F965 )
2022-07-13 18:11:28 : INFO  : awb2go : Checking package version.
2022-07-13 18:11:28 : INFO  : awb2go : Downloaded package com.archiware.presstore version
2022-07-13 18:11:28 : INFO  : awb2go : Installing /Volumes/P5-707/B2Go-Workstation/P5-Workstation-707-Install.pkg to /
2022-07-13 18:12:01 : INFO  : awb2go : Finishing...
2022-07-13 18:12:11 : INFO  : awb2go : found packageID com.archiware.presstore installed, version 7.0.7
2022-07-13 18:12:11 : REQ   : awb2go : Installed P5 Workstation, version 7.0.7
2022-07-13 18:12:12 : INFO  : awb2go : App not closed, so no reopen.
2022-07-13 18:12:12 : REQ   : awb2go : All done!
2022-07-13 18:12:12 : REQ   : awb2go : ################## End Installomator, exit code 0
2022-07-13 18:14:42 +02:00
macmangr
e4cff5821d New Label: Archiware P5
"Archiware's P5 Software Suite is ideal for businesses in the Media and Entertainment industry.
Four modules in the Archiware P5 Suite secure data using the A-B-C of data management: Archive, Backup and Cloning.
All modules can be combined to create multiple-step security concepts to achieve maximum data protection.
Archiware P5 secures data to disk, tape and cloud and has integrations with numerous partners."

sudo ./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels awpst NOTIFY=silent DEBUG=0
Password:
2022-07-13 17:46:07 : WARN  : awpst : setting variable from argument NOTIFY=silent
2022-07-13 17:46:07 : WARN  : awpst : setting variable from argument DEBUG=0
2022-07-13 17:46:07 : REQ   : awpst : ################## Start Installomator v. 10.0beta, date 2022-07-13
2022-07-13 17:46:07 : INFO  : awpst : ################## Version: 10.0beta
2022-07-13 17:46:07 : INFO  : awpst : ################## Date: 2022-07-13
2022-07-13 17:46:07 : INFO  : awpst : ################## awpst
2022-07-13 17:46:07 : INFO  : awpst : BLOCKING_PROCESS_ACTION=tell_user
2022-07-13 17:46:07 : INFO  : awpst : NOTIFY=silent
2022-07-13 17:46:07 : INFO  : awpst : LOGGING=INFO
2022-07-13 17:46:07 : INFO  : awpst : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-13 17:46:07 : INFO  : awpst : Label type: pkgInDmg
2022-07-13 17:46:07 : INFO  : awpst : archiveName: P5.dmg
2022-07-13 17:46:07 : INFO  : awpst : no blocking processes defined, using P5 as default
2022-07-13 17:46:07 : INFO  : awpst : found packageID com.archiware.presstore installed, version 7.0.6
2022-07-13 17:46:07 : INFO  : awpst : appversion: 7.0.6
2022-07-13 17:46:07 : INFO  : awpst : Latest version of P5 is 7.0.7
2022-07-13 17:46:07 : REQ   : awpst : Downloading https://p5-downloads.s3.amazonaws.com/awpst707-darwin.dmg to P5.dmg
2022-07-13 17:46:27 : REQ   : awpst : no more blocking processes, continue with update
2022-07-13 17:46:27 : REQ   : awpst : Installing P5
2022-07-13 17:46:27 : INFO  : awpst : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.rwTUoQOZ/P5.dmg
2022-07-13 17:46:27 : INFO  : awpst : Mounted: /Volumes/P5-707
2022-07-13 17:46:27 : INFO  : awpst : found pkg: /Volumes/P5-707/P5-707-Install.pkg
2022-07-13 17:46:27 : INFO  : awpst : Verifying: /Volumes/P5-707/P5-707-Install.pkg
2022-07-13 17:46:28 : INFO  : awpst : Team ID: 5H5EU6F965 (expected: 5H5EU6F965 )
2022-07-13 17:46:28 : INFO  : awpst : Checking package version.
2022-07-13 17:46:28 : INFO  : awpst : Downloaded package com.archiware.presstore version
2022-07-13 17:46:28 : INFO  : awpst : Installing /Volumes/P5-707/P5-707-Install.pkg to /
2022-07-13 17:47:06 : INFO  : awpst : Finishing...
2022-07-13 17:47:16 : INFO  : awpst : found packageID com.archiware.presstore installed, version 7.0.7
2022-07-13 17:47:16 : REQ   : awpst : Installed P5, version 7.0.7
2022-07-13 17:47:16 : INFO  : awpst : App not closed, so no reopen.
2022-07-13 17:47:16 : REQ   : awpst : All done!
2022-07-13 17:47:16 : REQ   : awpst : ################## End Installomator, exit code 0
2022-07-13 18:05:44 +02:00
Tadayuki Onishi
9fb414958a santa and nomad are forced to ignore blocking
Those applications are forcibly restarted by the launch agent, resulting in infinite blocking process processing.
2022-07-12 10:54:36 +09:00
David Champion
e90dfd6d82 Add Tailscale label 2022-07-11 12:25:56 -07:00
Søren Theilgaard
c04c591a03 relatel label
Output from DEBUG mode and full installer (with force):
```
% Installomator/utils/assemble.sh relatel
2022-07-11 16:23:16 : REQ   : relatel : ################## Start Installomator v. 10.0beta, date 2022-07-11
2022-07-11 16:23:16 : INFO  : relatel : ################## Version: 10.0beta
2022-07-11 16:23:16 : INFO  : relatel : ################## Date: 2022-07-11
2022-07-11 16:23:16 : INFO  : relatel : ################## relatel
2022-07-11 16:23:16 : DEBUG : relatel : DEBUG mode 1 enabled.
2022-07-11 16:23:16 : INFO  : relatel : BLOCKING_PROCESS_ACTION=tell_user
2022-07-11 16:23:16 : INFO  : relatel : NOTIFY=success
2022-07-11 16:23:16 : INFO  : relatel : LOGGING=DEBUG
2022-07-11 16:23:16 : INFO  : relatel : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-11 16:23:16 : INFO  : relatel : Label type: dmg
2022-07-11 16:23:16 : INFO  : relatel : archiveName: Relatel.dmg
2022-07-11 16:23:16 : INFO  : relatel : no blocking processes defined, using Relatel as default
2022-07-11 16:23:16 : DEBUG : relatel : Changing directory to /Users/st/Documents/GitHub/Installomator/build
2022-07-11 16:23:16 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:23:16 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:23:16 : INFO  : relatel : appversion: 1.3.1
2022-07-11 16:23:16 : INFO  : relatel : Latest version of Relatel is 1.3.1
2022-07-11 16:23:16 : WARN  : relatel : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-11 16:23:16 : REQ   : relatel : Downloading https://cdn.rela.tel/www/public/junotron/Relatel.dmg to Relatel.dmg
2022-07-11 16:23:17 : DEBUG : relatel : File list: -rw-r--r--  1 aa  staff    83M Jul 11 16:23 Relatel.dmg
2022-07-11 16:23:17 : DEBUG : relatel : File type: Relatel.dmg: zlib compressed data
2022-07-11 16:23:17 : DEBUG : relatel : curl output was:
*   Trying 13.33.141.16:443...
* Connected to cdn.rela.tel (13.33.141.16) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [317 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4960 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=cdn.firmafon.dk
*  start date: Sep 29 00:00:00 2021 GMT
*  expire date: Oct 28 23:59:59 2022 GMT
*  subjectAltName: host "cdn.rela.tel" matched cert's "cdn.rela.tel"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x124810a00)
> GET /www/public/junotron/Relatel.dmg HTTP/2
> Host: cdn.rela.tel
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 301
< content-length: 0
< date: Mon, 11 Jul 2022 14:13:48 GMT
< location: /www/public/junotron/Relatel-1.3.1.dmg
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 7e5377bfdf5e6ef7597f63d6648e4e9a.cloudfront.net (CloudFront)
< x-amz-cf-pop: CPH50-C2
< x-amz-cf-id: thNWMtxDW2IJefosMKa0ESJTenG4AC9I5aZrCy-sTD9YSiGFtVRqgg==
< age: 569
<
{ [0 bytes data]
* Connection #0 to host cdn.rela.tel left intact
* Issue another request to this URL: 'https://cdn.rela.tel/www/public/junotron/Relatel-1.3.1.dmg'
* Found bundle for host cdn.rela.tel: 0x600001f207b0 [can multiplex]
* Re-using existing connection! (#0) with host cdn.rela.tel
* Connected to cdn.rela.tel (13.33.141.16) port 443 (#0)
* Using Stream ID: 3 (easy handle 0x124810a00)
> GET /www/public/junotron/Relatel-1.3.1.dmg HTTP/2
> Host: cdn.rela.tel
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 200
< content-type: application/x-apple-diskimage
< content-length: 86919409
< date: Mon, 11 Jul 2022 14:13:48 GMT
< last-modified: Fri, 06 May 2022 12:35:41 GMT
< x-amz-version-id: efBkRS8bwIqXqI2Z6qnBgVxSZzwUHByN
< etag: "7d26b868f87f72b3fcee9788f1cd512d-6"
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 7e5377bfdf5e6ef7597f63d6648e4e9a.cloudfront.net (CloudFront)
< x-amz-cf-pop: CPH50-C2
< x-amz-cf-id: 4tPa-qwrw0EK3XG2vb6eQrC9cV8anQvW9yNcjKvgtWdXk_-3VjWkyA==
< age: 569
<
{ [2896 bytes data]
* Connection #0 to host cdn.rela.tel left intact

2022-07-11 16:23:17 : DEBUG : relatel : DEBUG mode 1, not checking for blocking processes
2022-07-11 16:23:17 : REQ   : relatel : Installing Relatel
2022-07-11 16:23:17 : INFO  : relatel : Mounting Relatel.dmg
2022-07-11 16:23:22 : DEBUG : relatel : Debugging enabled, dmgmount output was:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified CRC32 $B84BD009
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified CRC32 $06438A51
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified CRC32 $1232986F
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified CRC32 $D4C0AB37
Checksumming GPT Partition Data (Backup GPT Table : 5)…
GPT Partition Data (Backup GPT Table: verified CRC32 $1232986F
Checksumming GPT Header (Backup GPT Header : 6)…
GPT Header (Backup GPT Header : 6): verified CRC32 $A2E62118
verified CRC32 $B53E5AB9
/dev/disk6          	GUID_partition_scheme
/dev/disk6s1        	Apple_HFS                      	/Volumes/Relatel 1.3.1

2022-07-11 16:23:22 : INFO  : relatel : Mounted: /Volumes/Relatel 1.3.1
2022-07-11 16:23:22 : INFO  : relatel : Verifying: /Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:23:22 : DEBUG : relatel : App size: 195M	/Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:23:23 : DEBUG : relatel : Debugging enabled, App Verification output was:
/Volumes/Relatel 1.3.1 1/Relatel.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Firmafon ApS (B9358QF55B)

2022-07-11 16:23:23 : INFO  : relatel : Team ID matching: B9358QF55B (expected: B9358QF55B )
2022-07-11 16:23:23 : INFO  : relatel : Downloaded version of Relatel is 1.3.1 on versionKey CFBundleShortVersionString, same as installed.
2022-07-11 16:23:23 : DEBUG : relatel : Unmounting /Volumes/Relatel 1.3.1
2022-07-11 16:23:24 : DEBUG : relatel : Debugging enabled, Unmounting output was:
"disk6" ejected.
2022-07-11 16:23:24 : DEBUG : relatel : DEBUG mode 1, not reopening anything
2022-07-11 16:23:24 : REG   : relatel : No new version to install
2022-07-11 16:23:24 : REQ   : relatel : ################## End Installomator, exit code 0

% sudo Installomator/utils/assemble.sh relatel DEBUG=0 INSTALL=force
Password:
2022-07-11 16:23:56 : WARN  : relatel : setting variable from argument DEBUG=0
2022-07-11 16:23:56 : WARN  : relatel : setting variable from argument INSTALL=force
2022-07-11 16:23:56 : REQ   : relatel : ################## Start Installomator v. 10.0beta, date 2022-07-11
2022-07-11 16:23:56 : INFO  : relatel : ################## Version: 10.0beta
2022-07-11 16:23:56 : INFO  : relatel : ################## Date: 2022-07-11
2022-07-11 16:23:56 : INFO  : relatel : ################## relatel
2022-07-11 16:23:56 : INFO  : relatel : BLOCKING_PROCESS_ACTION=tell_user
2022-07-11 16:23:56 : INFO  : relatel : NOTIFY=success
2022-07-11 16:23:56 : INFO  : relatel : LOGGING=INFO
2022-07-11 16:23:56 : INFO  : relatel : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-11 16:23:56 : INFO  : relatel : Label type: dmg
2022-07-11 16:23:56 : INFO  : relatel : archiveName: Relatel.dmg
2022-07-11 16:23:56 : INFO  : relatel : no blocking processes defined, using Relatel as default
2022-07-11 16:23:56 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:23:56 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:23:56 : INFO  : relatel : appversion: 1.3.1
2022-07-11 16:23:56 : INFO  : relatel : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-07-11 16:23:56 : INFO  : relatel : Latest version of Relatel is 1.3.1
2022-07-11 16:23:56 : INFO  : relatel : There is no newer version available.
2022-07-11 16:23:56 : REQ   : relatel : Downloading https://cdn.rela.tel/www/public/junotron/Relatel.dmg to Relatel.dmg
2022-07-11 16:23:57 : REQ   : relatel : no more blocking processes, continue with update
2022-07-11 16:23:57 : REQ   : relatel : Installing Relatel
2022-07-11 16:23:57 : INFO  : relatel : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.l86iLb4m/Relatel.dmg
2022-07-11 16:24:00 : INFO  : relatel : Mounted: /Volumes/Relatel 1.3.1
2022-07-11 16:24:00 : INFO  : relatel : Verifying: /Volumes/Relatel 1.3.1/Relatel.app
2022-07-11 16:24:01 : INFO  : relatel : Team ID matching: B9358QF55B (expected: B9358QF55B )
2022-07-11 16:24:01 : INFO  : relatel : Downloaded version of Relatel is 1.3.1 on versionKey CFBundleShortVersionString, same as installed.
2022-07-11 16:24:01 : INFO  : relatel : Using force to install anyway.
2022-07-11 16:24:01 : INFO  : relatel : App has LSMinimumSystemVersion: 10.11.0
2022-07-11 16:24:01 : WARN  : relatel : Removing existing /Applications/Relatel.app
2022-07-11 16:24:01 : INFO  : relatel : Copy /Volumes/Relatel 1.3.1/Relatel.app to /Applications
2022-07-11 16:24:02 : WARN  : relatel : Changing owner to aa
2022-07-11 16:24:02 : INFO  : relatel : Finishing...
2022-07-11 16:24:12 : INFO  : relatel : App(s) found: /Applications/Relatel.app
2022-07-11 16:24:12 : INFO  : relatel : found app at /Applications/Relatel.app, version 1.3.1, on versionKey CFBundleShortVersionString
2022-07-11 16:24:12 : REQ   : relatel : Installed Relatel, version 1.3.1
2022-07-11 16:24:12 : INFO  : relatel : notifying
2022-07-11 16:24:12 : INFO  : relatel : App not closed, so no reopen.
2022-07-11 16:24:12 : REQ   : relatel : All done!
2022-07-11 16:24:12 : REQ   : relatel : ################## End Installomator, exit code 0
```
2022-07-11 16:27:51 +02:00
macmangr
0a9957169e Update tunnelblick.sh
Added appNewVersion check
2022-07-09 13:43:52 +02:00
macmangr
72d2c4ab74 New Label: ChronoAgent
"ChronoAgent is an invisible app that runs silently in the background providing ChronoSync or InterConneX a direct connection to a remote Mac. It provides a much more secure, reliable and higher performance connection than standard file sharing. If you’re synchronizing or backing up files between two Macs, ChronoAgent is simply the best way to establish a connection between them."

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels chronoagent
2022-07-09 12:55:23 : REQ   : chronoagent : ################## Start Installomator v. 10.0beta, date 2022-07-09
2022-07-09 12:55:23 : INFO  : chronoagent : ################## Version: 10.0beta
2022-07-09 12:55:23 : INFO  : chronoagent : ################## Date: 2022-07-09
2022-07-09 12:55:23 : INFO  : chronoagent : ################## chronoagent
2022-07-09 12:55:23 : DEBUG : chronoagent : DEBUG mode 1 enabled.
2022-07-09 12:55:24 : INFO  : chronoagent : BLOCKING_PROCESS_ACTION=tell_user
2022-07-09 12:55:24 : INFO  : chronoagent : NOTIFY=success
2022-07-09 12:55:24 : INFO  : chronoagent : LOGGING=DEBUG
2022-07-09 12:55:24 : INFO  : chronoagent : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-09 12:55:24 : INFO  : chronoagent : Label type: pkgInDmg
2022-07-09 12:55:24 : INFO  : chronoagent : archiveName: ChronoAgent.dmg
2022-07-09 12:55:24 : INFO  : chronoagent : no blocking processes defined, using ChronoAgent as default
2022-07-09 12:55:24 : DEBUG : chronoagent : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-07-09 12:55:24 : INFO  : chronoagent : name: ChronoAgent, appName: ChronoAgent.app
2022-07-09 12:55:24 : WARN  : chronoagent : No previous app found
2022-07-09 12:55:24 : WARN  : chronoagent : could not find ChronoAgent.app
2022-07-09 12:55:24 : INFO  : chronoagent : appversion:
2022-07-09 12:55:24 : INFO  : chronoagent : Latest version of ChronoAgent is 2.1.0
2022-07-09 12:55:24 : INFO  : chronoagent : ChronoAgent.dmg exists and DEBUG mode 1 enabled, skipping download
2022-07-09 12:55:24 : DEBUG : chronoagent : DEBUG mode 1, not checking for blocking processes
2022-07-09 12:55:24 : REQ   : chronoagent : Installing ChronoAgent
2022-07-09 12:55:24 : INFO  : chronoagent : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/ChronoAgent.dmg
2022-07-09 12:55:25 : DEBUG : chronoagent : Debugging enabled, dmgmount output was:
Prüfsumme für whole disk (Apple_HFS : 0) berechnen …
whole disk (Apple_HFS : 0): Die überprüfte CRC32-Prüfsumme ist $46C474C3
Die überprüfte CRC32-Prüfsumme ist $40A3C999
/dev/disk4          	                               	/Volumes/ChronoAgent

2022-07-09 12:55:25 : INFO  : chronoagent : Mounted: /Volumes/ChronoAgent
2022-07-09 12:55:25 : DEBUG : chronoagent : Found pkg(s):
/Volumes/ChronoAgent/Install.pkg
2022-07-09 12:55:25 : DEBUG : chronoagent : /Volumes/ChronoAgent/Remove.pkg
2022-07-09 12:55:25 : INFO  : chronoagent : found pkg: /Volumes/ChronoAgent/Install.pkg
2022-07-09 12:55:25 : INFO  : chronoagent : Verifying: /Volumes/ChronoAgent/Install.pkg
2022-07-09 12:55:25 : DEBUG : chronoagent : File list: -rw-r--r--@ 1 savvas  staff    35M 27 Apr 14:37 /Volumes/ChronoAgent/Install.pkg
2022-07-09 12:55:25 : DEBUG : chronoagent : File type: /Volumes/ChronoAgent/Install.pkg: xar archive compressed TOC: 8440, SHA-1 checksum, contains iAPX 286 executable large model (COFF) not stripped
2022-07-09 12:55:25 : DEBUG : chronoagent : - iAPX 286 executable large model (COFF) not stripped
2022-07-09 12:55:25 : DEBUG : chronoagent : spctlOut is /Volumes/ChronoAgent/Install.pkg: accepted
2022-07-09 12:55:25 : DEBUG : chronoagent : source=Notarized Developer ID
2022-07-09 12:55:25 : DEBUG : chronoagent : origin=Developer ID Installer: Econ Technologies, Inc. (9U697UM7YX)
2022-07-09 12:55:25 : INFO  : chronoagent : Team ID: 9U697UM7YX (expected: 9U697UM7YX )
2022-07-09 12:55:25 : DEBUG : chronoagent : DEBUG enabled, skipping installation
2022-07-09 12:55:25 : INFO  : chronoagent : Finishing...
2022-07-09 12:55:35 : INFO  : chronoagent : name: ChronoAgent, appName: ChronoAgent.app
2022-07-09 12:55:35 : WARN  : chronoagent : No previous app found
2022-07-09 12:55:35 : WARN  : chronoagent : could not find ChronoAgent.app
2022-07-09 12:55:35 : REQ   : chronoagent : Installed ChronoAgent
2022-07-09 12:55:35 : INFO  : chronoagent : notifying
2022-07-09 12:55:35 : DEBUG : chronoagent : Unmounting /Volumes/ChronoAgent
2022-07-09 12:55:36 : DEBUG : chronoagent : Debugging enabled, Unmounting output was:
"disk4" ejected.
2022-07-09 12:55:36 : DEBUG : chronoagent : DEBUG mode 1, not reopening anything
2022-07-09 12:55:36 : REQ   : chronoagent : All done!
2022-07-09 12:55:36 : REQ   : chronoagent : ################## End Installomator, exit code 0
2022-07-09 13:05:46 +02:00
macmangr
14fc1db433 New Label: ChronoSync
"ChronoSync is a complete, all-in-one solution for file syncs, backups, bootable backups and cloud storage for your Mac. In use by thousands of photographers, video editors, filmmakers, musicians and other data professionals. It’s simply the best way to backup and sync your Mac. No other app can compare! Whatever your backup and sync scenario, ChronoSync has got you covered!"

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels chronosync
2022-07-09 12:56:22 : REQ   : chronosync : ################## Start Installomator v. 10.0beta, date 2022-07-09
2022-07-09 12:56:22 : INFO  : chronosync : ################## Version: 10.0beta
2022-07-09 12:56:22 : INFO  : chronosync : ################## Date: 2022-07-09
2022-07-09 12:56:22 : INFO  : chronosync : ################## chronosync
2022-07-09 12:56:22 : DEBUG : chronosync : DEBUG mode 1 enabled.
2022-07-09 12:56:23 : INFO  : chronosync : BLOCKING_PROCESS_ACTION=tell_user
2022-07-09 12:56:23 : INFO  : chronosync : NOTIFY=success
2022-07-09 12:56:23 : INFO  : chronosync : LOGGING=DEBUG
2022-07-09 12:56:23 : INFO  : chronosync : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-09 12:56:23 : INFO  : chronosync : Label type: pkgInDmg
2022-07-09 12:56:23 : INFO  : chronosync : archiveName: ChronoSync.dmg
2022-07-09 12:56:23 : INFO  : chronosync : no blocking processes defined, using ChronoSync as default
2022-07-09 12:56:23 : DEBUG : chronosync : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-07-09 12:56:23 : INFO  : chronosync : name: ChronoSync, appName: ChronoSync.app
2022-07-09 12:56:23 : WARN  : chronosync : No previous app found
2022-07-09 12:56:23 : WARN  : chronosync : could not find ChronoSync.app
2022-07-09 12:56:23 : INFO  : chronosync : appversion:
2022-07-09 12:56:23 : INFO  : chronosync : Latest version of ChronoSync is 10.2.0
2022-07-09 12:56:23 : INFO  : chronosync : ChronoSync.dmg exists and DEBUG mode 1 enabled, skipping download
2022-07-09 12:56:23 : DEBUG : chronosync : DEBUG mode 1, not checking for blocking processes
2022-07-09 12:56:23 : REQ   : chronosync : Installing ChronoSync
2022-07-09 12:56:23 : INFO  : chronosync : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/ChronoSync.dmg
2022-07-09 12:56:24 : DEBUG : chronosync : Debugging enabled, dmgmount output was:
Prüfsumme für whole disk (Apple_HFS : 0) berechnen …
whole disk (Apple_HFS : 0): Die überprüfte CRC32-Prüfsumme ist $09AFB4EC
Die überprüfte CRC32-Prüfsumme ist $A77D4F24
/dev/disk4          	                               	/Volumes/ChronoSync

2022-07-09 12:56:24 : INFO  : chronosync : Mounted: /Volumes/ChronoSync
2022-07-09 12:56:24 : DEBUG : chronosync : Found pkg(s):
/Volumes/ChronoSync/Install.pkg
2022-07-09 12:56:24 : DEBUG : chronosync : /Volumes/ChronoSync/Remove.pkg
2022-07-09 12:56:24 : INFO  : chronosync : found pkg: /Volumes/ChronoSync/Install.pkg
2022-07-09 12:56:24 : INFO  : chronosync : Verifying: /Volumes/ChronoSync/Install.pkg
2022-07-09 12:56:24 : DEBUG : chronosync : File list: -rw-r--r--@ 1 savvas  staff    85M 18 Mai 16:02 /Volumes/ChronoSync/Install.pkg
2022-07-09 12:56:24 : DEBUG : chronosync : File type: /Volumes/ChronoSync/Install.pkg: xar archive compressed TOC: 8245, SHA-1 checksum
2022-07-09 12:56:24 : DEBUG : chronosync : spctlOut is /Volumes/ChronoSync/Install.pkg: accepted
2022-07-09 12:56:24 : DEBUG : chronosync : source=Notarized Developer ID
2022-07-09 12:56:24 : DEBUG : chronosync : origin=Developer ID Installer: Econ Technologies, Inc. (9U697UM7YX)
2022-07-09 12:56:24 : INFO  : chronosync : Team ID: 9U697UM7YX (expected: 9U697UM7YX )
2022-07-09 12:56:24 : DEBUG : chronosync : DEBUG enabled, skipping installation
2022-07-09 12:56:24 : INFO  : chronosync : Finishing...
2022-07-09 12:56:34 : INFO  : chronosync : name: ChronoSync, appName: ChronoSync.app
2022-07-09 12:56:34 : WARN  : chronosync : No previous app found
2022-07-09 12:56:34 : WARN  : chronosync : could not find ChronoSync.app
2022-07-09 12:56:34 : REQ   : chronosync : Installed ChronoSync
2022-07-09 12:56:34 : INFO  : chronosync : notifying
2022-07-09 12:56:34 : DEBUG : chronosync : Unmounting /Volumes/ChronoSync
2022-07-09 12:56:35 : DEBUG : chronosync : Debugging enabled, Unmounting output was:
"disk4" ejected.
2022-07-09 12:56:35 : DEBUG : chronosync : DEBUG mode 1, not reopening anything
2022-07-09 12:56:35 : REQ   : chronosync : All done!
2022-07-09 12:56:35 : REQ   : chronosync : ################## End Installomator, exit code 0
2022-07-09 13:02:07 +02:00
John Hutchison
5b7038bf19 New Label for Zulu JDK 18
New label for Zulu JDK 18. Test Deployment below;

./assemble.sh zulujdk18
2022-07-05 09:14:29 : REQ   : zulujdk18 : ################## Start Installomator v. 9.2, date 2022-07-05
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## Version: 9.2
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## Date: 2022-07-05
2022-07-05 09:14:29 : INFO  : zulujdk18 : ################## zulujdk18
2022-07-05 09:14:29 : DEBUG : zulujdk18 : DEBUG mode 1 enabled.
2022-07-05 09:14:30 : INFO  : zulujdk18 : BLOCKING_PROCESS_ACTION=tell_user
2022-07-05 09:14:30 : INFO  : zulujdk18 : NOTIFY=success
2022-07-05 09:14:30 : INFO  : zulujdk18 : LOGGING=DEBUG
2022-07-05 09:14:30 : INFO  : zulujdk18 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-05 09:14:30 : INFO  : zulujdk18 : Label type: pkgInDmg
2022-07-05 09:14:30 : INFO  : zulujdk18 : archiveName: Zulu JDK 18.dmg
2022-07-05 09:14:30 : INFO  : zulujdk18 : no blocking processes defined, using Zulu JDK 18 as default
2022-07-05 09:14:30 : DEBUG : zulujdk18 : Changing directory to /Users/john/Documents/Source/Installomator/build
2022-07-05 09:14:30 : INFO  : zulujdk18 : Custom App Version detection is used, found 18.30.11
2022-07-05 09:14:30 : INFO  : zulujdk18 : appversion: 18.30.11
2022-07-05 09:14:30 : INFO  : zulujdk18 : Latest version of Zulu JDK 18 is 18.30.11
2022-07-05 09:14:30 : WARN  : zulujdk18 : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-05 09:14:30 : REQ   : zulujdk18 : Downloading https://cdn.azul.com/zulu/bin/zulu18.30.11-ca-jdk18.0.1-macosx_aarch64.dmg to Zulu JDK 18.dmg
2022-07-05 09:14:39 : DEBUG : zulujdk18 : File list: -rw-r--r--  1 john  staff   186M Jul  5 09:14 Zulu JDK 18.dmg
2022-07-05 09:14:39 : DEBUG : zulujdk18 : File type: Zulu JDK 18.dmg: bzip2 compressed data, block size = 100k
2022-07-05 09:14:39 : DEBUG : zulujdk18 : curl output was:
*   Trying 104.18.21.159:443...
* Connected to cdn.azul.com (104.18.21.159) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [317 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2325 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [78 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=San Francisco; O=Cloudflare, Inc.; CN=sni.cloudflaressl.com
*  start date: Apr  3 00:00:00 2022 GMT
*  expire date: Apr  3 23:59:59 2023 GMT
*  subjectAltName: host "cdn.azul.com" matched cert's "*.azul.com"
*  issuer: C=US; O=Cloudflare, Inc.; CN=Cloudflare Inc ECC CA-3
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x13d011400)
> GET /zulu/bin/zulu18.30.11-ca-jdk18.0.1-macosx_aarch64.dmg HTTP/2
> Host: cdn.azul.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 200
< date: Tue, 05 Jul 2022 13:14:30 GMT
< content-type: application/x-apple-diskimage
< content-length: 194730464
< last-modified: Fri, 22 Apr 2022 11:16:32 GMT
< etag: "b9b59e0-5dd3c5bdad2c8"
< cache-control: max-age=2592000
< expires: Wed, 06 Jul 2022 15:18:26 GMT
< vary: Origin
< cf-cache-status: HIT
< age: 2498164
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 72605d35a87178d0-EWR
< alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
<
{ [1029 bytes data]
* Connection #0 to host cdn.azul.com left intact

2022-07-05 09:14:39 : DEBUG : zulujdk18 : DEBUG mode 1, not checking for blocking processes
2022-07-05 09:14:39 : REQ   : zulujdk18 : Installing Zulu JDK 18
2022-07-05 09:14:39 : INFO  : zulujdk18 : Mounting /Users/john/Documents/Source/Installomator/build/Zulu JDK 18.dmg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : Debugging enabled, dmgmount output was:
Checksumming Protective Master Boot Record (MBR : 0)…
Protective Master Boot Record (MBR :: verified   CRC32 $8667CA94
Checksumming GPT Header (Primary GPT Header : 1)…
GPT Header (Primary GPT Header : 1): verified   CRC32 $997E8BC9
Checksumming GPT Partition Data (Primary GPT Table : 2)…
GPT Partition Data (Primary GPT Tabl: verified   CRC32 $78938419
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified   CRC32 $00000000
Checksumming disk image (Apple_HFS : 4)…
disk image (Apple_HFS : 4): verified   CRC32 $8B1E5839
Checksumming  (Apple_Free : 5)…
(Apple_Free : 5): verified   CRC32 $00000000
Checksumming GPT Partition Data (Backup GPT Table : 6)…
GPT Partition Data (Backup GPT Table: verified   CRC32 $78938419
Checksumming GPT Header (Backup GPT Header : 7)…
GPT Header (Backup GPT Header : 7): verified   CRC32 $F309C9FC
verified   CRC32 $FAED0B8A
/dev/disk6          	GUID_partition_scheme
/dev/disk6s1        	Apple_HFS                      	/Volumes/Azul Zulu JDK 18.30+11 1

2022-07-05 09:14:48 : INFO  : zulujdk18 : Mounted: /Volumes/Azul Zulu JDK 18.30+11 1
2022-07-05 09:14:48 : DEBUG : zulujdk18 : Found pkg(s):
/Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : INFO  : zulujdk18 : found pkg: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : INFO  : zulujdk18 : Verifying: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : File list: -rw-r--r--  1 john  staff   183M Apr 21 12:16 /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg
2022-07-05 09:14:48 : DEBUG : zulujdk18 : File type: /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg: xar archive compressed TOC: 4884, SHA-1 checksum
2022-07-05 09:14:48 : DEBUG : zulujdk18 : spctlOut is /Volumes/Azul Zulu JDK 18.30+11 1/Double-Click to Install Azul Zulu JDK 18.pkg: accepted
2022-07-05 09:14:48 : DEBUG : zulujdk18 : source=Notarized Developer ID
2022-07-05 09:14:48 : DEBUG : zulujdk18 : origin=Developer ID Installer: Azul Systems, Inc. (TDTHCUPYFR)
2022-07-05 09:14:48 : INFO  : zulujdk18 : Team ID: TDTHCUPYFR (expected: TDTHCUPYFR )
2022-07-05 09:14:48 : INFO  : zulujdk18 : Checking package version.
2022-07-05 09:14:55 : INFO  : zulujdk18 : Downloaded package com.azulsystems.zulu.18 version
2022-07-05 09:14:55 : DEBUG : zulujdk18 : DEBUG enabled, skipping installation
2022-07-05 09:14:55 : INFO  : zulujdk18 : Finishing...
2022-07-05 09:15:06 : INFO  : zulujdk18 : Custom App Version detection is used, found 18.30.11
2022-07-05 09:15:06 : REQ   : zulujdk18 : Installed Zulu JDK 18, version 18.30.11
2022-07-05 09:15:06 : INFO  : zulujdk18 : notifying
2022-07-05 09:15:06 : DEBUG : zulujdk18 : Unmounting /Volumes/Azul Zulu JDK 18.30+11 1
2022-07-05 09:15:07 : DEBUG : zulujdk18 : Debugging enabled, Unmounting output was:
"disk6" ejected.
2022-07-05 09:15:07 : DEBUG : zulujdk18 : DEBUG mode 1, not reopening anything
2022-07-05 09:15:07 : REQ   : zulujdk18 : All done!
2022-07-05 09:15:07 : REQ   : zulujdk18 : ################## End Installomator, exit code 0
2022-07-05 09:16:17 -04:00
macmangr
6d7a64667f New Label: Horos
"Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos is based upon OsiriX and other open source medical imaging libraries. Horos is made freely available under the GNU Lesser General Public License, Version 3 (LGPL-3.0)"

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels horos
2022-07-04 23:48:31 : REQ   : horos : ################## Start Installomator v. 10.0beta, date 2022-07-04
2022-07-04 23:48:31 : INFO  : horos : ################## Version: 10.0beta
2022-07-04 23:48:31 : INFO  : horos : ################## Date: 2022-07-04
2022-07-04 23:48:31 : INFO  : horos : ################## horos
2022-07-04 23:48:31 : DEBUG : horos : DEBUG mode 1 enabled.
2022-07-04 23:48:31 : INFO  : horos : BLOCKING_PROCESS_ACTION=tell_user
2022-07-04 23:48:31 : INFO  : horos : NOTIFY=success
2022-07-04 23:48:31 : INFO  : horos : LOGGING=DEBUG
2022-07-04 23:48:31 : INFO  : horos : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-04 23:48:31 : INFO  : horos : Label type: dmg
2022-07-04 23:48:31 : INFO  : horos : archiveName: Horos.dmg
2022-07-04 23:48:31 : INFO  : horos : no blocking processes defined, using Horos as default
2022-07-04 23:48:31 : DEBUG : horos : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-07-04 23:48:31 : INFO  : horos : App(s) found: /Applications/Horos.app
2022-07-04 23:48:32 : INFO  : horos : found app at /Applications/Horos.app, version Horos v4.0.0 RC5, on versionKey CFBundleGetInfoString
2022-07-04 23:48:32 : INFO  : horos : appversion: Horos v4.0.0 RC5
2022-07-04 23:48:32 : INFO  : horos : Latest version of Horos is 4.0.0RC5
2022-07-04 23:48:32 : INFO  : horos : Horos.dmg exists and DEBUG mode 1 enabled, skipping download
2022-07-04 23:48:32 : DEBUG : horos : DEBUG mode 1, not checking for blocking processes
2022-07-04 23:48:32 : REQ   : horos : Installing Horos
2022-07-04 23:48:32 : INFO  : horos : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Horos.dmg
2022-07-04 23:48:33 : DEBUG : horos : Debugging enabled, dmgmount output was:
SOFTWARE LICENSE: By initiating this download and installation you
acknowledge and agree that this software application is not intended
for medical usage or diagnostic purposes.

============================================

Horos is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation,  version 3 of the License.

The Horos Project was based originally upon the OsiriX Project which
at the time of the code fork was licensed as a LGPL project.  However,
not all of the the source-code was properly documented and file
headers were not all updated with the appropriate license terms.
The Horos Project, originally was licensed under the  GNU GPL
license. However, contributors to the software since that time have
agreed to modify the license to the GNU LGPL in order to be conform
to the changes previously made to the OsiriX Project.

Horos is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE OR USE.  

See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with Horos.  If not, see
http://www.gnu.org/licenses/lgpl.html

Prior versions of this file were published by the OsiriX team
pursuant to the below notice and licensing protocol.

============================================

Program:   OsiriX Copyright (c) OsiriX Team All rights
reserved. Distributed under GNU - LGPL   See
http://www.osirix-viewer.com/copyright.html for details.

This software is distributed WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

============================================

This version of Horos is linked against the Grok JPEG 2000 library,
for fast viewing of JPEG 2000 images.

https://github.com/GrokImageCompression/grok

The Grok JPEG 2000 library is licensed under the terms of the GNU
Affero General Public License as follows

Copyright (C) 2016 Grok Image Compression Inc.

This program is free software: you can redistribute it and/or  modify
it under the terms of the GNU Affero General Public License, version
3, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public
License along with this program.  If not, see
<http://www.gnu.org/licenses/>.

============================================

GNU LESSER GENERAL PUBLIC LICENSE

GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of
this license document, but changing it is not allowed.

This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

0. Additional Definitions.  As used herein, “this License” refers
to version 3 of the GNU Lesser General Public License, and the “GNU
GPL” refers to version 3 of the GNU General Public License.

“The Library” refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

An “Application” is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a
mode of using an interface provided by the Library.

A “Combined Work” is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the “Linked
Version”.

The “Minimal Corresponding Source” for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source
code for portions of the Combined Work that, considered in isolation,
are based on the Application, and not on the Linked Version.

The “Corresponding Application Code” for a Combined Work means the
object code and/or source code for the Application, including any
data and utility programs needed for reproducing the Combined Work
from the Application, but excluding the System Libraries of the
Combined Work.

1. Exception to Section 3 of the GNU GPL.  You may convey a covered
work under sections 3 and 4 of this License without being bound by
section 3 of the GNU GPL.

2. Conveying Modified Versions.  If you modify a copy of the Library,
and, in your modifications, a facility refers to a function or data
to be supplied by an Application that uses the facility (other than
as an argument passed when the facility is invoked), then you may
convey a copy of the modified version:

a) under this License, provided that you make a good faith effort
to ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs whatever
part of its purpose remains meaningful, or b) under the GNU GPL,
with none of the additional permissions of this License applicable
to that copy.  3. Object Code Incorporating Material from Library
Header Files.  The object code form of an Application may incorporate
material from a header file that is part of the Library. You may
convey such object code under terms of your choice, provided that,
if the incorporated material is not limited to numerical parameters,
data structure layouts and accessors, or small macros, inline
functions and templates (ten or fewer lines in length), you do both
of the following:

a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are covered
by this License.  b) Accompany the object code with a copy of the
GNU GPL and this license document.  4. Combined Works.  You may
convey a Combined Work under terms of your choice that, taken
together, effectively do not restrict modification of the portions
of the Library contained in the Combined Work and reverse engineering
for debugging such modifications, if you also do each of the
following:

a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.  b) Accompany the Combined Work with a
copy of the GNU GPL and this license document.  c) For a Combined
Work that displays copyright notices during execution, include the
copyright notice for the Library among these notices, as well as a
reference directing the user to the copies of the GNU GPL and this
license document.  d) Do one of the following: 0) Convey the Minimal
Corresponding Source under the terms of this License, and the
Corresponding Application Code in a form suitable for, and under
terms that permit, the user to recombine or relink the Application
with a modified version of the Linked Version to produce a modified
Combined Work, in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.  1) Use a suitable shared library
mechanism for linking with the Library. A suitable mechanism is one
that (a) uses at run time a copy of the Library already present on
the user's computer system, and (b) will operate properly with a
modified version of the Library that is interface-compatible with
the Linked Version.  e) Provide Installation Information, but only
if you would otherwise be required to provide such information under
section 6 of the GNU GPL, and only to the extent that such information
is necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the Application
with a modified version of the Linked Version. (If you use option
4d0, the Installation Information must accompany the Minimal
Corresponding Source and Corresponding Application Code. If you use
option 4d1, you must provide the Installation Information in the
manner specified by section 6 of the GNU GPL for conveying Corresponding
Source.) 5. Combined Libraries.  You may place library facilities
that are a work based on the Library side by side in a single library
together with other library facilities that are not Applications
and are not covered by this License, and convey such a combined
library under terms of your choice, if you do both of the following:

a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.  b) Give prominent notice
with the combined library that part of it is a work based on the
Library, and explaining where to find the accompanying uncombined
form of the same work.  6. Revised Versions of the GNU Lesser General
Public License.  The Free Software Foundation may publish revised
and/or new versions of the GNU Lesser General Public License from
time to time. Such new versions will be similar in spirit to the
present version, but may differ in detail to address new problems
or concerns.

Each version is given a distinguishing version number. If the Library
as you received it specifies that a certain numbered version of the
GNU Lesser General Public License “or any later version” applies
to it, you have the option of following the terms and conditions
either of that published version or of any later version published
by the Free Software Foundation. If the Library as you received it
does not specify a version number of the GNU Lesser General Public
License, you may choose any version of the GNU Lesser General Public
License ever published by the Free Software Foundation.

If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License
shall apply, that proxy's public statement of acceptance of any
version is permanent authorization for you to choose that version
for the Library.

===============================================================================================================

GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of
this license document, but changing it is not allowed.

Preamble The GNU General Public License is a free, copyleft license
for software and other kinds of works.

The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom
to share and change all versions of a program--to make sure it
remains free software for all its users. We, the Free Software
Foundation, use the GNU General Public License for most of our
software; it applies also to any other work released this way by
its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and
charge for them if you wish), that you receive source code or can
get it if you want it, that you can change the software or use
pieces of it in new free programs, and that you know you can do
these things.

To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you
have certain responsibilities if you distribute copies of the
software, or if you modify it: responsibilities to respect the
freedom of others.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too,
receive or can get the source code. And you must show them these
terms so they know their rights.

Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users'
and authors' sake, the GPL requires that modified versions be marked
as changed, so that their problems will not be attributed erroneously
to authors of previous versions.

Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the
manufacturer can do so. This is fundamentally incompatible with the
aim of protecting users' freedom to change the software. The
systematic pattern of such abuse occurs in the area of products for
individuals to use, which is precisely where it is most unacceptable.
Therefore, we have designed this version of the GPL to prohibit the
practice for those products. If such problems arise substantially
in other domains, we stand ready to extend this provision to those
domains in future versions of the GPL, as needed to protect the
freedom of users.

Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we
wish to avoid the special danger that patents applied to a free
program could make it effectively proprietary. To prevent this, the
GPL assures that patents cannot be used to render the program
non-free.

The precise terms and conditions for copying, distribution and
modification follow.

TERMS AND CONDITIONS 0. Definitions.  “This License” refers to
version 3 of the GNU General Public License.

“Copyright” also means copyright-like laws that apply to other kinds
of works, such as semiconductor masks.

“The Program” refers to any copyrightable work licensed under this
License. Each licensee is addressed as “you”. “Licensees” and
“recipients” may be individuals or organizations.

To “modify” a work means to copy from or adapt all or part of the
work in a fashion requiring copyright permission, other than the
making of an exact copy. The resulting work is called a “modified
version” of the earlier work or a work “based on” the earlier work.

A “covered work” means either the unmodified Program or a work based
on the Program.

To “propagate” a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it
on a computer or modifying a private copy. Propagation includes
copying, distribution (with or without modification), making available
to the public, and in some countries other activities as well.

To “convey” a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user
through a computer network, with no transfer of a copy, is not
conveying.

An interactive user interface displays “Appropriate Legal Notices”
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to
the extent that warranties are provided), that licensees may convey
the work under this License, and how to view a copy of this License.
If the interface presents a list of user commands or options, such
as a menu, a prominent item in the list meets this criterion.

1. Source Code.  The “source code” for a work means the preferred
form of the work for making modifications to it. “Object code” means
any non-source form of a work.

A “Standard Interface” means an interface that either is an official
standard defined by a recognized standards body, or, in the case
of interfaces specified for a particular programming language, one
that is widely used among developers working in that language.

The “System Libraries” of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form
of packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
“Major Component”, in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts
to control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available
free programs which are used unmodified in performing those activities
but which are not part of the work. For example, Corresponding
Source includes interface definition files associated with source
files for the work, and the source code for shared libraries and
dynamically linked subprograms that the work is specifically designed
to require, such as by intimate data communication or control flow
between those subprograms and other parts of the work.

The Corresponding Source need not include anything that users can
regenerate automatically from other parts of the Corresponding
Source.

The Corresponding Source for a work in source code form is that
same work.

2. Basic Permissions.  All rights granted under this License are
granted for the term of copyright on the Program, and are irrevocable
provided the stated conditions are met. This License explicitly
affirms your unlimited permission to run the unmodified Program.
The output from running a covered work is covered by this License
only if the output, given its content, constitutes a covered work.
This License acknowledges your rights of fair use or other equivalent,
as provided by copyright law.

You may make, run and propagate covered works that you do not convey,
without conditions so long as your license otherwise remains in
force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide
you with facilities for running those works, provided that you
comply with the terms of this License in conveying all material for
which you do not control copyright. Those thus making or running
the covered works for you must do so exclusively on your behalf,
under your direction and control, on terms that prohibit them from
making any copies of your copyrighted material outside their
relationship with you.

Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section
10 makes it unnecessary.

3. Protecting Users' Legal Rights From Anti-Circumvention Law.  No
covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect
to the covered work, and you disclaim any intention to limit operation
or modification of the work as a means of enforcing, against the
work's users, your or third parties' legal rights to forbid
circumvention of technological measures.

4. Conveying Verbatim Copies.  You may convey verbatim copies of
the Program's source code as you receive it, in any medium, provided
that you conspicuously and appropriately publish on each copy an
appropriate copyright notice; keep intact all notices stating that
this License and any non-permissive terms added in accord with
section 7 apply to the code; keep intact all notices of the absence
of any warranty; and give all recipients a copy of this License
along with the Program.

You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

5. Conveying Modified Source Versions.  You may convey a work based
on the Program, or the modifications to produce it from the Program,
in the form of source code under the terms of section 4, provided
that you also meet all of these conditions:

a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.  b) The work must carry prominent
notices stating that it is released under this License and any
conditions added under section 7. This requirement modifies the
requirement in section 4 to “keep intact all notices”.  c) You must
license the entire work, as a whole, under this License to anyone
who comes into possession of a copy. This License will therefore
apply, along with any applicable section 7 additional terms, to the
whole of the work, and all its parts, regardless of how they are
packaged. This License gives no permission to license the work in
any other way, but it does not invalidate such permission if you
have separately received it.  d) If the work has interactive user
interfaces, each must display Appropriate Legal Notices; however,
if the Program has interactive interfaces that do not display
Appropriate Legal Notices, your work need not make them do so.  A
compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called
an “aggregate” if the compilation and its resulting copyright are
not used to limit the access or legal rights of the compilation's
users beyond what the individual works permit. Inclusion of a covered
work in an aggregate does not cause this License to apply to the
other parts of the aggregate.

6. Conveying Non-Source Forms.  You may convey a covered work in
object code form under the terms of sections 4 and 5, provided that
you also convey the machine-readable Corresponding Source under the
terms of this License, in one of these ways:

a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium customarily
used for software interchange.  b) Convey the object code in, or
embodied in, a physical product (including a physical distribution
medium), accompanied by a written offer, valid for at least three
years and valid for as long as you offer spare parts or customer
support for that product model, to give anyone who possesses the
object code either (1) a copy of the Corresponding Source for all
the software in the product that is covered by this License, on a
durable physical medium customarily used for software interchange,
for a price no more than your reasonable cost of physically performing
this conveying of source, or (2) access to copy the Corresponding
Source from a network server at no charge.  c) Convey individual
copies of the object code with a copy of the written offer to provide
the Corresponding Source. This alternative is allowed only occasionally
and noncommercially, and only if you received the object code with
such an offer, in accord with subsection 6b.  d) Convey the object
code by offering access from a designated place (gratis or for a
charge), and offer equivalent access to the Corresponding Source
in the same way through the same place at no further charge. You
need not require recipients to copy the Corresponding Source along
with the object code. If the place to copy the object code is a
network server, the Corresponding Source may be on a different
server (operated by you or a third party) that supports equivalent
copying facilities, provided you maintain clear directions next to
the object code saying where to find the Corresponding Source.
Regardless of what server hosts the Corresponding Source, you remain
obligated to ensure that it is available for as long as needed to
satisfy these requirements.  e) Convey the object code using
peer-to-peer transmission, provided you inform other peers where
the object code and Corresponding Source of the work are being
offered to the general public at no charge under subsection 6d.  A
separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

A “User Product” is either (1) a “consumer product”, which means
any tangible personal property which is normally used for personal,
family, or household purposes, or (2) anything designed or sold for
incorporation into a dwelling. In determining whether a product is
a consumer product, doubtful cases shall be resolved in favor of
coverage. For a particular product received by a particular user,
“normally used” refers to a typical or common use of that class of
product, regardless of the status of the particular user or of the
way in which the particular user actually uses, or expects or is
expected to use, the product. A product is a consumer product
regardless of whether the product has substantial commercial,
industrial or non-consumer uses, unless such uses represent the
only significant mode of use of the product.

“Installation Information” for a User Product means any methods,
procedures, authorization keys, or other information required to
install and execute modified versions of a covered work in that
User Product from a modified version of its Corresponding Source.
The information must suffice to ensure that the continued functioning
of the modified object code is in no case prevented or interfered
with solely because modification has been made.

If you convey an object code work under this section in, or with,
or specifically for use in, a User Product, and the conveying occurs
as part of a transaction in which the right of possession and use
of the User Product is transferred to the recipient in perpetuity
or for a fixed term (regardless of how the transaction is characterized),
the Corresponding Source conveyed under this section must be
accompanied by the Installation Information. But this requirement
does not apply if neither you nor any third party retains the ability
to install modified object code on the User Product (for example,
the work has been installed in ROM).

The requirement to provide Installation Information does not include
a requirement to continue to provide support service, warranty, or
updates for a work that has been modified or installed by the
recipient, or for the User Product in which it has been modified
or installed. Access to a network may be denied when the modification
itself materially and adversely affects the operation of the network
or violates the rules and protocols for communication across the
network.

Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

7. Additional Terms.  “Additional permissions” are terms that
supplement the terms of this License by making exceptions from one
or more of its conditions. Additional permissions that are applicable
to the entire Program shall be treated as though they were included
in this License, to the extent that they are valid under applicable
law. If additional permissions apply only to part of the Program,
that part may be used separately under those permissions, but the
entire Program remains governed by this License without regard to
the additional permissions.

When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part
of it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material
you add to a covered work, you may (if authorized by the copyright
holders of that material) supplement the terms of this License with
terms:

a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or b) Requiring
preservation of specified reasonable legal notices or author
attributions in that material or in the Appropriate Legal Notices
displayed by works containing it; or c) Prohibiting misrepresentation
of the origin of that material, or requiring that modified versions
of such material be marked in reasonable ways as different from the
original version; or d) Limiting the use for publicity purposes of
names of licensors or authors of the material; or e) Declining to
grant rights under trademark law for use of some trade names,
trademarks, or service marks; or f) Requiring indemnification of
licensors and authors of that material by anyone who conveys the
material (or modified versions of it) with contractual assumptions
of liability to the recipient, for any liability that these contractual
assumptions directly impose on those licensors and authors.  All
other non-permissive additional terms are considered “further
restrictions” within the meaning of section 10. If the Program as
you received it, or any part of it, contains a notice stating that
it is governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under
this License, you may add to a covered work material governed by
the terms of that license document, provided that the further
restriction does not survive such relicensing or conveying.

If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated in
the form of a separately written license, or stated as exceptions;
the above requirements apply either way.

8. Termination.  You may not propagate or modify a covered work
except as expressly provided under this License. Any attempt otherwise
to propagate or modify it is void, and will automatically terminate
your rights under this License (including any patent licenses granted
under the third paragraph of section 11).

However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from
that copyright holder, and you cure the violation prior to 30 days
after your receipt of the notice.

Termination of your rights under this section does not terminate
the licenses of parties who have received copies or rights from you
under this License. If your rights have been terminated and not
permanently reinstated, you do not qualify to receive new licenses
for the same material under section 10.

9. Acceptance Not Required for Having Copies.  You are not required
to accept this License in order to receive or run a copy of the
Program. Ancillary propagation of a covered work occurring solely
as a consequence of using peer-to-peer transmission to receive a
copy likewise does not require acceptance. However, nothing other
than this License grants you permission to propagate or modify any
covered work. These actions infringe copyright if you do not accept
this License. Therefore, by modifying or propagating a covered work,
you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.  Each time you
convey a covered work, the recipient automatically receives a license
from the original licensors, to run, modify and propagate that work,
subject to this License. You are not responsible for enforcing
compliance by third parties with this License.

An “entity transaction” is a transaction transferring control of
an organization, or substantially all assets of one, or subdividing
an organization, or merging organizations. If propagation of a
covered work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or
could give under the previous paragraph, plus a right to possession
of the Corresponding Source of the work from the predecessor in
interest, if the predecessor has it or can get it with reasonable
efforts.

You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging
that any patent claim is infringed by making, using, selling,
offering for sale, or importing the Program or any portion of it.

11. Patents.  A “contributor” is a copyright holder who authorizes
use under this License of the Program or a work on which the Program
is based. The work thus licensed is called the contributor's
“contributor version”.

A contributor's “essential patent claims” are all patent claims
owned or controlled by the contributor, whether already acquired
or hereafter acquired, that would be infringed by some manner,
permitted by this License, of making, using, or selling its contributor
version, but do not include claims that would be infringed only as
a consequence of further modification of the contributor version.
For purposes of this definition, “control” includes the right to
grant patent sublicenses in a manner consistent with the requirements
of this License.

Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify
and propagate the contents of its contributor version.

In the following three paragraphs, a “patent license” is any express
agreement or commitment, however denominated, not to enforce a
patent (such as an express permission to practice a patent or
covenant not to sue for patent infringement). To “grant” such a
patent license to a party means to make such an agreement or
commitment not to enforce a patent against the party.

If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through
a publicly available network server or other readily accessible
means, then you must either (1) cause the Corresponding Source to
be so available, or (2) arrange to deprive yourself of the benefit
of the patent license for this particular work, or (3) arrange, in
a manner consistent with the requirements of this License, to extend
the patent license to downstream recipients. “Knowingly relying”
means you have actual knowledge that, but for the patent license,
your conveying the covered work in a country, or your recipient's
use of the covered work in a country, would infringe one or more
identifiable patents in that country that you have reason to believe
are valid.

If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of,
a covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate,
modify or convey a specific copy of the covered work, then the
patent license you grant is automatically extended to all recipients
of the covered work and works based on it.

A patent license is “discriminatory” if it does not include within
the scope of its coverage, prohibits the exercise of, or is conditioned
on the non-exercise of one or more of the rights that are specifically
granted under this License. You may not convey a covered work if
you are a party to an arrangement with a third party that is in the
business of distributing software, under which you make payment to
the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

12. No Surrender of Others' Freedom.  If conditions are imposed on
you (whether by court order, agreement or otherwise) that contradict
the conditions of this License, they do not excuse you from the
conditions of this License. If you cannot convey a covered work so
as to satisfy simultaneously your obligations under this License
and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that
obligate you to collect a royalty for further conveying from those
to whom you convey the Program, the only way you could satisfy both
those terms and this License would be to refrain entirely from
conveying the Program.

13. Use with the GNU Affero General Public License.  Notwithstanding
any other provision of this License, you have permission to link
or combine any covered work with a work licensed under version 3
of the GNU Affero General Public License into a single combined
work, and to convey the resulting work. The terms of this License
will continue to apply to the part which is the covered work, but
the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to
the combination as such.

14. Revised Versions of this License.  The Free Software Foundation
may publish revised and/or new versions of the GNU General Public
License from time to time. Such new versions will be similar in
spirit to the present version, but may differ in detail to address
new problems or concerns.

Each version is given a distinguishing version number. If the Program
specifies that a certain numbered version of the GNU General Public
License “or any later version” applies to it, you have the option
of following the terms and conditions either of that numbered version
or of any later version published by the Free Software Foundation.
If the Program does not specify a version number of the GNU General
Public License, you may choose any version ever published by the
Free Software Foundation.

If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes
you to choose that version for the Program.

Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow
a later version.

15. Disclaimer of Warranty.  THERE IS NO WARRANTY FOR THE PROGRAM,
TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE
THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
NECESSARY SERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.  IN NO EVENT UNLESS REQUIRED BY
APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER,
OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS
PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.  If the disclaimer of
warranty and limitation of liability provided above cannot be given
local legal effect according to their terms, reviewing courts shall
apply local law that most closely approximates an absolute waiver
of all civil liability in connection with the Program, unless a
warranty or assumption of liability accompanies a copy of the Program
in return for a fee.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs If you develop a new
program, and you want it to be of the greatest possible use to the
public, the best way to achieve this is to make it free software
which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the “copyright” line and a pointer to where the full notice is
found.

<one line to give the program's name and a brief idea of what it
does.> Copyright (C) <year>  <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper
mail.

If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

<program>  Copyright (C) <year>  <name of author> This program comes
with ABSOLUTELY NO WARRANTY; for details type `show w'.  This is
free software, and you are welcome to redistribute it under certain
conditions; type `show c' for details. The hypothetical commands
`show w' and `show c' should show the appropriate parts of the
General Public License. Of course, your program's commands might
be different; for a GUI interface, you would use an “about box”.

You should also get your employer (if you work as a programmer) or
school, if any, to sign a “copyright disclaimer” for the program,
if necessary. For more information on this, and how to apply and
follow the GNU GPL, see <https://www.gnu.org/licenses/>.

The GNU General Public License does not permit incorporating your
program into proprietary programs. If your program is a subroutine
library, you may consider it more useful to permit linking proprietary
applications with the library. If this is what you want to do, use
the GNU Lesser General Public License instead of this License. But
first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.

Die erwartete CRC32-Prüfsumme ist $2C68A922
/dev/disk2          	Apple_partition_scheme
/dev/disk2s1        	Apple_partition_map
/dev/disk2s2        	Apple_HFS                      	/Volumes/Horos

2022-07-04 23:48:33 : INFO  : horos : Mounted: /Volumes/Horos
2022-07-04 23:48:33 : INFO  : horos : Verifying: /Volumes/Horos/Horos.app
2022-07-04 23:48:33 : DEBUG : horos : App size: 146M	/Volumes/Horos/Horos.app
2022-07-04 23:48:36 : DEBUG : horos : Debugging enabled, App Verification output was:
/Volumes/Horos/Horos.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Nimble CO LLC (TPT6TVH8UY)

2022-07-04 23:48:36 : INFO  : horos : Team ID matching: TPT6TVH8UY (expected: TPT6TVH8UY )
2022-07-04 23:48:36 : INFO  : horos : Downloaded version of Horos is Horos v4.0.0 RC5 on versionKey CFBundleGetInfoString, same as installed.
2022-07-04 23:48:36 : DEBUG : horos : Unmounting /Volumes/Horos
2022-07-04 23:48:36 : DEBUG : horos : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-07-04 23:48:36 : DEBUG : horos : DEBUG mode 1, not reopening anything
2022-07-04 23:48:36 : REG   : horos : No new version to install
2022-07-04 23:48:36 : REQ   : horos : ################## End Installomator, exit code 0
2022-07-04 23:55:38 +02:00
macmangr
face2a7e93 New Label: Filemaker Pro
"FileMaker is a cross-platform relational database application from Claris International, a subsidiary of Apple Inc. It integrates a database engine with a graphical user interface (GUI) and security features, allowing users to modify a database by dragging new elements into layouts, screens, or forms. It is available in desktop, server, iOS and web-delivery configurations"

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels filemakerpro
2022-07-04 15:35:36 : REQ   : filemakerpro : ################## Start Installomator v. 10.0beta, date 2022-07-04
2022-07-04 15:35:36 : INFO  : filemakerpro : ################## Version: 10.0beta
2022-07-04 15:35:36 : INFO  : filemakerpro : ################## Date: 2022-07-04
2022-07-04 15:35:36 : INFO  : filemakerpro : ################## filemakerpro
2022-07-04 15:35:37 : DEBUG : filemakerpro : DEBUG mode 1 enabled.
2022-07-04 15:35:37 : INFO  : filemakerpro : BLOCKING_PROCESS_ACTION=tell_user
2022-07-04 15:35:37 : INFO  : filemakerpro : NOTIFY=success
2022-07-04 15:35:37 : INFO  : filemakerpro : LOGGING=DEBUG
2022-07-04 15:35:37 : INFO  : filemakerpro : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-04 15:35:37 : INFO  : filemakerpro : Label type: dmg
2022-07-04 15:35:37 : INFO  : filemakerpro : archiveName: FileMaker Pro.dmg
2022-07-04 15:35:37 : INFO  : filemakerpro : no blocking processes defined, using FileMaker Pro as default
2022-07-04 15:35:37 : DEBUG : filemakerpro : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-07-04 15:35:37 : INFO  : filemakerpro : App(s) found: /Applications/FileMaker Pro.app
2022-07-04 15:35:37 : INFO  : filemakerpro : found app at /Applications/FileMaker Pro.app, version 19.5.1.36, on versionKey BuildVersion
2022-07-04 15:35:37 : INFO  : filemakerpro : appversion: 19.5.1.36
2022-07-04 15:35:37 : INFO  : filemakerpro : Latest version of FileMaker Pro is 19.5.1.36
2022-07-04 15:35:37 : WARN  : filemakerpro : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-04 15:35:37 : INFO  : filemakerpro : FileMaker Pro.dmg exists and DEBUG mode 1 enabled, skipping download
2022-07-04 15:35:37 : DEBUG : filemakerpro : DEBUG mode 1, not checking for blocking processes
2022-07-04 15:35:37 : REQ   : filemakerpro : Installing FileMaker Pro
2022-07-04 15:35:37 : INFO  : filemakerpro : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/FileMaker Pro.dmg
2022-07-04 15:35:38 : DEBUG : filemakerpro : Debugging enabled, dmgmount output was:
Die erwartete CRC32-Prüfsumme ist $4150F8F9
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/FileMaker Pro 19

2022-07-04 15:35:38 : INFO  : filemakerpro : Mounted: /Volumes/FileMaker Pro 19
2022-07-04 15:35:38 : INFO  : filemakerpro : Verifying: /Volumes/FileMaker Pro 19/FileMaker Pro.app
2022-07-04 15:35:38 : DEBUG : filemakerpro : App size: 966M	/Volumes/FileMaker Pro 19/FileMaker Pro.app
2022-07-04 15:38:04 : DEBUG : filemakerpro : Debugging enabled, App Verification output was:
/Volumes/FileMaker Pro 19/FileMaker Pro.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Claris International Inc. (J6K4T76U7W)

2022-07-04 15:38:04 : INFO  : filemakerpro : Team ID matching: J6K4T76U7W (expected: J6K4T76U7W )
2022-07-04 15:38:04 : INFO  : filemakerpro : Downloaded version of FileMaker Pro is 19.5.1.36 on versionKey BuildVersion, same as installed.
2022-07-04 15:38:04 : DEBUG : filemakerpro : Unmounting /Volumes/FileMaker Pro 19
2022-07-04 15:38:05 : DEBUG : filemakerpro : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-07-04 15:38:05 : DEBUG : filemakerpro : DEBUG mode 1, not reopening anything
2022-07-04 15:38:05 : REG   : filemakerpro : No new version to install
2022-07-04 15:38:05 : REQ   : filemakerpro : ################## End Installomator, exit code 0
2022-07-04 15:46:02 +02:00
macmangr
02946d88c8 New Label: Java SE Development Kit 18
./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels jdk18
2022-07-04 13:21:27 : REQ   : jdk18 : ################## Start Installomator v. 10.0beta, date 2022-07-04
2022-07-04 13:21:27 : INFO  : jdk18 : ################## Version: 10.0beta
2022-07-04 13:21:27 : INFO  : jdk18 : ################## Date: 2022-07-04
2022-07-04 13:21:27 : INFO  : jdk18 : ################## jdk18
2022-07-04 13:21:27 : DEBUG : jdk18 : DEBUG mode 1 enabled.
2022-07-04 13:21:27 : INFO  : jdk18 : BLOCKING_PROCESS_ACTION=tell_user
2022-07-04 13:21:27 : INFO  : jdk18 : NOTIFY=success
2022-07-04 13:21:27 : INFO  : jdk18 : LOGGING=DEBUG
2022-07-04 13:21:28 : INFO  : jdk18 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-04 13:21:28 : INFO  : jdk18 : Label type: pkgInDmg
2022-07-04 13:21:28 : INFO  : jdk18 : archiveName: Java SE Development Kit 18.dmg
2022-07-04 13:21:28 : INFO  : jdk18 : no blocking processes defined, using Java SE Development Kit 18 as default
2022-07-04 13:21:28 : DEBUG : jdk18 : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-07-04 13:21:28 : INFO  : jdk18 : Custom App Version detection is used, found 18.0.1.1
2022-07-04 13:21:28 : INFO  : jdk18 : appversion: 18.0.1.1
2022-07-04 13:21:28 : INFO  : jdk18 : Latest version of Java SE Development Kit 18 is 18.0.1.1
2022-07-04 13:21:28 : WARN  : jdk18 : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-07-04 13:21:28 : REQ   : jdk18 : Downloading https://download.oracle.com/java/18/latest/jdk-18_macos-x64_bin.dmg to Java SE Development Kit 18.dmg
2022-07-04 13:21:53 : DEBUG : jdk18 : File list: -rw-r--r--  1 savvas  staff   170M  4 Jul 13:21 Java SE Development Kit 18.dmg
2022-07-04 13:21:53 : DEBUG : jdk18 : File type: Java SE Development Kit 18.dmg: zlib compressed data
2022-07-04 13:21:53 : DEBUG : jdk18 : curl output was:
*   Trying 104.76.200.85:443...
* Connected to download.oracle.com (104.76.200.85) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [324 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [35 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2926 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [80 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: C=US; ST=California; L=Redwood City; O=Oracle Corporation; CN=download.oracle.com
*  start date: Sep 13 00:00:00 2021 GMT
*  expire date: Sep 13 23:59:59 2022 GMT
*  subjectAltName: host "download.oracle.com" matched cert's "download.oracle.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
*  SSL certificate verify ok.
> GET /java/18/latest/jdk-18_macos-x64_bin.dmg HTTP/1.1
> Host: download.oracle.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Type: application/octet-stream
< Server: AkamaiNetStorage
< Last-Modified: Tue, 26 Apr 2022 18:40:47 GMT
< ETag: "a5314d086c18af3e93121e11fc25f5af:1650998873.170204"
< Content-Length: 178108545
< Date: Mon, 04 Jul 2022 11:21:28 GMT
< Connection: keep-alive
<
{ [16083 bytes data]
* Connection #0 to host download.oracle.com left intact

2022-07-04 13:21:53 : DEBUG : jdk18 : DEBUG mode 1, not checking for blocking processes
2022-07-04 13:21:53 : REQ   : jdk18 : Installing Java SE Development Kit 18
2022-07-04 13:21:53 : INFO  : jdk18 : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Java SE Development Kit 18.dmg
2022-07-04 13:21:56 : DEBUG : jdk18 : Debugging enabled, dmgmount output was:
Prüfsumme für Protective Master Boot Record (MBR : 0) berechnen …
Protective Master Boot Record (MBR :: Die überprüfte CRC32-Prüfsumme ist $A63E199D
Prüfsumme für GPT Header (Primary GPT Header : 1) berechnen …
GPT Header (Primary GPT Header : 1): Die überprüfte CRC32-Prüfsumme ist $4CAA2C48
Prüfsumme für GPT Partition Data (Primary GPT Table : 2) berechnen …
GPT Partition Data (Primary GPT Tabl: Die überprüfte CRC32-Prüfsumme ist $D15A79FE
Prüfsumme für  (Apple_Free : 3) berechnen …
(Apple_Free : 3): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für disk image (Apple_HFS : 4) berechnen …
disk image (Apple_HFS : 4): Die überprüfte CRC32-Prüfsumme ist $0F56211E
Prüfsumme für  (Apple_Free : 5) berechnen …
(Apple_Free : 5): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für GPT Partition Data (Backup GPT Table : 6) berechnen …
GPT Partition Data (Backup GPT Table: Die überprüfte CRC32-Prüfsumme ist $D15A79FE
Prüfsumme für GPT Header (Backup GPT Header : 7) berechnen …
GPT Header (Backup GPT Header : 7): Die überprüfte CRC32-Prüfsumme ist $D36773E6
Die überprüfte CRC32-Prüfsumme ist $EF324497
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/JDK 18.0.1.1

2022-07-04 13:21:56 : INFO  : jdk18 : Mounted: /Volumes/JDK 18.0.1.1
2022-07-04 13:21:56 : DEBUG : jdk18 : Found pkg(s):
/Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg
2022-07-04 13:21:56 : INFO  : jdk18 : found pkg: /Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg
2022-07-04 13:21:56 : INFO  : jdk18 : Verifying: /Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg
2022-07-04 13:21:56 : DEBUG : jdk18 : File list: -rw-r--r--  1 savvas  staff   171M 25 Apr 23:09 /Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg
2022-07-04 13:21:56 : DEBUG : jdk18 : File type: /Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg: xar archive compressed TOC: 5557, SHA-1 checksum
2022-07-04 13:21:56 : DEBUG : jdk18 : spctlOut is /Volumes/JDK 18.0.1.1/JDK 18.0.1.1.pkg: accepted
2022-07-04 13:21:56 : DEBUG : jdk18 : source=Notarized Developer ID
2022-07-04 13:21:56 : DEBUG : jdk18 : origin=Developer ID Installer: Oracle America, Inc. (VB5E2TV963)
2022-07-04 13:21:56 : INFO  : jdk18 : Team ID: VB5E2TV963 (expected: VB5E2TV963 )
2022-07-04 13:21:56 : DEBUG : jdk18 : DEBUG enabled, skipping installation
2022-07-04 13:21:56 : INFO  : jdk18 : Finishing...
2022-07-04 13:22:06 : INFO  : jdk18 : Custom App Version detection is used, found 18.0.1.1
2022-07-04 13:22:06 : REQ   : jdk18 : Installed Java SE Development Kit 18, version 18.0.1.1
2022-07-04 13:22:06 : INFO  : jdk18 : notifying
2022-07-04 13:22:06 : DEBUG : jdk18 : Unmounting /Volumes/JDK 18.0.1.1
2022-07-04 13:22:07 : DEBUG : jdk18 : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-07-04 13:22:07 : DEBUG : jdk18 : DEBUG mode 1, not reopening anything
2022-07-04 13:22:07 : REQ   : jdk18 : All done!
2022-07-04 13:22:07 : REQ   : jdk18 : ################## End Installomator, exit code 0
2022-07-04 13:23:03 +02:00
macmangr
05816942cc New Label: Parallels Client
"Access Windows Applications, Desktops, or Data on Any Device

Parallels® Client is a lightweight software that enables end-users to securely access virtual applications and desktops from Windows, Mac, Linux, iOS/iPadOS, Android, Google Chromebook and any HTML5 web browser."

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels rasclient NOTIFY=silent DEBUG=0
Password:
2022-07-04 12:59:53 : WARN  : rasclient : setting variable from argument NOTIFY=silent
2022-07-04 12:59:53 : WARN  : rasclient : setting variable from argument DEBUG=0
2022-07-04 12:59:53 : REQ   : rasclient : ################## Start Installomator v. 10.0beta, date 2022-07-04
2022-07-04 12:59:53 : INFO  : rasclient : ################## Version: 10.0beta
2022-07-04 12:59:53 : INFO  : rasclient : ################## Date: 2022-07-04
2022-07-04 12:59:53 : INFO  : rasclient : ################## rasclient
2022-07-04 12:59:53 : INFO  : rasclient : BLOCKING_PROCESS_ACTION=tell_user
2022-07-04 12:59:53 : INFO  : rasclient : NOTIFY=silent
2022-07-04 12:59:53 : INFO  : rasclient : LOGGING=INFO
2022-07-04 12:59:53 : INFO  : rasclient : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-07-04 12:59:53 : INFO  : rasclient : Label type: pkg
2022-07-04 12:59:53 : INFO  : rasclient : archiveName: Parallels Client.pkg
2022-07-04 12:59:53 : INFO  : rasclient : no blocking processes defined, using Parallels Client as default
2022-07-04 12:59:53 : INFO  : rasclient : App(s) found: /Applications/Parallels Client.app
2022-07-04 12:59:53 : INFO  : rasclient : found app at /Applications/Parallels Client.app, version 18.3.22907, on versionKey CFBundleShortVersionString
2022-07-04 12:59:53 : INFO  : rasclient : appversion: 18.3.22907
2022-07-04 12:59:53 : INFO  : rasclient : Latest version of Parallels Client is 18.3.1.22907
2022-07-04 12:59:53 : REQ   : rasclient : Downloading https://download.parallels.com/ras/v18/18.3.1.22907/RasClient-Mac-Notarized-18.3.1-22907.pkg to Parallels Client.pkg
2022-07-04 12:59:55 : REQ   : rasclient : no more blocking processes, continue with update
2022-07-04 12:59:55 : REQ   : rasclient : Installing Parallels Client
2022-07-04 12:59:55 : INFO  : rasclient : Verifying: Parallels Client.pkg
2022-07-04 12:59:55 : INFO  : rasclient : Team ID: 4C6364ACXT (expected: 4C6364ACXT )
2022-07-04 12:59:55 : INFO  : rasclient : Installing Parallels Client.pkg to /
2022-07-04 13:00:02 : INFO  : rasclient : Finishing...
2022-07-04 13:00:12 : INFO  : rasclient : App(s) found: /Applications/Parallels Client.app
2022-07-04 13:00:12 : INFO  : rasclient : found app at /Applications/Parallels Client.app, version 18.3.22907, on versionKey CFBundleShortVersionString
2022-07-04 13:00:12 : REQ   : rasclient : Installed Parallels Client, version 18.3.22907
2022-07-04 13:00:12 : INFO  : rasclient : App not closed, so no reopen.
2022-07-04 13:00:12 : REQ   : rasclient : All done!
2022-07-04 13:00:12 : REQ   : rasclient : ################## End Installomator, exit code 0
2022-07-04 13:15:22 +02:00
macmangr
6a2da9f55c Update libreoffice.sh
Changed appNewVersion check, so that no download is started if the same version of the software is installed

Changed download url
2022-07-04 12:49:29 +02:00
Joel Hatcher
6412c9f527 Create inetclearreportsdesigner.sh 2022-06-29 15:42:37 -05:00
duongt01
09a34c05b7 New Label: Fellow 2022-06-28 16:10:29 -05:00
Chriscodinglife
8116800835 Added the much needed ending ) 2022-06-28 16:45:15 -04:00
Chriscodinglife
3fd88f6207 Corrected the version grab one more time 2022-06-28 16:43:41 -04:00
Chriscodinglife
a84b14234e Corrected appnewversion variable with sed grabbing the version number displayed in the package file 2022-06-28 16:36:41 -04:00
Chriscodinglife
66133a5520 Added the Fujifilm label for future dslr webcam fans 2022-06-28 15:18:41 -04:00
MrAZisHere
1dfa162783 Update sublimetext.sh
download url has changed
2022-06-24 20:40:48 +08:00
duongt01
473fcb11d8 New Label: Fellow 2022-06-23 17:27:15 -05:00
duongt01
3cd367a1b0 New Label: Dynalist 2022-06-23 16:47:25 -05:00
Armin Briegel
aa4b3db04e added packageID to boxtools 2022-06-23 16:57:34 +02:00
Thomas Martin
e0c4e0ca26 Create coconutbattery.sh
Label for Coconut Battery.
2022-06-22 11:35:20 -04:00
Armin Briegel
4e5f069024 Merge pull request #565 from Installomator/Barco-ClickShare
Barco click share
2022-06-22 15:23:06 +02:00
Armin Briegel
034e60a190 Merge pull request #560 from Installomator/Theile-labels-10
WhatRoute label
2022-06-22 15:19:24 +02:00
Armin Briegel
053b0a1225 Merge pull request #544 from Installomator/Marathon-Trilogy
Marathon Trilogy with `versionKey` added to the labels.
2022-06-22 15:13:27 +02:00
Armin Briegel
4eb6a94a53 Merge pull request #540 from scriptingosx/assemble-script-update
updated assemble.sh to update Labels.txt when script is built
2022-06-22 15:05:50 +02:00
Armin Briegel
f166cf7efa Merge pull request #539 from scriptingosx/miro-universal
updated miro for arm download
2022-06-22 15:05:20 +02:00
Armin Briegel
60f7ee237a Merge pull request #533 from scriptingosx/egnyte-version
add appNewVersion to egnyte label
2022-06-22 15:04:46 +02:00
Armin Briegel
69bb31b3a2 Merge pull request #535 from cardinaldeville/main
Fixes issue with Blender not installing
2022-06-22 15:02:32 +02:00
Armin Briegel
fe48e4628e Merge pull request #419 2022-06-22 14:57:26 +02:00
Armin Briegel
acb2963f7a changed filename case 2022-06-22 14:55:10 +02:00
Armin Briegel
5b46970d51 Merge branch 'dev' 2022-06-22 14:52:04 +02:00
Armin Briegel
6f9d2a711d Merge pull request #506 from theadamcraig/patch-2
Create bluejeanswithaudiodriver label
2022-06-22 14:50:44 +02:00
Armin Briegel
f444c9a0ba Merge pull request #532 from FletcherS7/main
New Label: Google Chrome Enterprise
2022-06-22 14:48:06 +02:00
Fletcher Salesky
521d6e8672 Update awsvpnclient.sh 2022-06-20 15:13:27 -07:00
Fletcher Salesky
ae34d5591e Update Wireshark download URL
Update Wireshark to use version from appNewVersion to prevent grabbing dev builds.
2022-06-20 10:50:20 -07:00
macmangr
64cdeffb90 New Label: LANCOM Advanced VPN Client
"Secure corporate network access when traveling

The LANCOM Advanced VPN Client provides mobile employees with encrypted access to the company network, whether they are at their home office, on the road, or even abroad. The application is extremely easy to use; once VPN access (virtual private network) has been configured, a click of the mouse is all it takes to establish a secure VPN connection over the best available connection medium. Further data protection comes with the integrated stateful inspection firewall, support of all IPSec protocol extensions, and numerous other security features."

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels lcadvancedvpnclient
2022-06-19 18:09:08 : REQ   : lcadvancedvpnclient : ################## Start Installomator v. 9.2, date 2022-06-19
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : ################## Version: 9.2
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : ################## Date: 2022-06-19
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : ################## lcadvancedvpnclient
2022-06-19 18:09:08 : DEBUG : lcadvancedvpnclient : DEBUG mode 1 enabled.
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : BLOCKING_PROCESS_ACTION=tell_user
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : NOTIFY=success
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : LOGGING=DEBUG
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : Label type: pkgInDmg
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : archiveName: LANCOM Advanced VPN Client.dmg
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : no blocking processes defined, using LANCOM Advanced VPN Client as default
2022-06-19 18:09:08 : DEBUG : lcadvancedvpnclient : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-06-19 18:09:08 : INFO  : lcadvancedvpnclient : App(s) found: /Applications/LANCOM Advanced VPN Client.app
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : found app at /Applications/LANCOM Advanced VPN Client.app, version 4.61, on versionKey CFBundleShortVersionString
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : appversion: 4.61
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : Latest version of LANCOM Advanced VPN Client is 4.61
2022-06-19 18:09:09 : WARN  : lcadvancedvpnclient : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : LANCOM Advanced VPN Client.dmg exists and DEBUG mode 1 enabled, skipping download
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : DEBUG mode 1, not checking for blocking processes
2022-06-19 18:09:09 : REQ   : lcadvancedvpnclient : Installing LANCOM Advanced VPN Client
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/LANCOM Advanced VPN Client.dmg
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : Debugging enabled, dmgmount output was:
Die erwartete CRC32-Prüfsumme ist $137E58B2
/dev/disk4          	GUID_partition_scheme
/dev/disk4s1        	Apple_HFS                      	/Volumes/LANCOM Advanced VPN Client Installation 1

2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : Mounted: /Volumes/LANCOM Advanced VPN Client Installation 1
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : Found pkg(s):
/Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : /Volumes/LANCOM Advanced VPN Client Installation 1/Uninstall.pkg
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : found pkg: /Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : Verifying: /Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : File list: -rw-r--r--@ 1 savvas  staff    10M 20 Dez 10:54 /Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : File type: /Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg: xar archive compressed TOC: 8307, SHA-1 checksum
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : spctlOut is /Volumes/LANCOM Advanced VPN Client Installation 1/LANCOM Advanced VPN Client.pkg: accepted
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : source=Notarized Developer ID
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : override=security disabled
2022-06-19 18:09:09 : DEBUG : lcadvancedvpnclient : origin=Developer ID Installer: NCP engineering GmbH (LL3KBL2M3A)
2022-06-19 18:09:09 : INFO  : lcadvancedvpnclient : Team ID: LL3KBL2M3A (expected: LL3KBL2M3A )
2022-06-19 18:09:10 : DEBUG : lcadvancedvpnclient : DEBUG enabled, skipping installation
2022-06-19 18:09:10 : INFO  : lcadvancedvpnclient : Finishing...
2022-06-19 18:09:20 : INFO  : lcadvancedvpnclient : App(s) found: /Applications/LANCOM Advanced VPN Client.app
2022-06-19 18:09:20 : INFO  : lcadvancedvpnclient : found app at /Applications/LANCOM Advanced VPN Client.app, version 4.61, on versionKey CFBundleShortVersionString
2022-06-19 18:09:20 : REQ   : lcadvancedvpnclient : Installed LANCOM Advanced VPN Client, version 4.61
2022-06-19 18:09:20 : INFO  : lcadvancedvpnclient : notifying
2022-06-19 18:09:20 : DEBUG : lcadvancedvpnclient : Unmounting /Volumes/LANCOM Advanced VPN Client Installation 1
2022-06-19 18:09:20 : DEBUG : lcadvancedvpnclient : Debugging enabled, Unmounting output was:
"disk4" ejected.
2022-06-19 18:09:20 : DEBUG : lcadvancedvpnclient : DEBUG mode 1, not reopening anything
2022-06-19 18:09:20 : REQ   : lcadvancedvpnclient : All done!
2022-06-19 18:09:20 : REQ   : lcadvancedvpnclient : ################## End Installomator, exit code 0
2022-06-19 18:12:23 +02:00
macmangr
10afa45f5e New Label: Typinator
"Have you ever experienced the tedium and frustration of having to repeatedly type your name, e-mail address, home page url, or other words or phrases again, again and again? Do you frequently need to quickly insert images like your signature, location plan, or company logo into documents? Do you often misspell words when typing?

Typinator boosts your productivity by automating the process of inserting frequently used text and graphics and auto-correcting typing errors."

./assemble.sh -l /Desktop/Mosyle/Resources/InstallomatorLabels typinator
2022-06-19 14:31:10 : REQ   : typinator : ################## Start Installomator v. 9.2, date 2022-06-19
2022-06-19 14:31:10 : INFO  : typinator : ################## Version: 9.2
2022-06-19 14:31:10 : INFO  : typinator : ################## Date: 2022-06-19
2022-06-19 14:31:10 : INFO  : typinator : ################## typinator
2022-06-19 14:31:10 : DEBUG : typinator : DEBUG mode 1 enabled.
2022-06-19 14:31:10 : INFO  : typinator : BLOCKING_PROCESS_ACTION=tell_user
2022-06-19 14:31:10 : INFO  : typinator : NOTIFY=success
2022-06-19 14:31:10 : INFO  : typinator : LOGGING=DEBUG
2022-06-19 14:31:10 : INFO  : typinator : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-19 14:31:10 : INFO  : typinator : Label type: zip
2022-06-19 14:31:10 : INFO  : typinator : archiveName: Typinator.zip
2022-06-19 14:31:10 : INFO  : typinator : no blocking processes defined, using Typinator as default
2022-06-19 14:31:10 : DEBUG : typinator : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-06-19 14:31:10 : INFO  : typinator : App(s) found: /Applications/Typinator.app
2022-06-19 14:31:11 : INFO  : typinator : found app at /Applications/Typinator.app, version 8.11, on versionKey CFBundleShortVersionString
2022-06-19 14:31:11 : INFO  : typinator : appversion: 8.11
2022-06-19 14:31:11 : INFO  : typinator : Latest version of Typinator is 8.12.1
2022-06-19 14:31:11 : REQ   : typinator : Downloading https://update.ergonis.com/downloads/products/typinator/Typinator.app.zip to Typinator.zip
2022-06-19 14:31:14 : DEBUG : typinator : File list: -rw-r--r--  1 savvas  staff   9,6M 19 Jun 14:31 Typinator.zip
2022-06-19 14:31:14 : DEBUG : typinator : File type: Typinator.zip: Zip archive data, at least v2.0 to extract, compression method=store
2022-06-19 14:31:14 : DEBUG : typinator : curl output was:
*   Trying 83.164.197.124:443...
* Connected to update.ergonis.com (83.164.197.124) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [323 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [108 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [5715 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [401 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [138 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=*.ergonis.com
*  start date: Aug 19 00:00:00 2020 GMT
*  expire date: Sep 28 12:00:00 2022 GMT
*  subjectAltName: host "update.ergonis.com" matched cert's "*.ergonis.com"
*  issuer: C=US; O=DigiCert Inc; CN=RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1
*  SSL certificate verify ok.
> GET /downloads/products/typinator/Typinator.app.zip HTTP/1.1
> Host: update.ergonis.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sun, 19 Jun 2022 12:31:11 GMT
< Server: Apache
< Last-Modified: Wed, 20 Apr 2022 14:50:53 GMT
< ETag: "9934e6-5dd171eb94d40"
< Accept-Ranges: bytes
< Content-Length: 10040550
< MS-Author-Via: DAV
< Content-Type: application/zip
<
{ [7696 bytes data]
* Connection #0 to host update.ergonis.com left intact

2022-06-19 14:31:14 : DEBUG : typinator : DEBUG mode 1, not checking for blocking processes
2022-06-19 14:31:14 : REQ   : typinator : Installing Typinator
2022-06-19 14:31:14 : INFO  : typinator : Unzipping Typinator.zip
2022-06-19 14:31:14 : INFO  : typinator : Verifying: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Typinator.app
2022-06-19 14:31:14 : DEBUG : typinator : App size:  16M	/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Typinator.app
2022-06-19 14:31:14 : DEBUG : typinator : Debugging enabled, App Verification output was:
/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Typinator.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Ergonis Software GmbH (TU7D9Y7GTQ)

2022-06-19 14:31:14 : INFO  : typinator : Team ID matching: TU7D9Y7GTQ (expected: TU7D9Y7GTQ )
2022-06-19 14:31:14 : INFO  : typinator : Downloaded version of Typinator is 8.12.1 on versionKey CFBundleShortVersionString (replacing version 8.11).
2022-06-19 14:31:14 : INFO  : typinator : App has LSMinimumSystemVersion: 10.9
2022-06-19 14:31:14 : DEBUG : typinator : DEBUG mode 1 enabled, skipping remove, copy and chown steps
2022-06-19 14:31:14 : INFO  : typinator : Finishing...
2022-06-19 14:31:24 : INFO  : typinator : App(s) found: /Applications/Typinator.app
2022-06-19 14:31:25 : INFO  : typinator : found app at /Applications/Typinator.app, version 8.11, on versionKey CFBundleShortVersionString
2022-06-19 14:31:25 : REQ   : typinator : Installed Typinator, version 8.11
2022-06-19 14:31:25 : INFO  : typinator : notifying
2022-06-19 14:31:25 : DEBUG : typinator : DEBUG mode 1, not reopening anything
2022-06-19 14:31:25 : REQ   : typinator : All done!
2022-06-19 14:31:25 : REQ   : typinator : ################## End Installomator, exit code 0
2022-06-19 14:36:39 +02:00
macmangr
7e515b0366 New Label: Synology Drive Client
"Synology Drive Client desktop application is the desktop utility that provides file syncing and personal computer backup service on multiple client computers to a centralized server, Synology Drive Server."

./assemble.sh -l /Users/savvas/Desktop/Mosyle/Resources/InstallomatorLabels synologydriveclient
2022-06-17 22:04:10 : REQ   : synologydriveclient : ################## Start Installomator v. 9.2, date 2022-06-17
2022-06-17 22:04:10 : INFO  : synologydriveclient : ################## Version: 9.2
2022-06-17 22:04:10 : INFO  : synologydriveclient : ################## Date: 2022-06-17
2022-06-17 22:04:10 : INFO  : synologydriveclient : ################## synologydriveclient
2022-06-17 22:04:10 : DEBUG : synologydriveclient : DEBUG mode 1 enabled.
2022-06-17 22:04:10 : INFO  : synologydriveclient : BLOCKING_PROCESS_ACTION=tell_user
2022-06-17 22:04:10 : INFO  : synologydriveclient : NOTIFY=success
2022-06-17 22:04:10 : INFO  : synologydriveclient : LOGGING=DEBUG
2022-06-17 22:04:10 : INFO  : synologydriveclient : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-17 22:04:10 : INFO  : synologydriveclient : Label type: pkgInDmg
2022-06-17 22:04:10 : INFO  : synologydriveclient : archiveName: Synology Drive Client.dmg
2022-06-17 22:04:10 : INFO  : synologydriveclient : no blocking processes defined, using Synology Drive Client as default
2022-06-17 22:04:10 : DEBUG : synologydriveclient : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-06-17 22:04:10 : INFO  : synologydriveclient : found packageID com.synology.CloudStation installed, version 7.1.0
2022-06-17 22:04:10 : INFO  : synologydriveclient : appversion: 7.1.0
2022-06-17 22:04:10 : INFO  : synologydriveclient : Latest version of Synology Drive Client is 7.1.0
2022-06-17 22:04:10 : WARN  : synologydriveclient : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-06-17 22:04:10 : REQ   : synologydriveclient : Downloading https://global.download.synology.com/download/Utility/SynologyDriveClient/3.1.0-12923/Mac/Installer/synology-drive-client-12923.dmg to Synology Drive Client.dmg
2022-06-17 22:04:21 : DEBUG : synologydriveclient : File list: -rw-r--r--  1 savvas  staff    71M 17 Jun 22:04 Synology Drive Client.dmg
2022-06-17 22:04:21 : DEBUG : synologydriveclient : File type: Synology Drive Client.dmg: bzip2 compressed data, block size = 100k
2022-06-17 22:04:21 : DEBUG : synologydriveclient : curl output was:
*   Trying 65.9.66.38:443...
* Connected to global.download.synology.com (65.9.66.38) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [333 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [5175 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=global.download.synology.com
*  start date: Apr 29 07:21:41 2022 GMT
*  expire date: May 31 07:21:41 2023 GMT
*  subjectAltName: host "global.download.synology.com" matched cert's "global.download.synology.com"
*  issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certs.godaddy.com/repository/; CN=Go Daddy Secure Certificate Authority - G2
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f88cf80f600)
> GET /download/Utility/SynologyDriveClient/3.1.0-12923/Mac/Installer/synology-drive-client-12923.dmg HTTP/2
> Host: global.download.synology.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< content-type: application/octet-stream
< content-length: 74575228
< date: Tue, 07 Jun 2022 18:38:15 GMT
< last-modified: Thu, 28 Apr 2022 19:03:08 GMT
< etag: "8719eb20e8d6435edf7dfdeac1cf50be-15"
< accept-ranges: bytes
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 579a21a67e4dc50a655a7c0e9675261c.cloudfront.net (CloudFront)
< x-amz-cf-pop: FRA56-C1
< x-amz-cf-id: XWM1zUJtP5srb0NPTx7G-SF0nyJTplNgidIVYimK-CjQ-0HmcTVGQg==
< age: 869157
<
{ [2896 bytes data]
* Connection #0 to host global.download.synology.com left intact

2022-06-17 22:04:21 : DEBUG : synologydriveclient : DEBUG mode 1, not checking for blocking processes
2022-06-17 22:04:21 : REQ   : synologydriveclient : Installing Synology Drive Client
2022-06-17 22:04:21 : INFO  : synologydriveclient : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Synology Drive Client.dmg
2022-06-17 22:04:25 : DEBUG : synologydriveclient : Debugging enabled, dmgmount output was:
Prüfsumme für Protective Master Boot Record(MBR:0) berechnen …
Protective Master Boot Record(MBR:0): Die überprüfte CRC32-Prüfsumme ist $A8DB39D3
Prüfsumme für GPT Header(Primary GPT Header:1) berechnen …
GPT Header(Primary GPT Header:1): Die überprüfte CRC32-Prüfsumme ist $2BEB5693
Prüfsumme für GPT Partition Data(Primary GPT Table:2) berechnen …
GPT Partition Data(Primary GPT Table: Die überprüfte CRC32-Prüfsumme ist $EBAFDA05
Prüfsumme für (Apple_Free:3) berechnen …
(Apple_Free:3): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für disk image(Apple_HFS:4) berechnen …
disk image(Apple_HFS:4): Die überprüfte CRC32-Prüfsumme ist $0307F580
Prüfsumme für (Apple_Free:5) berechnen …
(Apple_Free:5): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für GPT Partition Data(Backup GPT Table:6) berechnen …
GPT Partition Data(Backup GPT Table:: Die überprüfte CRC32-Prüfsumme ist $EBAFDA05
Prüfsumme für GPT Header(Backup GPT Header:7) berechnen …
GPT Header(Backup GPT Header:7): Die überprüfte CRC32-Prüfsumme ist $AFE9E67E
Die überprüfte CRC32-Prüfsumme ist $74229A79
/dev/disk3          	GUID_partition_scheme
/dev/disk3s1        	Apple_HFS                      	/Volumes/Synology Drive Client

2022-06-17 22:04:25 : INFO  : synologydriveclient : Mounted: /Volumes/Synology Drive Client
2022-06-17 22:04:25 : DEBUG : synologydriveclient : Found pkg(s):
/Volumes/Synology Drive Client/Install Synology Drive Client.pkg
2022-06-17 22:04:25 : INFO  : synologydriveclient : found pkg: /Volumes/Synology Drive Client/Install Synology Drive Client.pkg
2022-06-17 22:04:25 : INFO  : synologydriveclient : Verifying: /Volumes/Synology Drive Client/Install Synology Drive Client.pkg
2022-06-17 22:04:25 : DEBUG : synologydriveclient : File list: -rw-r--r--@ 1 savvas  staff    70M 26 Apr 08:23 /Volumes/Synology Drive Client/Install Synology Drive Client.pkg
2022-06-17 22:04:26 : DEBUG : synologydriveclient : File type: /Volumes/Synology Drive Client/Install Synology Drive Client.pkg: xar archive compressed TOC: 6172, SHA-1 checksum
2022-06-17 22:04:26 : DEBUG : synologydriveclient : spctlOut is /Volumes/Synology Drive Client/Install Synology Drive Client.pkg: accepted
2022-06-17 22:04:26 : DEBUG : synologydriveclient : source=Notarized Developer ID
2022-06-17 22:04:26 : DEBUG : synologydriveclient : override=security disabled
2022-06-17 22:04:26 : DEBUG : synologydriveclient : origin=Developer ID Installer: Synology Inc. (X85BAK35Y4)
2022-06-17 22:04:26 : INFO  : synologydriveclient : Team ID: X85BAK35Y4 (expected: X85BAK35Y4 )
2022-06-17 22:04:26 : INFO  : synologydriveclient : Checking package version.
2022-06-17 22:04:30 : INFO  : synologydriveclient : Downloaded package com.synology.CloudStation version 7.1.0
2022-06-17 22:04:30 : INFO  : synologydriveclient : Downloaded version of Synology Drive Client is the same as installed.
2022-06-17 22:04:30 : DEBUG : synologydriveclient : Unmounting /Volumes/Synology Drive Client
2022-06-17 22:04:30 : DEBUG : synologydriveclient : Debugging enabled, Unmounting output was:
"disk3" ejected.
2022-06-17 22:04:30 : DEBUG : synologydriveclient : DEBUG mode 1, not reopening anything
2022-06-17 22:04:30 : REQ   : synologydriveclient : No new version to install
2022-06-17 22:04:30 : REQ   : synologydriveclient : ################## End Installomator, exit code 0
2022-06-17 22:11:48 +02:00
macmangr
96bad4bd84 New Label: OnScreen Control
An LG Monitor Utility

"OnScreen Control is an application used to manage a single monitor or a group of monitor with useful features such as Monitor Control, My Display Presets and Screen Split. OnScreen Control displays all connected LG monitor information. This software is compatible with LG monitors only."

./assemble.sh -l /Users/savvas/Desktop/Mosyle/Resources/InstallomatorLabels onscreencontrol
2022-06-17 20:58:28 : REQ   : onscreencontrol : ################## Start Installomator v. 9.2, date 2022-06-17
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## Version: 9.2
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## Date: 2022-06-17
2022-06-17 20:58:28 : INFO  : onscreencontrol : ################## onscreencontrol
2022-06-17 20:58:28 : DEBUG : onscreencontrol : DEBUG mode 1 enabled.
2022-06-17 20:58:28 : INFO  : onscreencontrol : BLOCKING_PROCESS_ACTION=tell_user
2022-06-17 20:58:28 : INFO  : onscreencontrol : NOTIFY=success
2022-06-17 20:58:28 : INFO  : onscreencontrol : LOGGING=DEBUG
2022-06-17 20:58:28 : INFO  : onscreencontrol : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-17 20:58:28 : INFO  : onscreencontrol : Label type: pkgInZip
2022-06-17 20:58:28 : INFO  : onscreencontrol : archiveName: OnScreen Control.zip
2022-06-17 20:58:28 : INFO  : onscreencontrol : no blocking processes defined, using OnScreen Control as default
2022-06-17 20:58:28 : DEBUG : onscreencontrol : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-06-17 20:58:29 : INFO  : onscreencontrol : No version found using packageID com.LGSI.OnScreen-Control
2022-06-17 20:58:29 : INFO  : onscreencontrol : App(s) found: /Applications/OnScreen Control.app
2022-06-17 20:58:29 : INFO  : onscreencontrol : found app at /Applications/OnScreen Control.app, version 5.47, on versionKey CFBundleShortVersionString
2022-06-17 20:58:29 : INFO  : onscreencontrol : appversion: 5.47
2022-06-17 20:58:29 : INFO  : onscreencontrol : Latest version of OnScreen Control is 5.47
2022-06-17 20:58:29 : WARN  : onscreencontrol : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-06-17 20:58:29 : REQ   : onscreencontrol : Downloading https://lmu.lge.com/ExternalService/onscreencontrol/mac/2.0/OnScreenControl_5.47.zip to OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File list: -rw-r--r--  1 savvas  staff    56M 17 Jun 20:58 OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File type: OnScreen Control.zip: Zip archive data, at least v2.0 to extract, compression method=deflate
2022-06-17 20:58:37 : DEBUG : onscreencontrol : curl output was:
*   Trying 23.48.23.5:443...
* Connected to lmu.lge.com (23.48.23.5) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [316 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [35 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4021 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=lmu.lge.com
*  start date: May 29 23:40:15 2022 GMT
*  expire date: Aug 27 23:40:14 2022 GMT
*  subjectAltName: host "lmu.lge.com" matched cert's "lmu.lge.com"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /ExternalService/onscreencontrol/mac/2.0/OnScreenControl_5.47.zip HTTP/1.1
> Host: lmu.lge.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Content-Type: application/zip
< ETag: "723d7988a59767c9a2aef6c274d5e5c1:1653637134.542227"
< Last-Modified: Fri, 27 May 2022 07:38:54 GMT
< Server: AkamaiNetStorage
< Content-Length: 59160965
< Expires: Fri, 17 Jun 2022 18:58:29 GMT
< Cache-Control: max-age=0, no-cache, no-store
< Pragma: no-cache
< Date: Fri, 17 Jun 2022 18:58:29 GMT
< Connection: keep-alive
<
{ [15989 bytes data]
* Connection #0 to host lmu.lge.com left intact

2022-06-17 20:58:37 : DEBUG : onscreencontrol : DEBUG mode 1, not checking for blocking processes
2022-06-17 20:58:37 : REQ   : onscreencontrol : Installing OnScreen Control
2022-06-17 20:58:37 : INFO  : onscreencontrol : Unzipping OnScreen Control.zip
2022-06-17 20:58:37 : DEBUG : onscreencontrol : Found pkg(s):
/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : INFO  : onscreencontrol : found pkg: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : INFO  : onscreencontrol : Verifying: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File list: -rw-r--r--@ 1 savvas  staff    56M 27 Mai 05:53 /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg
2022-06-17 20:58:37 : DEBUG : onscreencontrol : File type: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg: xar archive compressed TOC: 8499, SHA-1 checksum
2022-06-17 20:58:38 : DEBUG : onscreencontrol : spctlOut is /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/OSC_V5.47_signed.pkg: accepted
2022-06-17 20:58:38 : DEBUG : onscreencontrol : source=Notarized Developer ID
2022-06-17 20:58:38 : DEBUG : onscreencontrol : override=security disabled
2022-06-17 20:58:38 : DEBUG : onscreencontrol : origin=Developer ID Installer: LG Electronics (5SKT5H4CPQ)
2022-06-17 20:58:38 : INFO  : onscreencontrol : Team ID: 5SKT5H4CPQ (expected: 5SKT5H4CPQ )
2022-06-17 20:58:38 : INFO  : onscreencontrol : Checking package version.
2022-06-17 20:58:39 : INFO  : onscreencontrol : Downloaded package com.LGSI.OnScreen-Control version 5.47
2022-06-17 20:58:39 : INFO  : onscreencontrol : Downloaded version of OnScreen Control is the same as installed.
2022-06-17 20:58:39 : DEBUG : onscreencontrol : DEBUG mode 1, not reopening anything
2022-06-17 20:58:39 : REQ   : onscreencontrol : No new version to install
2022-06-17 20:58:39 : REQ   : onscreencontrol : ################## End Installomator, exit code 0
2022-06-17 21:20:51 +02:00
Armin Briegel
21128946ef Merge pull request #528 from scriptingosx/adobecreateclouddesktop-xml
html parsing now done with xmllint, should be more resilient
2022-06-17 15:56:57 +02:00
Armin Briegel
35eb65f668 Merge pull request #529 from scriptingosx/jxa-json
added function for JSON parsing using JXA
2022-06-17 15:56:30 +02:00
Armin Briegel
84d4184b1e Merge pull request #517 from mwmatter/workspaceone
Adding Workspace ONE support
2022-06-17 15:55:54 +02:00
Armin Briegel
158a30b6f1 removed unused variable 2022-06-17 15:50:01 +02:00
Armin Briegel
ae7db2621c removed absolute paths from commands 2022-06-17 15:49:00 +02:00
Thomas Bartlett
1ec9c3f0b0 Update grammarly.sh
Updated download URL as Grammarly removed the appcast.xml feed.
2022-06-14 10:05:11 -04:00
Graham Williams
817a3992b0 Create sonicvisualiser.sh
Output:

```
sudo ./assemble.sh sonicvisualiser DEBUG=0

2022-06-14 14:08:05 : WARN  : sonicvisualiser : setting variable from argument DEBUG=0
2022-06-14 14:08:05 : REQ   : sonicvisualiser : ################## Start Installomator v. 10.0beta, date 2022-06-14
2022-06-14 14:08:05 : INFO  : sonicvisualiser : ################## Version: 10.0beta
2022-06-14 14:08:05 : INFO  : sonicvisualiser : ################## Date: 2022-06-14
2022-06-14 14:08:05 : INFO  : sonicvisualiser : ################## sonicvisualiser
2022-06-14 14:08:06 : INFO  : sonicvisualiser : BLOCKING_PROCESS_ACTION=tell_user
2022-06-14 14:08:06 : INFO  : sonicvisualiser : NOTIFY=success
2022-06-14 14:08:06 : INFO  : sonicvisualiser : LOGGING=INFO
2022-06-14 14:08:06 : INFO  : sonicvisualiser : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-14 14:08:06 : INFO  : sonicvisualiser : Label type: dmg
2022-06-14 14:08:06 : INFO  : sonicvisualiser : archiveName: Sonic Visualiser.dmg
2022-06-14 14:08:06 : INFO  : sonicvisualiser : no blocking processes defined, using Sonic Visualiser as default
2022-06-14 14:08:06 : INFO  : sonicvisualiser : name: Sonic Visualiser, appName: Sonic Visualiser.app
2022-06-14 14:08:06 : WARN  : sonicvisualiser : No previous app found
2022-06-14 14:08:06 : WARN  : sonicvisualiser : could not find Sonic Visualiser.app
2022-06-14 14:08:06 : INFO  : sonicvisualiser : appversion:
2022-06-14 14:08:06 : INFO  : sonicvisualiser : Latest version of Sonic Visualiser is 4.5
2022-06-14 14:08:06 : REQ   : sonicvisualiser : Downloading https://github.com/sonic-visualiser/sonic-visualiser/releases/download/sv_v4.5/Sonic.Visualiser-4.5.dmg to Sonic Visualiser.dmg
2022-06-14 14:08:09 : REQ   : sonicvisualiser : no more blocking processes, continue with update
2022-06-14 14:08:09 : REQ   : sonicvisualiser : Installing Sonic Visualiser
2022-06-14 14:08:09 : INFO  : sonicvisualiser : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.Q5vjIONo/Sonic Visualiser.dmg
2022-06-14 14:08:12 : INFO  : sonicvisualiser : Mounted: /Volumes/Sonic Visualiser-4.5
2022-06-14 14:08:12 : INFO  : sonicvisualiser : Verifying: /Volumes/Sonic Visualiser-4.5/Sonic Visualiser.app
2022-06-14 14:08:14 : INFO  : sonicvisualiser : Team ID matching: 73F996B92S (expected: 73F996B92S )
2022-06-14 14:08:14 : INFO  : sonicvisualiser : Installing Sonic Visualiser version 4.5.0 on versionKey CFBundleShortVersionString.
2022-06-14 14:08:14 : INFO  : sonicvisualiser : Copy /Volumes/Sonic Visualiser-4.5/Sonic Visualiser.app to /Applications
2022-06-14 14:08:15 : WARN  : sonicvisualiser : Changing owner to grayw
2022-06-14 14:08:15 : INFO  : sonicvisualiser : Finishing...
2022-06-14 14:08:25 : INFO  : sonicvisualiser : App(s) found: /Applications/Sonic Visualiser.app
2022-06-14 14:08:25 : INFO  : sonicvisualiser : found app at /Applications/Sonic Visualiser.app, version 4.5.0, on versionKey CFBundleShortVersionString
2022-06-14 14:08:25 : REQ   : sonicvisualiser : Installed Sonic Visualiser, version 4.5.0
2022-06-14 14:08:25 : INFO  : sonicvisualiser : notifying
2022-06-14 14:08:25 : INFO  : sonicvisualiser : App not closed, so no reopen.
2022-06-14 14:08:25 : REQ   : sonicvisualiser : All done!
2022-06-14 14:08:25 : REQ   : sonicvisualiser : ################## End Installomator, exit code 0

```
2022-06-14 14:15:42 +01:00
Adam Codega
ba767cb2df Merge pull request #550 from FletcherS7/update-ringcentral-label
Update ringcentralapp label to fix not detecting blocking processes
2022-06-10 16:07:21 -04:00
Adam Codega
6108758a2f Merge pull request #571 from FletcherS7/label-mmhmm
New Label: mmhmm
2022-06-10 16:06:40 -04:00
Adam Codega
f7f918edcb Merge pull request #566 from FletcherS7/update-notion-label
Update Notion label to fix wrong version detection on arm installs
2022-06-10 15:55:15 -04:00
Fletcher Salesky
9652167833 Create tencentmeeting.sh 2022-06-08 00:25:24 -07:00
Fletcher Salesky
5e0e77c346 Update notion.sh 2022-06-07 18:16:18 -07:00
Omari
2fd262b6cb adding masv label to installomator 2022-06-07 13:34:03 -04:00
pythoninthegrass
a6f1224b41 Removed redundant variable and added arm64 download logic 2022-06-06 15:36:30 -05:00
Lance Stephens
f479413f70 kap
λ sudo utils/assemble.sh kap DEBUG=0
Password:
2022-06-06 14:40:02 : WARN  : kap : setting variable from argument DEBUG=0
2022-06-06 14:40:02 : REQ   : kap : ################## Start Installomator v. 10.0beta, date 2022-06-06
2022-06-06 14:40:02 : INFO  : kap : ################## Version: 10.0beta
2022-06-06 14:40:02 : INFO  : kap : ################## Date: 2022-06-06
2022-06-06 14:40:02 : INFO  : kap : ################## kap
2022-06-06 14:40:03 : INFO  : kap : BLOCKING_PROCESS_ACTION=tell_user
2022-06-06 14:40:03 : INFO  : kap : NOTIFY=success
2022-06-06 14:40:03 : INFO  : kap : LOGGING=INFO
2022-06-06 14:40:03 : INFO  : kap : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-06-06 14:40:03 : INFO  : kap : Label type: dmg
2022-06-06 14:40:03 : INFO  : kap : archiveName: Kap-[0-9.]*-x64.dmg
2022-06-06 14:40:03 : INFO  : kap : no blocking processes defined, using Kap as default
2022-06-06 14:40:03 : INFO  : kap : App(s) found: /Applications/Kap.app
2022-06-06 14:40:03 : INFO  : kap : found app at /Applications/Kap.app, version 3.5.3, on versionKey CFBundleShortVersionString
2022-06-06 14:40:03 : INFO  : kap : appversion: 3.5.3
2022-06-06 14:40:03 : INFO  : kap : Latest version of Kap is 3.5.4
2022-06-06 14:40:03 : REQ   : kap : Downloading https://github.com/wulkano/Kap/releases/download/v3.5.4/Kap-3.5.4-x64.dmg to Kap-[0-9.]*-x64.dmg
2022-06-06 14:40:08 : REQ   : kap : no more blocking processes, continue with update
2022-06-06 14:40:08 : REQ   : kap : Installing Kap
2022-06-06 14:40:08 : INFO  : kap : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.RoYqmJzY/Kap-[0-9.]*-x64.dmg
2022-06-06 14:40:13 : INFO  : kap : Mounted: /Volumes/Kap 3.5.4
2022-06-06 14:40:13 : INFO  : kap : Verifying: /Volumes/Kap 3.5.4/Kap.app
2022-06-06 14:40:17 : INFO  : kap : Team ID matching: 2KEEHXF6R6 (expected: 2KEEHXF6R6 )
2022-06-06 14:40:17 : INFO  : kap : Downloaded version of Kap is 3.5.4 on versionKey CFBundleShortVersionString (replacing version 3.5.3).
2022-06-06 14:40:17 : INFO  : kap : App has LSMinimumSystemVersion: 10.12.0
2022-06-06 14:40:17 : WARN  : kap : Removing existing /Applications/Kap.app
2022-06-06 14:40:17 : INFO  : kap : Copy /Volumes/Kap 3.5.4/Kap.app to /Applications
2022-06-06 14:40:18 : WARN  : kap : Changing owner to lance.stephens
2022-06-06 14:40:18 : INFO  : kap : Finishing...
2022-06-06 14:40:28 : INFO  : kap : App(s) found: /Applications/Kap.app
2022-06-06 14:40:28 : INFO  : kap : found app at /Applications/Kap.app, version 3.5.4, on versionKey CFBundleShortVersionString
2022-06-06 14:40:28 : REQ   : kap : Installed Kap, version 3.5.4
2022-06-06 14:40:28 : INFO  : kap : notifying
2022-06-06 14:40:29 : INFO  : kap : App not closed, so no reopen.
2022-06-06 14:40:29 : REQ   : kap : All done!
2022-06-06 14:40:29 : REQ   : kap : ################## End Installomator, exit code 0
2022-06-06 14:54:21 -05:00
Søren Theilgaard
9e24f2b8e8 rename label name
It already existed…
2022-05-27 12:18:18 +02:00
Fletcher Salesky
abe2e51f13 Update googledrive.sh 2022-05-26 12:24:23 -07:00
dnikles
e160bcb123 add cricutdesignspace label
Output:
```
2022-05-26 10:54:52 : WARN  : cricutdesignspace : setting variable from argument DEBUG=0
2022-05-26 10:54:52 : WARN  : cricutdesignspace : setting variable from argument INSTALL=force
2022-05-26 10:54:52 : REQ   : cricutdesignspace : ################## Start Installomator v. 10.0beta, date 2022-05-26
2022-05-26 10:54:52 : INFO  : cricutdesignspace : ################## Version: 10.0beta
2022-05-26 10:54:52 : INFO  : cricutdesignspace : ################## Date: 2022-05-26
2022-05-26 10:54:52 : INFO  : cricutdesignspace : ################## cricutdesignspace
2022-05-26 10:54:52 : INFO  : cricutdesignspace : BLOCKING_PROCESS_ACTION=tell_user
2022-05-26 10:54:52 : INFO  : cricutdesignspace : NOTIFY=success
2022-05-26 10:54:52 : INFO  : cricutdesignspace : LOGGING=INFO
2022-05-26 10:54:52 : INFO  : cricutdesignspace : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-26 10:54:53 : INFO  : cricutdesignspace : Label type: dmg
2022-05-26 10:54:53 : INFO  : cricutdesignspace : archiveName: Cricut Design Space.dmg
2022-05-26 10:54:53 : INFO  : cricutdesignspace : no blocking processes defined, using Cricut Design Space as default
2022-05-26 10:54:53 : INFO  : cricutdesignspace : App(s) found: /Applications/Cricut Design Space.app
2022-05-26 10:54:53 : INFO  : cricutdesignspace : found app at /Applications/Cricut Design Space.app, version 7.9.158, on versionKey CFBundleShortVersionString
2022-05-26 10:54:53 : INFO  : cricutdesignspace : appversion: 7.9.158
2022-05-26 10:54:53 : INFO  : cricutdesignspace : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-05-26 10:54:53 : INFO  : cricutdesignspace : Latest version of Cricut Design Space is 7.9.158
2022-05-26 10:54:53 : INFO  : cricutdesignspace : There is no newer version available.
2022-05-26 10:54:53 : REQ   : cricutdesignspace : Downloading https://staticcontent.cricut.com/a/software/osx-native/CricutDesignSpace-Install-v7.9.158.dmg to Cricut Design Space.dmg
2022-05-26 10:54:55 : REQ   : cricutdesignspace : no more blocking processes, continue with update
2022-05-26 10:54:55 : REQ   : cricutdesignspace : Installing Cricut Design Space
2022-05-26 10:54:55 : INFO  : cricutdesignspace : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.LLI066bN/Cricut Design Space.dmg
2022-05-26 10:54:58 : INFO  : cricutdesignspace : Mounted: /Volumes/Cricut Design Space Install
2022-05-26 10:54:58 : INFO  : cricutdesignspace : Verifying: /Volumes/Cricut Design Space Install/Cricut Design Space.app
2022-05-26 10:54:59 : INFO  : cricutdesignspace : Team ID matching: 25627ZFVT7 (expected: 25627ZFVT7 )
2022-05-26 10:54:59 : INFO  : cricutdesignspace : Downloaded version of Cricut Design Space is 7.9.158 on versionKey CFBundleShortVersionString, same as installed.
2022-05-26 10:54:59 : INFO  : cricutdesignspace : Using force to install anyway.
2022-05-26 10:54:59 : INFO  : cricutdesignspace : App has LSMinimumSystemVersion: 10.11.0
2022-05-26 10:54:59 : WARN  : cricutdesignspace : Removing existing /Applications/Cricut Design Space.app
2022-05-26 10:54:59 : INFO  : cricutdesignspace : Copy /Volumes/Cricut Design Space Install/Cricut Design Space.app to /Applications
2022-05-26 10:55:00 : WARN  : cricutdesignspace : Changing owner to dnikles
2022-05-26 10:55:00 : INFO  : cricutdesignspace : Finishing...
2022-05-26 10:55:10 : INFO  : cricutdesignspace : App(s) found: /Applications/Cricut Design Space.app
2022-05-26 10:55:10 : INFO  : cricutdesignspace : found app at /Applications/Cricut Design Space.app, version 7.9.158, on versionKey CFBundleShortVersionString
2022-05-26 10:55:10 : REQ   : cricutdesignspace : Installed Cricut Design Space, version 7.9.158
2022-05-26 10:55:10 : INFO  : cricutdesignspace : notifying
2022-05-26 10:55:10 : INFO  : cricutdesignspace : App not closed, so no reopen.
2022-05-26 10:55:10 : REQ   : cricutdesignspace : All done!
2022-05-26 10:55:10 : REQ   : cricutdesignspace : ################## End Installomator, exit code 0
```
2022-05-26 10:56:50 -04:00
Søren Theilgaard
7b4b1d12d1 WhatRoute label
A network utility:
```
Installomator/utils/assemble.sh whatroute
2022-05-25 13:46:54 : REQ   : whatroute : ################## Start Installomator v. 10.0beta, date 2022-05-25
2022-05-25 13:46:54 : INFO  : whatroute : ################## Version: 10.0beta
2022-05-25 13:46:54 : INFO  : whatroute : ################## Date: 2022-05-25
2022-05-25 13:46:54 : INFO  : whatroute : ################## whatroute
2022-05-25 13:46:54 : DEBUG : whatroute : DEBUG mode 1 enabled.
2022-05-25 13:46:58 : INFO  : whatroute : BLOCKING_PROCESS_ACTION=tell_user
2022-05-25 13:46:58 : INFO  : whatroute : NOTIFY=success
2022-05-25 13:46:58 : INFO  : whatroute : LOGGING=DEBUG
2022-05-25 13:46:58 : INFO  : whatroute : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-25 13:46:58 : INFO  : whatroute : Label type: zip
2022-05-25 13:46:58 : INFO  : whatroute : archiveName: WhatRoute.zip
2022-05-25 13:46:58 : INFO  : whatroute : no blocking processes defined, using WhatRoute as default
2022-05-25 13:46:58 : DEBUG : whatroute : Changing directory to /Users/st/Documents/GitHub/Installomator/build
2022-05-25 13:46:58 : INFO  : whatroute : App(s) found: /Applications/WhatRoute.app
2022-05-25 13:46:58 : INFO  : whatroute : found app at /Applications/WhatRoute.app, version 2.5.0, on versionKey CFBundleShortVersionString
2022-05-25 13:46:58 : INFO  : whatroute : appversion: 2.5.0
2022-05-25 13:46:58 : INFO  : whatroute : Latest version of WhatRoute is 2.5.0
2022-05-25 13:46:58 : WARN  : whatroute : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-25 13:46:58 : REQ   : whatroute : Downloading https://www.whatroute.net/software/whatroute-2.5.0.zip to WhatRoute.zip
2022-05-25 13:47:18 : DEBUG : whatroute : File list: -rw-r--r--  1 st  staff    38M May 25 13:47 WhatRoute.zip
2022-05-25 13:47:18 : DEBUG : whatroute : File type: WhatRoute.zip: Zip archive data, at least v1.0 to extract, compression method=store
2022-05-25 13:47:18 : DEBUG : whatroute : curl output was:
*   Trying 222.154.233.147:443...
* Connected to www.whatroute.net (222.154.233.147) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [322 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [25 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4423 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=bryanc.co.nz
*  start date: May 15 06:02:07 2022 GMT
*  expire date: Aug 13 06:02:06 2022 GMT
*  subjectAltName: host "www.whatroute.net" matched cert's "www.whatroute.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /software/whatroute-2.5.0.zip HTTP/1.1
> Host: www.whatroute.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Wed, 25 May 2022 11:46:59 GMT
< Server: Apache
< Last-Modified: Thu, 31 Mar 2022 01:31:34 GMT
< ETag: "2586bfd-5db799f55fabc"
< Accept-Ranges: bytes
< Content-Length: 39349245
< Content-Type: application/zip
<
{ [7964 bytes data]
* Connection #0 to host www.whatroute.net left intact

2022-05-25 13:47:18 : DEBUG : whatroute : DEBUG mode 1, not checking for blocking processes
2022-05-25 13:47:18 : REQ   : whatroute : Installing WhatRoute
2022-05-25 13:47:18 : INFO  : whatroute : Unzipping WhatRoute.zip
2022-05-25 13:47:19 : INFO  : whatroute : Verifying: /Users/st/Documents/GitHub/Installomator/build/WhatRoute.app
2022-05-25 13:47:19 : DEBUG : whatroute : App size:  60M	/Users/st/Documents/GitHub/Installomator/build/WhatRoute.app
2022-05-25 13:47:19 : DEBUG : whatroute : Debugging enabled, App Verification output was:
/Users/st/Documents/GitHub/Installomator/build/WhatRoute.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Bryan Christianson (H5879E8LML)

2022-05-25 13:47:20 : INFO  : whatroute : Team ID matching: H5879E8LML (expected: H5879E8LML )
2022-05-25 13:47:20 : INFO  : whatroute : Downloaded version of WhatRoute is 2.5.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-25 13:47:20 : DEBUG : whatroute : DEBUG mode 1, not reopening anything
2022-05-25 13:47:20 : REG   : whatroute : No new version to install
2022-05-25 13:47:20 : REQ   : whatroute : ################## End Installomator, exit code 0
```
2022-05-25 14:03:51 +02:00
Søren Theilgaard
c219f38459 Create barcoclickshare.sh 2022-05-25 13:26:37 +02:00
Fletcher Salesky
82bda85d6c Merge branch 'Installomator:main' into main 2022-05-23 15:01:19 -07:00
Fletcher Salesky
4c2a49af60 Create strongdm.sh 2022-05-23 13:22:58 -07:00
macmangr
650a07402f New Label: SynologyAssistant
./assemble.sh -l /Mosyle/Resources/InstallomatorLabels synologyassistant
2022-05-22 15:50:07 : REQ   : synologyassistant : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 15:50:07 : INFO  : synologyassistant : ################## Version: 9.2
2022-05-22 15:50:07 : INFO  : synologyassistant : ################## Date: 2022-05-22
2022-05-22 15:50:07 : INFO  : synologyassistant : ################## synologyassistant
2022-05-22 15:50:07 : DEBUG : synologyassistant : DEBUG mode 1 enabled.
2022-05-22 15:50:07 : INFO  : synologyassistant : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 15:50:07 : INFO  : synologyassistant : NOTIFY=success
2022-05-22 15:50:07 : INFO  : synologyassistant : LOGGING=DEBUG
2022-05-22 15:50:08 : INFO  : synologyassistant : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 15:50:08 : INFO  : synologyassistant : Label type: dmg
2022-05-22 15:50:08 : INFO  : synologyassistant : archiveName: SynologyAssistant.dmg
2022-05-22 15:50:08 : INFO  : synologyassistant : no blocking processes defined, using SynologyAssistant as default
2022-05-22 15:50:08 : DEBUG : synologyassistant : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 15:50:08 : INFO  : synologyassistant : No version found using packageID com.synology.DSAssistant
2022-05-22 15:50:08 : INFO  : synologyassistant : App(s) found: /Applications/SynologyAssistant.app
2022-05-22 15:50:08.721 defaults[13210:199987]
The domain/default pair of (/Applications/SynologyAssistant.app/Contents/Info.plist, CFBundleShortVersionString) does not exist
2022-05-22 15:50:08 : INFO  : synologyassistant : found app at /Applications/SynologyAssistant.app, version , on versionKey CFBundleShortVersionString
2022-05-22 15:50:08 : INFO  : synologyassistant : appversion:
2022-05-22 15:50:08 : INFO  : synologyassistant : Latest version of SynologyAssistant is 7.0.3-50049
2022-05-22 15:50:08 : REQ   : synologyassistant : Downloading https://global.download.synology.com/download/Utility/Assistant/7.0.3-50049/Mac/synology-assistant-7.0.3-50049.dmg to SynologyAssistant.dmg
2022-05-22 15:50:11 : DEBUG : synologyassistant : File list: -rw-r--r--  1 savvas  staff    18M 22 Mai 15:50 SynologyAssistant.dmg
2022-05-22 15:50:11 : DEBUG : synologyassistant : File type: SynologyAssistant.dmg: zlib compressed data
2022-05-22 15:50:11 : DEBUG : synologyassistant : curl output was:
*   Trying 13.225.80.21:443...
* Connected to global.download.synology.com (13.225.80.21) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [333 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [5175 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=global.download.synology.com
*  start date: Apr 29 07:21:41 2022 GMT
*  expire date: May 31 07:21:41 2023 GMT
*  subjectAltName: host "global.download.synology.com" matched cert's "global.download.synology.com"
*  issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certs.godaddy.com/repository/; CN=Go Daddy Secure Certificate Authority - G2
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7f7c9b00bc00)
> GET /download/Utility/Assistant/7.0.3-50049/Mac/synology-assistant-7.0.3-50049.dmg HTTP/2
> Host: global.download.synology.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< content-type: application/octet-stream
< content-length: 19155257
< date: Thu, 19 May 2022 09:02:41 GMT
< last-modified: Tue, 26 Apr 2022 18:33:58 GMT
< etag: "5f132f58c5ab0b776ef49dbb654c1537-4"
< accept-ranges: bytes
< server: AmazonS3
< x-cache: Hit from cloudfront
< via: 1.1 6c9a2d99a25484f38efa27d58a726b2c.cloudfront.net (CloudFront)
< x-amz-cf-pop: FRA2-C2
< x-amz-cf-id: H4CRHnyudj_GtrQCJxMOq7TDWr3nptzEUr3qFy9ezPu3j0UsuyZ_fw==
< age: 276448
<
{ [16042 bytes data]
* Connection #0 to host global.download.synology.com left intact

2022-05-22 15:50:11 : DEBUG : synologyassistant : DEBUG mode 1, not checking for blocking processes
2022-05-22 15:50:11 : REQ   : synologyassistant : Installing SynologyAssistant
2022-05-22 15:50:11 : INFO  : synologyassistant : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/SynologyAssistant.dmg
2022-05-22 15:50:14 : DEBUG : synologyassistant : Debugging enabled, dmgmount output was:
Prüfsumme für Protective Master Boot Record (MBR : 0) berechnen …
Protective Master Boot Record (MBR :: Die überprüfte CRC32-Prüfsumme ist $95B941F8
Prüfsumme für GPT Header (Primary GPT Header : 1) berechnen …
GPT Header (Primary GPT Header : 1): Die überprüfte CRC32-Prüfsumme ist $D85F8F1F
Prüfsumme für GPT Partition Data (Primary GPT Table : 2) berechnen …
GPT Partition Data (Primary GPT Tabl: Die überprüfte CRC32-Prüfsumme ist $0F713C62
Prüfsumme für  (Apple_Free : 3) berechnen …
(Apple_Free : 3): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für disk image (Apple_HFS : 4) berechnen …
disk image (Apple_HFS : 4): Die überprüfte CRC32-Prüfsumme ist $0772429B
Prüfsumme für  (Apple_Free : 5) berechnen …
(Apple_Free : 5): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für GPT Partition Data (Backup GPT Table : 6) berechnen …
GPT Partition Data (Backup GPT Table: Die überprüfte CRC32-Prüfsumme ist $0F713C62
Prüfsumme für GPT Header (Backup GPT Header : 7) berechnen …
GPT Header (Backup GPT Header : 7): Die überprüfte CRC32-Prüfsumme ist $0FF7183C
Die überprüfte CRC32-Prüfsumme ist $F223F8EC
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/synology-assistant-7.0.3-50049

2022-05-22 15:50:14 : INFO  : synologyassistant : Mounted: /Volumes/synology-assistant-7.0.3-50049
2022-05-22 15:50:14 : INFO  : synologyassistant : Verifying: /Volumes/synology-assistant-7.0.3-50049/SynologyAssistant.app
2022-05-22 15:50:14 : DEBUG : synologyassistant : App size:  40M	/Volumes/synology-assistant-7.0.3-50049/SynologyAssistant.app
2022-05-22 15:50:15 : DEBUG : synologyassistant : Debugging enabled, App Verification output was:
/Volumes/synology-assistant-7.0.3-50049/SynologyAssistant.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Synology Inc. (X85BAK35Y4)

2022-05-22 15:50:15 : INFO  : synologyassistant : Team ID matching: X85BAK35Y4 (expected: X85BAK35Y4 )
2022-05-22 15:50:15.860 defaults[13280:200237]
The domain/default pair of (/Volumes/synology-assistant-7.0.3-50049/SynologyAssistant.app/Contents/Info.plist, CFBundleShortVersionString) does not exist
2022-05-22 15:50:15 : INFO  : synologyassistant : Installing SynologyAssistant version  on versionKey CFBundleShortVersionString.
2022-05-22 15:50:15 : INFO  : synologyassistant : App has LSMinimumSystemVersion: 10.7
2022-05-22 15:50:15 : DEBUG : synologyassistant : DEBUG mode 1 enabled, skipping remove, copy and chown steps
2022-05-22 15:50:16 : INFO  : synologyassistant : Finishing...
2022-05-22 15:50:26 : INFO  : synologyassistant : No version found using packageID com.synology.DSAssistant
2022-05-22 15:50:26 : INFO  : synologyassistant : App(s) found: /Applications/SynologyAssistant.app
2022-05-22 15:50:26.241 defaults[13304:200361]
The domain/default pair of (/Applications/SynologyAssistant.app/Contents/Info.plist, CFBundleShortVersionString) does not exist
2022-05-22 15:50:26 : INFO  : synologyassistant : found app at /Applications/SynologyAssistant.app, version , on versionKey CFBundleShortVersionString
2022-05-22 15:50:26 : REQ   : synologyassistant : Installed SynologyAssistant
2022-05-22 15:50:26 : INFO  : synologyassistant : notifying
2022-05-22 15:50:26 : DEBUG : synologyassistant : Unmounting /Volumes/synology-assistant-7.0.3-50049
2022-05-22 15:50:26 : DEBUG : synologyassistant : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-22 15:50:26 : DEBUG : synologyassistant : DEBUG mode 1, not reopening anything
2022-05-22 15:50:26 : REQ   : synologyassistant : All done!
2022-05-22 15:50:26 : REQ   : synologyassistant : ################## End Installomator, exit code 0
2022-05-22 15:52:09 +02:00
macmangr
13b0e99bb8 New Label: NetSpot
./assemble.sh -l /Mosyle/Resources/InstallomatorLabels netspot
2022-05-22 15:46:11 : REQ   : netspot : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 15:46:11 : INFO  : netspot : ################## Version: 9.2
2022-05-22 15:46:11 : INFO  : netspot : ################## Date: 2022-05-22
2022-05-22 15:46:11 : INFO  : netspot : ################## netspot
2022-05-22 15:46:11 : DEBUG : netspot : DEBUG mode 1 enabled.
2022-05-22 15:46:12 : INFO  : netspot : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 15:46:12 : INFO  : netspot : NOTIFY=success
2022-05-22 15:46:12 : INFO  : netspot : LOGGING=DEBUG
2022-05-22 15:46:12 : INFO  : netspot : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 15:46:12 : INFO  : netspot : Label type: dmg
2022-05-22 15:46:12 : INFO  : netspot : archiveName: NetSpot.dmg
2022-05-22 15:46:12 : INFO  : netspot : no blocking processes defined, using NetSpot as default
2022-05-22 15:46:12 : DEBUG : netspot : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 15:46:12 : INFO  : netspot : App(s) found: /Applications/NetSpot.app
2022-05-22 15:46:12 : INFO  : netspot : found app at /Applications/NetSpot.app, version 2.14.1037, on versionKey CFBundleShortVersionString
2022-05-22 15:46:12 : INFO  : netspot : appversion: 2.14.1037
2022-05-22 15:46:12 : INFO  : netspot : Latest version of NetSpot is 2.14.1037
2022-05-22 15:46:12 : WARN  : netspot : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-22 15:46:12 : REQ   : netspot : Downloading https://cdn.netspotapp.com/download/NetSpot.dmg to NetSpot.dmg
2022-05-22 15:46:14 : DEBUG : netspot : File list: -rw-r--r--  1 savvas  staff    14M 22 Mai 15:46 NetSpot.dmg
2022-05-22 15:46:14 : DEBUG : netspot : File type: NetSpot.dmg: zlib compressed data
2022-05-22 15:46:14 : DEBUG : netspot : curl output was:
*   Trying 195.181.174.6:443...
* Connected to cdn.netspotapp.com (195.181.174.6) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [323 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4519 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=cdn.netspotapp.com
*  start date: Aug 16 00:00:00 2021 GMT
*  expire date: Aug 16 23:59:59 2022 GMT
*  subjectAltName: host "cdn.netspotapp.com" matched cert's "cdn.netspotapp.com"
*  issuer: C=LV; L=Riga; O=GoGetSSL; CN=GoGetSSL RSA DV CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fd99f00d400)
> GET /download/NetSpot.dmg HTTP/2
> Host: cdn.netspotapp.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< date: Sun, 22 May 2022 13:46:12 GMT
< content-type: application/octet-stream
< content-length: 14205239
< last-modified: Mon, 01 Nov 2021 11:52:37 GMT
< etag: "617fd505-d8c137"
< access-control-allow-origin: *
< x-accel-expires: @1653227772
< server: CDN77-Turbo
< x-77-nzt: AcO1rgUdD4PeTyMAAA
< x-77-nzt-ray: 4MvfbNRBJzs
< x-cache: REVALIDATED
< x-age: 9039
< x-77-pop: frankfurtDE
< x-77-cache: HIT
< accept-ranges: bytes
<
{ [16065 bytes data]
* Connection #0 to host cdn.netspotapp.com left intact

2022-05-22 15:46:14 : DEBUG : netspot : DEBUG mode 1, not checking for blocking processes
2022-05-22 15:46:14 : REQ   : netspot : Installing NetSpot
2022-05-22 15:46:14 : INFO  : netspot : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/NetSpot.dmg
2022-05-22 15:46:17 : DEBUG : netspot : Debugging enabled, dmgmount output was:
Prüfsumme für Protective Master Boot Record (MBR : 0) berechnen …
Protective Master Boot Record (MBR :: Die überprüfte CRC32-Prüfsumme ist $F3D13A57
Prüfsumme für GPT Header (Primary GPT Header : 1) berechnen …
GPT Header (Primary GPT Header : 1): Die überprüfte CRC32-Prüfsumme ist $94095ED1
Prüfsumme für GPT Partition Data (Primary GPT Table : 2) berechnen …
GPT Partition Data (Primary GPT Tabl: Die überprüfte CRC32-Prüfsumme ist $1ECC5766
Prüfsumme für  (Apple_Free : 3) berechnen …
(Apple_Free : 3): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für disk image (Apple_HFS : 4) berechnen …
disk image (Apple_HFS : 4): Die überprüfte CRC32-Prüfsumme ist $A09406C9
Prüfsumme für  (Apple_Free : 5) berechnen …
(Apple_Free : 5): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für GPT Partition Data (Backup GPT Table : 6) berechnen …
GPT Partition Data (Backup GPT Table: Die überprüfte CRC32-Prüfsumme ist $1ECC5766
Prüfsumme für GPT Header (Backup GPT Header : 7) berechnen …
GPT Header (Backup GPT Header : 7): Die überprüfte CRC32-Prüfsumme ist $9DC9CAF0
Die überprüfte CRC32-Prüfsumme ist $DF172160
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/NetSpot

2022-05-22 15:46:17 : INFO  : netspot : Mounted: /Volumes/NetSpot
2022-05-22 15:46:17 : INFO  : netspot : Verifying: /Volumes/NetSpot/NetSpot.app
2022-05-22 15:46:17 : DEBUG : netspot : App size:  27M	/Volumes/NetSpot/NetSpot.app
2022-05-22 15:46:18 : DEBUG : netspot : Debugging enabled, App Verification output was:
/Volumes/NetSpot/NetSpot.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Etwok Inc (5QLDY8TU83)

2022-05-22 15:46:18 : INFO  : netspot : Team ID matching: 5QLDY8TU83 (expected: 5QLDY8TU83 )
2022-05-22 15:46:18 : INFO  : netspot : Downloaded version of NetSpot is 2.14.1037 on versionKey CFBundleShortVersionString, same as installed.
2022-05-22 15:46:18 : DEBUG : netspot : Unmounting /Volumes/NetSpot
2022-05-22 15:46:18 : DEBUG : netspot : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-22 15:46:18 : DEBUG : netspot : DEBUG mode 1, not reopening anything
2022-05-22 15:46:18 : REG   : netspot : No new version to install
2022-05-22 15:46:18 : REQ   : netspot : ################## End Installomator, exit code 0
2022-05-22 15:47:49 +02:00
macmangr
0d30b6fb6c New Label: Merlin Project
./assemble.sh -l /Mosyle/Resources/InstallomatorLabels merlinproject
2022-05-22 15:39:04 : REQ   : merlinproject : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 15:39:04 : INFO  : merlinproject : ################## Version: 9.2
2022-05-22 15:39:04 : INFO  : merlinproject : ################## Date: 2022-05-22
2022-05-22 15:39:04 : INFO  : merlinproject : ################## merlinproject
2022-05-22 15:39:04 : DEBUG : merlinproject : DEBUG mode 1 enabled.
2022-05-22 15:39:05 : INFO  : merlinproject : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 15:39:05 : INFO  : merlinproject : NOTIFY=success
2022-05-22 15:39:05 : INFO  : merlinproject : LOGGING=DEBUG
2022-05-22 15:39:05 : INFO  : merlinproject : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 15:39:05 : INFO  : merlinproject : Label type: zip
2022-05-22 15:39:05 : INFO  : merlinproject : archiveName: Merlin Project.zip
2022-05-22 15:39:05 : INFO  : merlinproject : no blocking processes defined, using Merlin Project as default
2022-05-22 15:39:05 : DEBUG : merlinproject : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 15:39:05 : INFO  : merlinproject : App(s) found: /Applications/Merlin Project.app
2022-05-22 15:39:05 : INFO  : merlinproject : found app at /Applications/Merlin Project.app, version 8.1.3, on versionKey CFBundleShortVersionString
2022-05-22 15:39:05 : INFO  : merlinproject : appversion: 8.1.3
2022-05-22 15:39:05 : INFO  : merlinproject : Latest version of Merlin Project is 8.1.3
2022-05-22 15:39:05 : WARN  : merlinproject : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-22 15:39:05 : REQ   : merlinproject : Downloading https://www.projectwizards.net/downloads/MerlinProject.zip to Merlin Project.zip
2022-05-22 15:39:11 : DEBUG : merlinproject : File list: -rw-r--r--  1 savvas  staff    39M 22 Mai 15:39 Merlin Project.zip
2022-05-22 15:39:11 : DEBUG : merlinproject : File type: Merlin Project.zip: Zip archive data, at least v1.0 to extract, compression method=store
2022-05-22 15:39:11 : DEBUG : merlinproject : curl output was:
*   Trying 83.169.29.130:443...
* Connected to www.projectwizards.net (83.169.29.130) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [327 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [25 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [3047 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=*.projectwizards.net
*  start date: Jan 20 14:50:05 2022 GMT
*  expire date: Feb 19 14:50:05 2023 GMT
*  subjectAltName: host "www.projectwizards.net" matched cert's "*.projectwizards.net"
*  issuer: C=US; ST=Arizona; L=Scottsdale; O=Starfield Technologies, Inc.; OU=http://certs.starfieldtech.com/repository/; CN=Starfield Secure Certificate Authority - G2
*  SSL certificate verify ok.
> GET /downloads/MerlinProject.zip HTTP/1.1
> Host: www.projectwizards.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sun, 22 May 2022 13:39:05 GMT
< Content-Type: application/zip
< Content-Length: 40627041
< Connection: keep-alive
< Server: Apache
< Last-Modified: Wed, 02 Mar 2022 13:12:50 GMT
< ETag: "26beb61-5d93c09d87880"
< Accept-Ranges: bytes
<
{ [16132 bytes data]
* Connection #0 to host www.projectwizards.net left intact

2022-05-22 15:39:11 : DEBUG : merlinproject : DEBUG mode 1, not checking for blocking processes
2022-05-22 15:39:11 : REQ   : merlinproject : Installing Merlin Project
2022-05-22 15:39:11 : INFO  : merlinproject : Unzipping Merlin Project.zip
2022-05-22 15:39:13 : INFO  : merlinproject : Verifying: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Merlin Project.app
2022-05-22 15:39:13 : DEBUG : merlinproject : App size: 130M	/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Merlin Project.app
2022-05-22 15:39:14 : DEBUG : merlinproject : Debugging enabled, App Verification output was:
/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Merlin Project.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: ProjectWizards GmbH (9R6P9VZV27)

2022-05-22 15:39:14 : INFO  : merlinproject : Team ID matching: 9R6P9VZV27 (expected: 9R6P9VZV27 )
2022-05-22 15:39:14 : INFO  : merlinproject : Downloaded version of Merlin Project is 8.1.3 on versionKey CFBundleShortVersionString, same as installed.
2022-05-22 15:39:14 : DEBUG : merlinproject : DEBUG mode 1, not reopening anything
2022-05-22 15:39:14 : REG   : merlinproject : No new version to install
2022-05-22 15:39:14 : REQ   : merlinproject : ################## End Installomator, exit code 0
2022-05-22 15:41:58 +02:00
macmangr
4040067fc7 New Label: FLEXOPTIX App
./assemble.sh -l /Mosyle/Resources/InstallomatorLabels flexoptixapp
2022-05-22 15:24:14 : REQ   : flexoptixapp : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 15:24:14 : INFO  : flexoptixapp : ################## Version: 9.2
2022-05-22 15:24:14 : INFO  : flexoptixapp : ################## Date: 2022-05-22
2022-05-22 15:24:14 : INFO  : flexoptixapp : ################## flexoptixapp
2022-05-22 15:24:14 : DEBUG : flexoptixapp : DEBUG mode 1 enabled.
2022-05-22 15:24:14 : INFO  : flexoptixapp : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 15:24:14 : INFO  : flexoptixapp : NOTIFY=success
2022-05-22 15:24:14 : INFO  : flexoptixapp : LOGGING=DEBUG
2022-05-22 15:24:14 : INFO  : flexoptixapp : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 15:24:14 : INFO  : flexoptixapp : Label type: dmg
2022-05-22 15:24:14 : INFO  : flexoptixapp : archiveName: FLEXOPTIX App.dmg
2022-05-22 15:24:14 : INFO  : flexoptixapp : no blocking processes defined, using FLEXOPTIX App as default
2022-05-22 15:24:14 : DEBUG : flexoptixapp : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 15:24:14 : INFO  : flexoptixapp : App(s) found: /Applications/FLEXOPTIX App.app
2022-05-22 15:24:14 : INFO  : flexoptixapp : found app at /Applications/FLEXOPTIX App.app, version 5.11.0, on versionKey CFBundleShortVersionString
2022-05-22 15:24:14 : INFO  : flexoptixapp : appversion: 5.11.0
2022-05-22 15:24:14 : INFO  : flexoptixapp : Latest version of FLEXOPTIX App is 5.11.0
2022-05-22 15:24:14 : WARN  : flexoptixapp : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-22 15:24:14 : REQ   : flexoptixapp : Downloading https://flexbox.reconfigure.me/download/electron/mac/x64/current to FLEXOPTIX App.dmg
2022-05-22 15:24:26 : DEBUG : flexoptixapp : File list: -rw-r--r--  1 savvas  staff    83M 22 Mai 15:24 FLEXOPTIX App.dmg
2022-05-22 15:24:26 : DEBUG : flexoptixapp : File type: FLEXOPTIX App.dmg: zlib compressed data
2022-05-22 15:24:26 : DEBUG : flexoptixapp : curl output was:
*   Trying 162.55.184.232:443...
* Connected to flexbox.reconfigure.me (162.55.184.232) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [327 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [108 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4202 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [300 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [37 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
*  subject: CN=reconfigure.me
*  start date: Apr  1 21:52:26 2022 GMT
*  expire date: Jun 30 21:52:25 2022 GMT
*  subjectAltName: host "flexbox.reconfigure.me" matched cert's "flexbox.reconfigure.me"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /download/electron/mac/x64/current HTTP/1.1
> Host: flexbox.reconfigure.me
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Moved Temporarily
< Server: nginx
< Date: Sun, 22 May 2022 13:24:14 GMT
< Content-Type: text/html
< Content-Length: 138
< Connection: keep-alive
< Location: /download/electron/mac/x64//FLEXOPTIX App-5.11.0.dmg
<
* Ignoring the response-body
{ [140 bytes data]
* Connection #0 to host flexbox.reconfigure.me left intact
* Issue another request to this URL: 'https://flexbox.reconfigure.me/download/electron/mac/x64//FLEXOPTIX%20App-5.11.0.dmg'
* Found bundle for host flexbox.reconfigure.me: 0x6000036886f0 [serially]
* Can not multiplex, even if we wanted to!
* Re-using existing connection! (#0) with host flexbox.reconfigure.me
* Connected to flexbox.reconfigure.me (162.55.184.232) port 443 (#0)
> GET /download/electron/mac/x64//FLEXOPTIX%20App-5.11.0.dmg HTTP/1.1
> Host: flexbox.reconfigure.me
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 22 May 2022 13:24:14 GMT
< Content-Type: application/octet-stream
< Content-Length: 86705875
< Last-Modified: Fri, 25 Jun 2021 15:08:54 GMT
< Connection: keep-alive
< ETag: "60d5f186-52b06d3"
< Accept-Ranges: bytes
<
{ [16129 bytes data]
* Connection #0 to host flexbox.reconfigure.me left intact

2022-05-22 15:24:26 : DEBUG : flexoptixapp : DEBUG mode 1, not checking for blocking processes
2022-05-22 15:24:26 : REQ   : flexoptixapp : Installing FLEXOPTIX App
2022-05-22 15:24:26 : INFO  : flexoptixapp : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/FLEXOPTIX App.dmg
2022-05-22 15:24:29 : DEBUG : flexoptixapp : Debugging enabled, dmgmount output was:
Prüfsumme für Protective Master Boot Record (MBR : 0) berechnen …
Protective Master Boot Record (MBR :: Die überprüfte CRC32-Prüfsumme ist $F896513C
Prüfsumme für GPT Header (Primary GPT Header : 1) berechnen …
GPT Header (Primary GPT Header : 1): Die überprüfte CRC32-Prüfsumme ist $2A26FF3A
Prüfsumme für GPT Partition Data (Primary GPT Table : 2) berechnen …
GPT Partition Data (Primary GPT Tabl: Die überprüfte CRC32-Prüfsumme ist $C7EAE15F
Prüfsumme für  (Apple_Free : 3) berechnen …
(Apple_Free : 3): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für disk image (Apple_HFS : 4) berechnen …
disk image (Apple_HFS : 4): Die überprüfte CRC32-Prüfsumme ist $20C222C3
Prüfsumme für  (Apple_Free : 5) berechnen …
(Apple_Free : 5): Die überprüfte CRC32-Prüfsumme ist $00000000
Prüfsumme für GPT Partition Data (Backup GPT Table : 6) berechnen …
GPT Partition Data (Backup GPT Table: Die überprüfte CRC32-Prüfsumme ist $C7EAE15F
Prüfsumme für GPT Header (Backup GPT Header : 7) berechnen …
GPT Header (Backup GPT Header : 7): Die überprüfte CRC32-Prüfsumme ist $A017024D
Die überprüfte CRC32-Prüfsumme ist $00C1C1BD
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/FLEXOPTIX App 5.11.0

2022-05-22 15:24:29 : INFO  : flexoptixapp : Mounted: /Volumes/FLEXOPTIX App 5.11.0
2022-05-22 15:24:29 : INFO  : flexoptixapp : Verifying: /Volumes/FLEXOPTIX App 5.11.0/FLEXOPTIX App.app
2022-05-22 15:24:29 : DEBUG : flexoptixapp : App size: 190M	/Volumes/FLEXOPTIX App 5.11.0/FLEXOPTIX App.app
2022-05-22 15:24:32 : DEBUG : flexoptixapp : Debugging enabled, App Verification output was:
/Volumes/FLEXOPTIX App 5.11.0/FLEXOPTIX App.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Flexoptix GmbH (C5JETSFPHL)

2022-05-22 15:24:32 : INFO  : flexoptixapp : Team ID matching: C5JETSFPHL (expected: C5JETSFPHL )
2022-05-22 15:24:32 : INFO  : flexoptixapp : Downloaded version of FLEXOPTIX App is 5.11.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-22 15:24:32 : DEBUG : flexoptixapp : Unmounting /Volumes/FLEXOPTIX App 5.11.0
2022-05-22 15:24:32 : DEBUG : flexoptixapp : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-22 15:24:32 : DEBUG : flexoptixapp : DEBUG mode 1, not reopening anything
2022-05-22 15:24:32 : REG   : flexoptixapp : No new version to install
2022-05-22 15:24:32 : REQ   : flexoptixapp : ################## End Installomator, exit code 0
2022-05-22 15:25:26 +02:00
macmangr
20e6d0d122 New Label: Carbon Copy Cloner
./assemble.sh -l /Mosyle/Resources/InstallomatorLabels carboncopycloner
2022-05-22 15:17:32 : REQ   : carboncopycloner : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 15:17:32 : INFO  : carboncopycloner : ################## Version: 9.2
2022-05-22 15:17:32 : INFO  : carboncopycloner : ################## Date: 2022-05-22
2022-05-22 15:17:32 : INFO  : carboncopycloner : ################## carboncopycloner
2022-05-22 15:17:32 : DEBUG : carboncopycloner : DEBUG mode 1 enabled.
2022-05-22 15:17:33 : INFO  : carboncopycloner : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 15:17:33 : INFO  : carboncopycloner : NOTIFY=success
2022-05-22 15:17:33 : INFO  : carboncopycloner : LOGGING=DEBUG
2022-05-22 15:17:33 : INFO  : carboncopycloner : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 15:17:33 : INFO  : carboncopycloner : Label type: zip
2022-05-22 15:17:33 : INFO  : carboncopycloner : archiveName: Carbon Copy Cloner.zip
2022-05-22 15:17:33 : INFO  : carboncopycloner : no blocking processes defined, using Carbon Copy Cloner as default
2022-05-22 15:17:33 : DEBUG : carboncopycloner : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 15:17:33 : INFO  : carboncopycloner : App(s) found: /Applications/Carbon Copy Cloner.app
2022-05-22 15:17:33 : INFO  : carboncopycloner : found app at /Applications/Carbon Copy Cloner.app, version 6.1.1, on versionKey CFBundleShortVersionString
2022-05-22 15:17:33 : INFO  : carboncopycloner : appversion: 6.1.1
2022-05-22 15:17:34 : INFO  : carboncopycloner : Latest version of Carbon Copy Cloner is 6.1.1
2022-05-22 15:17:34 : WARN  : carboncopycloner : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-22 15:17:34 : REQ   : carboncopycloner : Downloading https://bombich.scdn1.secure.raxcdn.com/software/files/ccc-6.1.1.7323.zip to Carbon Copy Cloner.zip
2022-05-22 15:17:36 : DEBUG : carboncopycloner : File list: -rw-r--r--  1 savvas  staff    19M 22 Mai 15:17 Carbon Copy Cloner.zip
2022-05-22 15:17:36 : DEBUG : carboncopycloner : File type: Carbon Copy Cloner.zip: Zip archive data, at least v1.0 to extract, compression method=store
2022-05-22 15:17:36 : DEBUG : carboncopycloner : curl output was:
*   Trying 23.203.70.242:443...
* Connected to bombich.scdn1.secure.raxcdn.com (23.203.70.242) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [336 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [102 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [2916 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [333 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=Texas; L=Windcrest; O=Rackspace US Inc.; CN=*.scdn1.secure.raxcdn.com
*  start date: Dec 11 00:00:00 2021 GMT
*  expire date: Dec 13 23:59:59 2022 GMT
*  subjectAltName: host "bombich.scdn1.secure.raxcdn.com" matched cert's "*.scdn1.secure.raxcdn.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fd33e00c600)
> GET /software/files/ccc-6.1.1.7323.zip HTTP/2
> Host: bombich.scdn1.secure.raxcdn.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 200
< etag:
< server: LiteSpeed
< content-type: application/zip
< last-modified: Sat, 14 May 2022 14:52:09 GMT
< accept-ranges: bytes
< content-length: 20106063
< cache-control: public, max-age=19010
< expires: Sun, 22 May 2022 18:34:24 GMT
< date: Sun, 22 May 2022 13:17:34 GMT
<
{ [2676 bytes data]
* Connection #0 to host bombich.scdn1.secure.raxcdn.com left intact

2022-05-22 15:17:36 : DEBUG : carboncopycloner : DEBUG mode 1, not checking for blocking processes
2022-05-22 15:17:36 : REQ   : carboncopycloner : Installing Carbon Copy Cloner
2022-05-22 15:17:36 : INFO  : carboncopycloner : Unzipping Carbon Copy Cloner.zip
2022-05-22 15:17:37 : INFO  : carboncopycloner : Verifying: /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Carbon Copy Cloner.app
2022-05-22 15:17:37 : DEBUG : carboncopycloner : App size:  54M	/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Carbon Copy Cloner.app
2022-05-22 15:17:38 : DEBUG : carboncopycloner : Debugging enabled, App Verification output was:
/Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/Carbon Copy Cloner.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Bombich Software, Inc. (L4F2DED5Q7)

2022-05-22 15:17:38 : INFO  : carboncopycloner : Team ID matching: L4F2DED5Q7 (expected: L4F2DED5Q7 )
2022-05-22 15:17:38 : INFO  : carboncopycloner : Downloaded version of Carbon Copy Cloner is 6.1.1 on versionKey CFBundleShortVersionString, same as installed.
2022-05-22 15:17:38 : DEBUG : carboncopycloner : DEBUG mode 1, not reopening anything
2022-05-22 15:17:38 : REG   : carboncopycloner : No new version to install
2022-05-22 15:17:38 : REQ   : carboncopycloner : ################## End Installomator, exit code 0
2022-05-22 15:18:39 +02:00
macmangr
63423f175e New label A Better Finder Rename 11
./assemble.sh -l /Users/savvas/Desktop/Mosyle/Resources/InstallomatorLabels abetterfinderrename11
2022-05-22 14:29:11 : REQ   : abetterfinderrename11 : ################## Start Installomator v. 9.2, date 2022-05-22
2022-05-22 14:29:11 : INFO  : abetterfinderrename11 : ################## Version: 9.2
2022-05-22 14:29:11 : INFO  : abetterfinderrename11 : ################## Date: 2022-05-22
2022-05-22 14:29:11 : INFO  : abetterfinderrename11 : ################## abetterfinderrename11
2022-05-22 14:29:11 : DEBUG : abetterfinderrename11 : DEBUG mode 1 enabled.
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : BLOCKING_PROCESS_ACTION=tell_user
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : NOTIFY=success
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : LOGGING=DEBUG
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : Label type: dmg
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : archiveName: A Better Finder Rename 11.dmg
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : no blocking processes defined, using A Better Finder Rename 11 as default
2022-05-22 14:29:12 : DEBUG : abetterfinderrename11 : Changing directory to /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build
2022-05-22 14:29:12 : INFO  : abetterfinderrename11 : App(s) found: /Applications/A Better Finder Rename 11.app
2022-05-22 14:29:13 : INFO  : abetterfinderrename11 : found app at /Applications/A Better Finder Rename 11.app, version 11.48, on versionKey CFBundleShortVersionString
2022-05-22 14:29:13 : INFO  : abetterfinderrename11 : appversion: 11.48
2022-05-22 14:29:13 : INFO  : abetterfinderrename11 : Latest version of A Better Finder Rename 11 is 11.48
2022-05-22 14:29:13 : WARN  : abetterfinderrename11 : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-22 14:29:13 : REQ   : abetterfinderrename11 : Downloading https://www.publicspace.net/download/ABFRX11.dmg to A Better Finder Rename 11.dmg
2022-05-22 14:29:17 : DEBUG : abetterfinderrename11 : File list: -rw-r--r--  1 savvas  staff    13M 22 Mai 14:29 A Better Finder Rename 11.dmg
2022-05-22 14:29:17 : DEBUG : abetterfinderrename11 : File type: A Better Finder Rename 11.dmg: zlib compressed data
2022-05-22 14:29:17 : DEBUG : abetterfinderrename11 : curl output was:
*   Trying 45.76.0.90:443...
* Connected to www.publicspace.net (45.76.0.90) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [324 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [93 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [4042 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [333 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=publicspace.net
*  start date: Apr 26 11:06:03 2022 GMT
*  expire date: Jul 25 11:06:02 2022 GMT
*  subjectAltName: host "www.publicspace.net" matched cert's "www.publicspace.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /download/ABFRX11.dmg HTTP/1.1
> Host: www.publicspace.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Found
< Date: Sun, 22 May 2022 12:29:13 GMT
< Server: Apache/2.2.15 (CentOS)
< Set-Cookie: ps_Xi=fc3532242f71db63f14eec8e38ba7ddc; path=/; expires=Fri, 21 May 2027 12:29:13 GMT
< Set-Cookie: ps_Xt=ja%3D2%3Bjb%3D1%3Bgl%3D0%3Bgo%3D1%3Bgi%3D1%3Bgm%3D1%3Bgj%3D0%3Bod%3D1%3Bof%3D1%3Boc%3D1%3Bob%3D1%3Bog%3D1%3Boa%3D1%3Boe%3D1%3Blw%3D1%3Blz%3D1%3Blc%3D1%3Blb%3D1%3Bla%3D1%3Blx%3D1%3Bly%3D1%3Biz%3D1%3Biv%3D1%3Bit%3D1%3Biu%3D1%3Bix%3D1%3Biy%3D1%3Bis%3D1%3Biw%3D1%3Bfk%3D0%3Bfl%3D0%3Bfo%3D1%3Bfp%3D1%3Bfq%3D0%3Bfs%3D1%3Bnp%3DA%3Bns%3Donly%3Bny%3D1%3Bnt%3D1%3Bnv%3D1%3Bnw%3D1%3Bnx%3D1%3Bnu%3D1%3Bnz%3D1%3Bf%3D1%3Bb%3D0%3Ba%3D0%3Be%3D0%3Bc%3D0%3Bd%3D0%3B; path=/; expires=Fri, 21 May 2027 12:29:13 GMT
< Set-Cookie: ps_Xu=bookmarked%3B%3Cnone%3E%3Bwin; path=/; expires=Tue, 21 Jun 2022 12:29:13 GMT
< location: https://d3k6s0oeufjjjn.cloudfront.net/download0_41ea57282d185/ABFRX11.dmg
< Content-Length: 0
< Connection: close
< Content-Type: application/octet-stream
<
* Closing connection 0
* TLSv1.2 (IN), TLS alert, close notify (256):
{ [2 bytes data]
* TLSv1.2 (OUT), TLS alert, close notify (256):
} [2 bytes data]
* Issue another request to this URL: 'https://d3k6s0oeufjjjn.cloudfront.net/download0_41ea57282d185/ABFRX11.dmg'
*   Trying 13.224.194.186:443...
* Connected to d3k6s0oeufjjjn.cloudfront.net (13.224.194.186) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [334 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [10 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4963 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [36 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [36 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=*.cloudfront.net
*  start date: Feb  1 00:00:00 2022 GMT
*  expire date: Jan 31 23:59:59 2023 GMT
*  subjectAltName: host "d3k6s0oeufjjjn.cloudfront.net" matched cert's "*.cloudfront.net"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
> GET /download0_41ea57282d185/ABFRX11.dmg HTTP/1.1
> Host: d3k6s0oeufjjjn.cloudfront.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Content-Type: text/html; charset=iso-8859-1
< Content-Length: 356
< Connection: keep-alive
< Date: Sat, 21 May 2022 19:30:43 GMT
< Server: Apache/2.2.15 (CentOS)
< Location: https://www.publicspace.net/download0_41ea57282d185/ABFRX11.dmg
< X-Cache: Hit from cloudfront
< Via: 1.1 7a18a0a1d9929dae345690b88b08dd5e.cloudfront.net (CloudFront)
< X-Amz-Cf-Pop: FRA2-C1
< X-Amz-Cf-Id: U2_dcxL3hiHNhc2e3kxvUwhreA_DhClBfHdIVe1LB-_Gy2QXk3o6Yw==
< Age: 61110
<
* Ignoring the response-body
{ [356 bytes data]
* Connection #1 to host d3k6s0oeufjjjn.cloudfront.net left intact
* Issue another request to this URL: 'https://www.publicspace.net/download0_41ea57282d185/ABFRX11.dmg'
* Hostname www.publicspace.net was found in DNS cache
*   Trying 45.76.0.90:443...
* Connected to www.publicspace.net (45.76.0.90) port 443 (#2)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* SSL re-using session ID
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [263 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [81 bytes data]
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
{ [1 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: CN=publicspace.net
*  start date: Apr 26 11:06:03 2022 GMT
*  expire date: Jul 25 11:06:02 2022 GMT
*  subjectAltName: host "www.publicspace.net" matched cert's "www.publicspace.net"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
> GET /download0_41ea57282d185/ABFRX11.dmg HTTP/1.1
> Host: www.publicspace.net
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Sun, 22 May 2022 12:29:14 GMT
< Server: Apache/2.2.15 (CentOS)
< Last-Modified: Wed, 18 May 2022 10:33:04 GMT
< ETag: "21690-d51308-5df46c8419800"
< Accept-Ranges: bytes
< Content-Length: 13964040
< Connection: close
< Content-Type: text/plain; charset=UTF-8
<
{ [16384 bytes data]
* Closing connection 2
* TLSv1.2 (IN), TLS alert, close notify (256):
{ [2 bytes data]
* TLSv1.2 (OUT), TLS alert, close notify (256):
} [2 bytes data]

2022-05-22 14:29:17 : DEBUG : abetterfinderrename11 : DEBUG mode 1, not checking for blocking processes
2022-05-22 14:29:17 : REQ   : abetterfinderrename11 : Installing A Better Finder Rename 11
2022-05-22 14:29:17 : INFO  : abetterfinderrename11 : Mounting /Users/savvas/Desktop/Mosyle/Resources/Installomator-main original/build/A Better Finder Rename 11.dmg
2022-05-22 14:29:19 : DEBUG : abetterfinderrename11 : Debugging enabled, dmgmount output was:

Disclaimer of Warranty

This software is sold "as is" and without warranties as to performance
or merchantability or any other warranties whether expressed or
implied. Because of the various hardware and software environments
into which this program may be put, no warranty of fitness for a
particular purpose is offered. Good data processing procedure
dictates that any program be throughly tested with non-critical
data before relying on it. The user must assume the entire risk of
using the program. Any liability of the seller or author of the
program will be limited exclusively to product replacement or refund
of purchase price.
Prüfsumme für Driver Descriptor Map (DDM : 0) berechnen …
Driver Descriptor Map (DDM : 0): Die überprüfte CRC32-Prüfsumme ist $5A82F9A7
Prüfsumme für Apple (Apple_partition_map : 1) berechnen …
Apple (Apple_partition_map : 1): Die überprüfte CRC32-Prüfsumme ist $E3975401
Prüfsumme für disk image (Apple_HFS : 2) berechnen …
disk image (Apple_HFS : 2): Die überprüfte CRC32-Prüfsumme ist $1B97C162
Prüfsumme für  (Apple_Free : 3) berechnen …
(Apple_Free : 3): Die überprüfte CRC32-Prüfsumme ist $00000000
Die überprüfte CRC32-Prüfsumme ist $C5263827
/dev/disk2          	Apple_partition_scheme
/dev/disk2s1        	Apple_partition_map
/dev/disk2s2        	Apple_HFS                      	/Volumes/A Better Finder Rename 11

2022-05-22 14:29:19 : INFO  : abetterfinderrename11 : Mounted: /Volumes/A Better Finder Rename 11
2022-05-22 14:29:19 : INFO  : abetterfinderrename11 : Verifying: /Volumes/A Better Finder Rename 11/A Better Finder Rename 11.app
2022-05-22 14:29:19 : DEBUG : abetterfinderrename11 : App size:  43M	/Volumes/A Better Finder Rename 11/A Better Finder Rename 11.app
2022-05-22 14:29:21 : DEBUG : abetterfinderrename11 : Debugging enabled, App Verification output was:
/Volumes/A Better Finder Rename 11/A Better Finder Rename 11.app: accepted
source=Notarized Developer ID
override=security disabled
origin=Developer ID Application: Frank Reiff (7Y9KW4ND8W)

2022-05-22 14:29:21 : INFO  : abetterfinderrename11 : Team ID matching: 7Y9KW4ND8W (expected: 7Y9KW4ND8W )
2022-05-22 14:29:21 : INFO  : abetterfinderrename11 : Downloaded version of A Better Finder Rename 11 is 11.48 on versionKey CFBundleShortVersionString, same as installed.
2022-05-22 14:29:21 : DEBUG : abetterfinderrename11 : Unmounting /Volumes/A Better Finder Rename 11
2022-05-22 14:29:21 : DEBUG : abetterfinderrename11 : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-22 14:29:21 : DEBUG : abetterfinderrename11 : DEBUG mode 1, not reopening anything
2022-05-22 14:29:21 : REG   : abetterfinderrename11 : No new version to install
2022-05-22 14:29:21 : REQ   : abetterfinderrename11 : ################## End Installomator, exit code 0
2022-05-22 14:56:31 +02:00
Fletcher Salesky
e56be4f18a Update ringcentralapp.sh 2022-05-20 19:31:58 -07:00
Greg R
db85295899 New Label: KeepingYouAwake
https://keepingyouawake.app/
2022-05-20 12:37:33 -07:00
Fletcher Salesky
442a4ae0af Create duodevicehealth.sh 2022-05-19 22:19:13 -07:00
Fletcher Salesky
f8b91946c6 Create mmhmm.sh 2022-05-19 21:35:27 -07:00
Armin Briegel
2a236e9b2c fixed stray whitespace at the end of camtasia2019.sh, closes #547 2022-05-19 10:23:47 +02:00
Liam Steckler
b96e1dbca1 Add ipswupdater label using JSON parsing 2022-05-18 08:50:57 -07:00
Armin Briegel
a22e656146 Update README.md 2022-05-18 17:27:34 +02:00
Armin Briegel
dd98c13e40 Many new links and clarifications 2022-05-18 17:21:35 +02:00
Armin Briegel
89c4d4fa5c Update CONTRIBUTING.md 2022-05-18 17:09:52 +02:00
Søren Theilgaard
3ccc9dc93e versionKey added to the labels.
Output:
```
➜  Installomator/utils/assemble.sh marathoninfinity DEBUG=0
2022-05-18 15:21:53 : WARN  : marathoninfinity : setting variable from argument DEBUG=0
2022-05-18 15:21:53 : REQ   : marathoninfinity : ################## Start Installomator v. 10.0beta, date 2022-05-18
2022-05-18 15:21:53 : INFO  : marathoninfinity : ################## Version: 10.0beta
2022-05-18 15:21:53 : INFO  : marathoninfinity : ################## Date: 2022-05-18
2022-05-18 15:21:53 : INFO  : marathoninfinity : ################## marathoninfinity
2022-05-18 15:21:53 : INFO  : marathoninfinity : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 15:21:53 : INFO  : marathoninfinity : NOTIFY=success
2022-05-18 15:21:53 : INFO  : marathoninfinity : LOGGING=INFO
2022-05-18 15:21:53 : INFO  : marathoninfinity : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 15:21:53 : INFO  : marathoninfinity : Label type: dmg
2022-05-18 15:21:53 : INFO  : marathoninfinity : archiveName: MarathonInfinity-[0-9.]*-Mac.dmg
2022-05-18 15:21:53 : INFO  : marathoninfinity : no blocking processes defined, using Marathon Infinity as default
2022-05-18 15:21:53 : INFO  : marathoninfinity : App(s) found: /Applications/Marathon Infinity.app
2022-05-18 15:21:53 : INFO  : marathoninfinity : found app at /Applications/Marathon Infinity.app, version 20220115, on versionKey CFBundleVersion
2022-05-18 15:21:53 : INFO  : marathoninfinity : appversion: 20220115
2022-05-18 15:21:53 : INFO  : marathoninfinity : Latest version of Marathon Infinity is 20220115
2022-05-18 15:21:53 : INFO  : marathoninfinity : There is no newer version available.
2022-05-18 15:21:53 : INFO  : marathoninfinity : App not closed, so no reopen.
2022-05-18 15:21:53 : REQ   : marathoninfinity : No newer version.
2022-05-18 15:21:53 : REQ   : marathoninfinity : ################## End Installomator, exit code 0

➜  Installomator/utils/assemble.sh marathon DEBUG=0
2022-05-18 15:22:04 : WARN  : marathon : setting variable from argument DEBUG=0
2022-05-18 15:22:04 : REQ   : marathon : ################## Start Installomator v. 10.0beta, date 2022-05-18
2022-05-18 15:22:04 : INFO  : marathon : ################## Version: 10.0beta
2022-05-18 15:22:04 : INFO  : marathon : ################## Date: 2022-05-18
2022-05-18 15:22:04 : INFO  : marathon : ################## marathon
2022-05-18 15:22:04 : INFO  : marathon : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 15:22:04 : INFO  : marathon : NOTIFY=success
2022-05-18 15:22:04 : INFO  : marathon : LOGGING=INFO
2022-05-18 15:22:04 : INFO  : marathon : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 15:22:04 : INFO  : marathon : Label type: dmg
2022-05-18 15:22:04 : INFO  : marathon : archiveName: Marathon-[0-9.]*-Mac.dmg
2022-05-18 15:22:04 : INFO  : marathon : no blocking processes defined, using Marathon as default
2022-05-18 15:22:04 : INFO  : marathon : App(s) found: /Applications/Marathon.app
2022-05-18 15:22:04 : INFO  : marathon : found app at /Applications/Marathon.app, version 20220115, on versionKey CFBundleVersion
2022-05-18 15:22:04 : INFO  : marathon : appversion: 20220115
2022-05-18 15:22:04 : INFO  : marathon : Latest version of Marathon is 20220115
2022-05-18 15:22:04 : INFO  : marathon : There is no newer version available.
2022-05-18 15:22:04 : INFO  : marathon : App not closed, so no reopen.
2022-05-18 15:22:04 : REQ   : marathon : No newer version.
2022-05-18 15:22:04 : REQ   : marathon : ################## End Installomator, exit code 0

➜  Installomator/utils/assemble.sh marathon2 DEBUG=0
2022-05-18 15:22:08 : WARN  : marathon2 : setting variable from argument DEBUG=0
2022-05-18 15:22:08 : REQ   : marathon2 : ################## Start Installomator v. 10.0beta, date 2022-05-18
2022-05-18 15:22:08 : INFO  : marathon2 : ################## Version: 10.0beta
2022-05-18 15:22:08 : INFO  : marathon2 : ################## Date: 2022-05-18
2022-05-18 15:22:08 : INFO  : marathon2 : ################## marathon2
2022-05-18 15:22:08 : INFO  : marathon2 : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 15:22:08 : INFO  : marathon2 : NOTIFY=success
2022-05-18 15:22:08 : INFO  : marathon2 : LOGGING=INFO
2022-05-18 15:22:08 : INFO  : marathon2 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 15:22:08 : INFO  : marathon2 : Label type: dmg
2022-05-18 15:22:08 : INFO  : marathon2 : archiveName: Marathon2-[0-9.]*-Mac.dmg
2022-05-18 15:22:08 : INFO  : marathon2 : no blocking processes defined, using Marathon 2 as default
2022-05-18 15:22:08 : INFO  : marathon2 : App(s) found: /Applications/Marathon 2.app
2022-05-18 15:22:08 : INFO  : marathon2 : found app at /Applications/Marathon 2.app, version 20220115, on versionKey CFBundleVersion
2022-05-18 15:22:08 : INFO  : marathon2 : appversion: 20220115
2022-05-18 15:22:08 : INFO  : marathon2 : Latest version of Marathon 2 is 20220115
2022-05-18 15:22:08 : INFO  : marathon2 : There is no newer version available.
2022-05-18 15:22:08 : INFO  : marathon2 : App not closed, so no reopen.
2022-05-18 15:22:08 : REQ   : marathon2 : No newer version.
2022-05-18 15:22:08 : REQ   : marathon2 : ################## End Installomator, exit code 0
```
2022-05-18 15:23:52 +02:00
Søren Theilgaard
1de3838a9b GitHub without API calls
I have tested two labels, the first has an `archiveName`, the second does not:
```
➜  Installomator/utils/assemble.sh marathoninfinity DEBUG=0
2022-05-18 14:58:34 : WARN  : marathoninfinity : setting variable from argument DEBUG=0
2022-05-18 14:58:34 : REQ   : marathoninfinity : ################## Start Installomator v. 9.2beta, date 2022-05-18
2022-05-18 14:58:34 : INFO  : marathoninfinity : ################## Version: 9.2beta
2022-05-18 14:58:34 : INFO  : marathoninfinity : ################## Date: 2022-05-18
2022-05-18 14:58:34 : INFO  : marathoninfinity : ################## marathoninfinity
2022-05-18 14:58:34 : INFO  : marathoninfinity : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 14:58:34 : INFO  : marathoninfinity : NOTIFY=success
2022-05-18 14:58:34 : INFO  : marathoninfinity : LOGGING=INFO
2022-05-18 14:58:34 : INFO  : marathoninfinity : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 14:58:34 : INFO  : marathoninfinity : Label type: dmg
2022-05-18 14:58:34 : INFO  : marathoninfinity : archiveName: MarathonInfinity-[0-9.]*-Mac.dmg
2022-05-18 14:58:34 : INFO  : marathoninfinity : no blocking processes defined, using Marathon Infinity as default
2022-05-18 14:58:34 : INFO  : marathoninfinity : App(s) found: /Applications/Marathon Infinity.app
2022-05-18 14:58:34 : INFO  : marathoninfinity : found app at /Applications/Marathon Infinity.app, version 1.4, on versionKey CFBundleShortVersionString
2022-05-18 14:58:34 : INFO  : marathoninfinity : appversion: 1.4
2022-05-18 14:58:34 : INFO  : marathoninfinity : Latest version of Marathon Infinity is 20220115
2022-05-18 14:58:34 : REQ   : marathoninfinity : Downloading https://github.com/Aleph-One-Marathon/alephone/releases/download/release-20220115/MarathonInfinity-20220115-Mac.dmg to MarathonInfinity-[0-9.]*-Mac.dmg
2022-05-18 14:58:35 : REQ   : marathoninfinity : no more blocking processes, continue with update
2022-05-18 14:58:35 : REQ   : marathoninfinity : Installing Marathon Infinity
2022-05-18 14:58:35 : INFO  : marathoninfinity : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.uxoEpUyC/MarathonInfinity-[0-9.]*-Mac.dmg
2022-05-18 14:58:39 : INFO  : marathoninfinity : Mounted: /Volumes/Marathon Infinity
2022-05-18 14:58:39 : INFO  : marathoninfinity : Verifying: /Volumes/Marathon Infinity/Marathon Infinity.app
2022-05-18 14:58:43 : INFO  : marathoninfinity : Team ID matching: E8K89CXZE7 (expected: E8K89CXZE7 )
2022-05-18 14:58:43 : INFO  : marathoninfinity : Downloaded version of Marathon Infinity is 1.5 on versionKey CFBundleShortVersionString (replacing version 1.4).
2022-05-18 14:58:43 : INFO  : marathoninfinity : App has LSMinimumSystemVersion: 10.11.0
2022-05-18 14:58:43 : WARN  : marathoninfinity : Removing existing /Applications/Marathon Infinity.app
2022-05-18 14:58:43 : INFO  : marathoninfinity : Copy /Volumes/Marathon Infinity/Marathon Infinity.app to /Applications
2022-05-18 14:58:44 : WARN  : marathoninfinity : Changing owner to st
2022-05-18 14:58:44 : INFO  : marathoninfinity : Finishing...
2022-05-18 14:58:54 : INFO  : marathoninfinity : App(s) found: /Applications/Marathon Infinity.app
2022-05-18 14:58:54 : INFO  : marathoninfinity : found app at /Applications/Marathon Infinity.app, version 1.5, on versionKey CFBundleShortVersionString
2022-05-18 14:58:54 : REQ   : marathoninfinity : Installed Marathon Infinity, version 1.5
2022-05-18 14:58:54 : INFO  : marathoninfinity : notifying
2022-05-18 14:58:55 : INFO  : marathoninfinity : App not closed, so no reopen.
2022-05-18 14:58:55 : REQ   : marathoninfinity : All done!
2022-05-18 14:58:55 : REQ   : marathoninfinity : ################## End Installomator, exit code 0

➜  Installomator/utils/assemble.sh installomator DEBUG=0 INSTALL=force
2022-05-18 14:59:41 : WARN  : installomator : setting variable from argument DEBUG=0
2022-05-18 14:59:41 : WARN  : installomator : setting variable from argument INSTALL=force
2022-05-18 14:59:41 : REQ   : installomator : ################## Start Installomator v. 9.2beta, date 2022-05-18
2022-05-18 14:59:41 : INFO  : installomator : ################## Version: 9.2beta
2022-05-18 14:59:41 : INFO  : installomator : ################## Date: 2022-05-18
2022-05-18 14:59:41 : INFO  : installomator : ################## installomator
2022-05-18 14:59:42 : INFO  : installomator : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 14:59:42 : INFO  : installomator : NOTIFY=success
2022-05-18 14:59:42 : INFO  : installomator : LOGGING=INFO
2022-05-18 14:59:42 : INFO  : installomator : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 14:59:42 : INFO  : installomator : Label type: pkg
2022-05-18 14:59:42 : INFO  : installomator : archiveName: Installomator.pkg
2022-05-18 14:59:42 : INFO  : installomator : found packageID com.scriptingosx.Installomator installed, version 9.2
2022-05-18 14:59:42 : INFO  : installomator : appversion: 9.2
2022-05-18 14:59:42 : INFO  : installomator : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-05-18 14:59:42 : INFO  : installomator : Latest version of Installomator is 9.2
2022-05-18 14:59:42 : INFO  : installomator : There is no newer version available.
2022-05-18 14:59:42 : REQ   : installomator : Downloading https://github.com/Installomator/Installomator/releases/download/v9.2/Installomator-9.2.pkg to Installomator.pkg
2022-05-18 14:59:43 : REQ   : installomator : Installing Installomator
2022-05-18 14:59:43 : INFO  : installomator : Verifying: Installomator.pkg
2022-05-18 14:59:43 : INFO  : installomator : Team ID: JME5BW3F3R (expected: JME5BW3F3R )
2022-05-18 14:59:43 : INFO  : installomator : Checking package version.
2022-05-18 14:59:43 : INFO  : installomator : Downloaded package com.scriptingosx.Installomator version 9.2
2022-05-18 14:59:43 : INFO  : installomator : Downloaded version of Installomator is the same as installed.
2022-05-18 14:59:43 : INFO  : installomator : Using force to install anyway.
2022-05-18 14:59:43 : INFO  : installomator : Installing Installomator.pkg to /
2022-05-18 14:59:46 : INFO  : installomator : Finishing...
2022-05-18 14:59:56 : INFO  : installomator : found packageID com.scriptingosx.Installomator installed, version 9.2
2022-05-18 14:59:56 : REQ   : installomator : Installed Installomator, version 9.2
2022-05-18 14:59:56 : INFO  : installomator : notifying
2022-05-18 14:59:57 : INFO  : installomator : App not closed, so no reopen.
2022-05-18 14:59:57 : REQ   : installomator : All done!
2022-05-18 14:59:57 : REQ   : installomator : ################## End Installomator, exit code 0
```
The version comparison in marathininfinity will be updated shortly.
2022-05-18 15:02:32 +02:00
MacMike077
124c0cf85f Create googleadseditor.sh
2022-05-18 11:07:11 : REQ   : googleadseditor : ################## Start Installomator v. 9.2, date 2022-05-16
2022-05-18 11:07:11 : INFO  : googleadseditor : ################## Version: 9.2
2022-05-18 11:07:11 : INFO  : googleadseditor : ################## Date: 2022-05-16
2022-05-18 11:07:11 : INFO  : googleadseditor : ################## googleadseditor
2022-05-18 11:07:11 : INFO  : googleadseditor : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 11:07:11 : INFO  : googleadseditor : NOTIFY=success
2022-05-18 11:07:11 : INFO  : googleadseditor : LOGGING=INFO
2022-05-18 11:07:11 : INFO  : googleadseditor : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 11:07:11 : INFO  : googleadseditor : Label type: dmg
2022-05-18 11:07:11 : INFO  : googleadseditor : archiveName: Google Ads Editor.dmg
2022-05-18 11:07:11 : INFO  : googleadseditor : no blocking processes defined, using Google Ads Editor as default
2022-05-18 11:07:11 : INFO  : googleadseditor : name: Google Ads Editor, appName: Google Ads Editor.app
2022-05-18 11:07:12 : WARN  : googleadseditor : No previous app found
2022-05-18 11:07:12 : WARN  : googleadseditor : could not find Google Ads Editor.app
2022-05-18 11:07:12 : INFO  : googleadseditor : appversion:
2022-05-18 11:07:12 : INFO  : googleadseditor : Latest version not specified.
2022-05-18 11:07:12 : REQ   : googleadseditor : Downloading https://dl.google.com/adwords_editor/google_ads_editor.dmg to Google Ads Editor.dmg
2022-05-18 11:07:17 : REQ   : googleadseditor : no more blocking processes, continue with update
2022-05-18 11:07:17 : REQ   : googleadseditor : Installing Google Ads Editor
2022-05-18 11:07:17 : INFO  : googleadseditor : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.q9auZnh3/Google Ads Editor.dmg
2022-05-18 11:07:19 : INFO  : googleadseditor : Mounted: /Volumes/Google Ads Editor 1
2022-05-18 11:07:19 : INFO  : googleadseditor : Verifying: /Volumes/Google Ads Editor 1/Google Ads Editor.app
2022-05-18 11:07:21 : INFO  : googleadseditor : Team ID matching: EQHXZ8M8AV (expected: EQHXZ8M8AV )
2022-05-18 11:07:21.509 defaults[65632:614893]
The domain/default pair of (/Volumes/Google Ads Editor 1/Google Ads Editor.app/Contents/Info.plist, CFBundleShortVersionString) does not exist
2022-05-18 11:07:21 : INFO  : googleadseditor : Installing Google Ads Editor version  on versionKey CFBundleShortVersionString.
2022-05-18 11:07:21 : INFO  : googleadseditor : App has LSMinimumSystemVersion: 10.13
2022-05-18 11:07:21 : INFO  : googleadseditor : Copy /Volumes/Google Ads Editor 1/Google Ads Editor.app to /Applications
2022-05-18 11:07:22 : WARN  : googleadseditor : No user logged in or SYSTEMOWNER=1, setting owner to root:wheel
2022-05-18 11:07:22 : INFO  : googleadseditor : Finishing...
2022-05-18 11:07:32 : INFO  : googleadseditor : App(s) found: /Applications/Google Ads Editor.app
2022-05-18 11:07:32.448 defaults[65669:615163]
The domain/default pair of (/Applications/Google Ads Editor.app/Contents/Info.plist, CFBundleShortVersionString) does not exist
2022-05-18 11:07:32 : INFO  : googleadseditor : found app at /Applications/Google Ads Editor.app, version , on versionKey CFBundleShortVersionString
2022-05-18 11:07:32 : REQ   : googleadseditor : Installed Google Ads Editor
2022-05-18 11:07:32 : INFO  : googleadseditor : notifying
2022-05-18 11:07:32 : INFO  : googleadseditor : App not closed, so no reopen.
2022-05-18 11:07:32 : REQ   : googleadseditor : All done!
2022-05-18 11:07:32 : REQ   : googleadseditor : ################## End Installomator, exit code 0
2022-05-18 11:07:54 +02:00
Armin Briegel
b99c2619f4 updated assemble.sh to update Labels.txt when building script 2022-05-18 10:36:39 +02:00
Armin Briegel
9b229085bd Merge branch 'dev' 2022-05-18 10:29:42 +02:00
Armin Briegel
7e93eb6471 updated version.sh 2022-05-18 10:29:13 +02:00
Armin Briegel
8789d2cd75 updated miro for arm download, closes #475 2022-05-18 10:14:57 +02:00
MacMike077
8e26889e29 Create prune.sh
2022-05-18 09:51:50 : REQ   : prune : ################## Start Installomator v. 9.2, date 2022-05-16
2022-05-18 09:51:50 : INFO  : prune : ################## Version: 9.2
2022-05-18 09:51:50 : INFO  : prune : ################## Date: 2022-05-16
2022-05-18 09:51:50 : INFO  : prune : ################## prune
2022-05-18 09:51:51 : INFO  : prune : BLOCKING_PROCESS_ACTION=tell_user
2022-05-18 09:51:51 : INFO  : prune : NOTIFY=success
2022-05-18 09:51:51 : INFO  : prune : LOGGING=INFO
2022-05-18 09:51:51 : INFO  : prune : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-18 09:51:51 : INFO  : prune : Label type: zip
2022-05-18 09:51:51 : INFO  : prune : archiveName: Prune.zip
2022-05-18 09:51:51 : INFO  : prune : no blocking processes defined, using Prune as default
2022-05-18 09:51:51 : INFO  : prune : name: Prune, appName: Prune.app
2022-05-18 09:51:52 : WARN  : prune : No previous app found
2022-05-18 09:51:52 : WARN  : prune : could not find Prune.app
2022-05-18 09:51:52 : INFO  : prune : appversion:
2022-05-18 09:51:52 : INFO  : prune : Latest version of Prune is 2.2.4
2022-05-18 09:51:52 : REQ   : prune : Downloading https://github.com/BIG-RAT/Prune/releases/download/v2.2.4/Prune.zip to Prune.zip
2022-05-18 09:51:53 : REQ   : prune : no more blocking processes, continue with update
2022-05-18 09:51:53 : REQ   : prune : Installing Prune
2022-05-18 09:51:53 : INFO  : prune : Unzipping Prune.zip
2022-05-18 09:51:53 : INFO  : prune : Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.0beFjQd7/Prune.app
2022-05-18 09:51:53 : INFO  : prune : Team ID matching: PS2F6S478M (expected: PS2F6S478M )
2022-05-18 09:51:53 : INFO  : prune : Installing Prune version 2.2.4 on versionKey CFBundleShortVersionString.
2022-05-18 09:51:53 : INFO  : prune : App has LSMinimumSystemVersion: 10.13
2022-05-18 09:51:53 : INFO  : prune : Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.0beFjQd7/Prune.app to /Applications
2022-05-18 09:51:53 : WARN  : prune : No user logged in or SYSTEMOWNER=1, setting owner to root:wheel
2022-05-18 09:51:53 : INFO  : prune : Finishing...
2022-05-18 09:52:04 : INFO  : prune : App(s) found: /Applications/Prune.app
2022-05-18 09:52:04 : INFO  : prune : found app at /Applications/Prune.app, version 2.2.4, on versionKey CFBundleShortVersionString
2022-05-18 09:52:04 : REQ   : prune : Installed Prune, version 2.2.4
2022-05-18 09:52:04 : INFO  : prune : notifying
2022-05-18 09:52:04 : INFO  : prune : App not closed, so no reopen.
2022-05-18 09:52:04 : REQ   : prune : All done!
2022-05-18 09:52:04 : REQ   : prune : ################## End Installomator, exit code 0
2022-05-18 09:54:13 +02:00
Liam Steckler
ea6434c476 Update talkdeskcxcloud to use JSON parsing 2022-05-17 14:48:21 -07:00
Liam Steckler
8be5f4866e Update talkdeskcallbar to use JSON parsing 2022-05-17 14:41:57 -07:00
Chris Abbs
ca73eca5f2 edited fragment per contribution guidelines 2022-05-17 12:19:30 -05:00
Armin Briegel
af6ab1ae56 add appNewVersion to egnyte label, closes #500 2022-05-17 18:29:04 +02:00
Fletcher Salesky
7db13f0ecb Create googlechromeenterprise.sh 2022-05-16 13:28:07 -07:00
Armin Briegel
b56276612a Merge branch 'main' into dev 2022-05-16 20:15:55 +02:00
Armin Briegel
fa5f052d5a updated changelog 2022-05-16 20:14:32 +02:00
Armin Briegel
ed8e9ef913 general cleanup in prep for release 2022-05-16 20:12:48 +02:00
Armin Briegel
08fd69ae7b Merge pull request #514 from micahflee/1password8
1Password 8
2022-05-16 19:25:45 +02:00
Armin Briegel
4e8748d4fa Merge pull request #494 from sidbena/fix-for-missed-comment-in-header
Fix for missing comment in header
2022-05-16 19:19:46 +02:00
Armin Briegel
8576bdffbb merged #512 into main 2022-05-16 19:16:36 +02:00
Armin Briegel
5cf34c8ed8 Merge pull request #512 from FletcherS7/dev
New Label: Egnyte WebEdit
2022-05-16 16:02:18 +02:00
Armin Briegel
d6564d0e33 Merge pull request #510 from FletcherS7/main
New Label: WeChat
2022-05-16 16:01:47 +02:00
Armin Briegel
7c433785c9 Merge pull request #509 from worthypants/Installomator2
Create new label idrivethin
2022-05-16 15:54:14 +02:00
Armin Briegel
db1621cfb7 Merge pull request #507 from worthypants/main
Create new label iDrive
2022-05-16 15:42:08 +02:00
worthypants
84b9a98e13 updated label idrive
corrected downloadURL and appNewVersion
2022-05-16 14:46:10 +02:00
worthypants
e8d56b585c Updated idrivethin
revised downloadurl and appnewversion
2022-05-16 14:37:05 +02:00
Armin Briegel
4420ce2cf9 Update README.md 2022-05-16 12:47:29 +02:00
Armin Briegel
f77cd4467e Merge pull request #531 from FletcherS7/patch-1
Update README.md shields.io badges urls
2022-05-16 10:19:40 +02:00
Fletcher Salesky
bd41912310 Update README.md shields.io badges urls
Now pointed to Installomator/Installomator instead of scriptingosx/Installomator
Fixes Release and Downloads badges showing "no releases or repo found" error
2022-05-13 12:06:13 -07:00
Armin Briegel
2b658a576c added function for JSON parsing using JXA 2022-05-13 10:44:26 +02:00
Armin Briegel
d3390fefe6 html parsing now done with xmllint, should be more resilient, maybe 2022-05-13 10:22:53 +02:00
Armin Briegel
00a0f583b6 Merge pull request #527 from madtice/XeroxWorkCentre7800
adding Xerox Workcentre 7800 drivers
2022-05-13 09:52:08 +02:00
Armin Briegel
fc33a03447 Merge pull request #526 from madtice/Pika
Adding app Pika
2022-05-13 09:50:15 +02:00
Armin Briegel
c889a2d735 Merge pull request #525 from madtice/imageoptim
adding app imageoptim
2022-05-13 09:46:57 +02:00
madtice
3aafdde178 adding Xerox Workcentre 7800 drivers
2022-05-13 09:43:48 : REQ   : xeroxworkcentre7800 : ################## Start Installomator v. 9.2beta, date 2022-05-13
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : ################## Version: 9.2beta
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : ################## Date: 2022-05-13
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : ################## xeroxworkcentre7800
2022-05-13 09:43:48 : DEBUG : xeroxworkcentre7800 : DEBUG mode 1 enabled.
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : BLOCKING_PROCESS_ACTION=tell_user
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : NOTIFY=success
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : LOGGING=DEBUG
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : Label type: pkgInDmg
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : archiveName: XeroxWorkCentre.dmg
2022-05-13 09:43:48 : DEBUG : xeroxworkcentre7800 : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : Custom App Version detection is used, found 5.10.1
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : appversion: 5.10.1
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : Latest version of XeroxWorkCentre is 5.10.1
2022-05-13 09:43:48 : WARN  : xeroxworkcentre7800 : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : XeroxWorkCentre.dmg exists and DEBUG mode 1 enabled, skipping download
2022-05-13 09:43:48 : REQ   : xeroxworkcentre7800 : Installing XeroxWorkCentre
2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : Mounting /Users/thijs/gits/Installomator/build/XeroxWorkCentre.dmg
2022-05-13 09:43:48 : DEBUG : xeroxworkcentre7800 : Debugging enabled, dmgmount output was:
expected CRC32 $562A7F63
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/Xerox Drivers 5.10.1

2022-05-13 09:43:48 : INFO  : xeroxworkcentre7800 : Mounted: /Volumes/Xerox Drivers 5.10.1
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : Found pkg(s):
/Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg
2022-05-13 09:43:49 : INFO  : xeroxworkcentre7800 : found pkg: /Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg
2022-05-13 09:43:49 : INFO  : xeroxworkcentre7800 : Verifying: /Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : File list: -rw-r--r--  1 root  staff    85M Apr 19 15:58 /Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : File type: /Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg: xar archive compressed TOC: 31493, SHA-1 checksum
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : spctlOut is /Volumes/Xerox Drivers 5.10.1/Xerox Drivers 5.10.1.pkg: accepted
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : source=Notarized Developer ID
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : origin=Developer ID Installer: Xerox Corporation (G59Y3XFNFR)
2022-05-13 09:43:49 : INFO  : xeroxworkcentre7800 : Team ID: G59Y3XFNFR (expected: G59Y3XFNFR )
2022-05-13 09:43:49 : DEBUG : xeroxworkcentre7800 : DEBUG enabled, skipping installation
2022-05-13 09:43:49 : INFO  : xeroxworkcentre7800 : Finishing...
2022-05-13 09:43:59 : INFO  : xeroxworkcentre7800 : Custom App Version detection is used, found 5.10.1
2022-05-13 09:43:59 : REQ   : xeroxworkcentre7800 : Installed XeroxWorkCentre, version 5.10.1
2022-05-13 09:43:59 : INFO  : xeroxworkcentre7800 : notifying
2022-05-13 09:43:59 : DEBUG : xeroxworkcentre7800 : Unmounting /Volumes/Xerox Drivers 5.10.1
2022-05-13 09:43:59 : DEBUG : xeroxworkcentre7800 : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-13 09:43:59 : DEBUG : xeroxworkcentre7800 : DEBUG mode 1, not reopening anything
2022-05-13 09:43:59 : REQ   : xeroxworkcentre7800 : All done!
2022-05-13 09:43:59 : REQ   : xeroxworkcentre7800 : ################## End Installomator, exit code 0
2022-05-13 09:44:41 +02:00
Armin Briegel
05e4cc92ea Merge pull request #524 from madtice/Hype
Adding hype (4)
2022-05-13 09:42:32 +02:00
madtice
9a154b80b7 Adding app Pika
2022-05-13 09:41:32 : REQ   : pika : ################## Start Installomator v. 9.2beta, date 2022-05-13
2022-05-13 09:41:32 : INFO  : pika : ################## Version: 9.2beta
2022-05-13 09:41:32 : INFO  : pika : ################## Date: 2022-05-13
2022-05-13 09:41:32 : INFO  : pika : ################## pika
2022-05-13 09:41:32 : DEBUG : pika : DEBUG mode 1 enabled.
2022-05-13 09:41:33 : INFO  : pika : BLOCKING_PROCESS_ACTION=tell_user
2022-05-13 09:41:33 : INFO  : pika : NOTIFY=success
2022-05-13 09:41:33 : INFO  : pika : LOGGING=DEBUG
2022-05-13 09:41:33 : INFO  : pika : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-13 09:41:33 : INFO  : pika : Label type: dmg
2022-05-13 09:41:33 : INFO  : pika : archiveName: Pika.dmg
2022-05-13 09:41:33 : DEBUG : pika : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-13 09:41:33 : INFO  : pika : No version found using packageID com.superhighfives.Pika
2022-05-13 09:41:33 : INFO  : pika : App(s) found: /Applications/Pika.app
2022-05-13 09:41:33 : INFO  : pika : found app at /Applications/Pika.app, version 0.0.12, on versionKey CFBundleShortVersionString
2022-05-13 09:41:33 : INFO  : pika : appversion: 0.0.12
2022-05-13 09:41:33 : INFO  : pika : Latest version of Pika is 0.0.12
2022-05-13 09:41:33 : WARN  : pika : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-13 09:41:33 : INFO  : pika : Pika.dmg exists and DEBUG mode 1 enabled, skipping download
2022-05-13 09:41:33 : REQ   : pika : Installing Pika
2022-05-13 09:41:33 : INFO  : pika : Mounting /Users/thijs/gits/Installomator/build/Pika.dmg
2022-05-13 09:41:33 : DEBUG : pika : Debugging enabled, dmgmount output was:
expected CRC32 $02D39DFE
/dev/disk2          	GUID_partition_scheme
/dev/disk2s1        	Apple_HFS                      	/Volumes/Pika

2022-05-13 09:41:34 : INFO  : pika : Mounted: /Volumes/Pika
2022-05-13 09:41:34 : INFO  : pika : Verifying: /Volumes/Pika/Pika.app
2022-05-13 09:41:34 : DEBUG : pika : App size: 8.0M	/Volumes/Pika/Pika.app
2022-05-13 09:41:34 : DEBUG : pika : Debugging enabled, App Verification output was:
/Volumes/Pika/Pika.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Charlie Gleason (TGHU37N6EX)

2022-05-13 09:41:34 : INFO  : pika : Team ID matching: TGHU37N6EX (expected: TGHU37N6EX )
2022-05-13 09:41:34 : INFO  : pika : Downloaded version of Pika is 0.0.12 on versionKey CFBundleShortVersionString, same as installed.
2022-05-13 09:41:34 : DEBUG : pika : Unmounting /Volumes/Pika
2022-05-13 09:41:34 : DEBUG : pika : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-13 09:41:34 : DEBUG : pika : DEBUG mode 1, not reopening anything
2022-05-13 09:41:34 : REG   : pika : No new version to install
2022-05-13 09:41:34 : REQ   : pika : ################## End Installomator, exit code 0
2022-05-13 09:41:49 +02:00
Armin Briegel
1de072bdbf Merge pull request #523 from madtice/fontexplorer
adding FontExplorer
2022-05-13 09:40:38 +02:00
madtice
5c43199ee6 adding imageoptim
2022-05-13 09:37:14 : REQ   : imageoptim : ################## Start Installomator v. 9.2beta, date 2022-05-13
2022-05-13 09:37:14 : INFO  : imageoptim : ################## Version: 9.2beta
2022-05-13 09:37:15 : INFO  : imageoptim : ################## Date: 2022-05-13
2022-05-13 09:37:15 : INFO  : imageoptim : ################## imageoptim
2022-05-13 09:37:15 : DEBUG : imageoptim : DEBUG mode 1 enabled.
2022-05-13 09:37:15 : INFO  : imageoptim : BLOCKING_PROCESS_ACTION=tell_user
2022-05-13 09:37:15 : INFO  : imageoptim : NOTIFY=success
2022-05-13 09:37:15 : INFO  : imageoptim : LOGGING=DEBUG
2022-05-13 09:37:15 : INFO  : imageoptim : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-13 09:37:15 : INFO  : imageoptim : Label type: tbz
2022-05-13 09:37:15 : INFO  : imageoptim : archiveName: imageoptim.tbz
2022-05-13 09:37:15 : DEBUG : imageoptim : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-13 09:37:15 : INFO  : imageoptim : No version found using packageID net.pornel.ImageOptim
2022-05-13 09:37:15 : INFO  : imageoptim : App(s) found: /Applications/imageoptim.app
2022-05-13 09:37:15 : INFO  : imageoptim : found app at /Applications/imageoptim.app, version 1.8.8, on versionKey CFBundleShortVersionString
2022-05-13 09:37:15 : INFO  : imageoptim : appversion: 1.8.8
2022-05-13 09:37:15 : INFO  : imageoptim : Latest version of imageoptim is 1.8.8
2022-05-13 09:37:15 : WARN  : imageoptim : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-13 09:37:15 : INFO  : imageoptim : imageoptim.tbz exists and DEBUG mode 1 enabled, skipping download
2022-05-13 09:37:15 : REQ   : imageoptim : Installing imageoptim
2022-05-13 09:37:15 : INFO  : imageoptim : Unzipping imageoptim.tbz
2022-05-13 09:37:16 : INFO  : imageoptim : Verifying: /Users/thijs/gits/Installomator/build/imageoptim.app
2022-05-13 09:37:16 : DEBUG : imageoptim : App size:  11M	/Users/thijs/gits/Installomator/build/imageoptim.app
2022-05-13 09:37:16 : DEBUG : imageoptim : Debugging enabled, App Verification output was:
/Users/thijs/gits/Installomator/build/imageoptim.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Kornel Lesinski (59KZTZA4XR)

2022-05-13 09:37:16 : INFO  : imageoptim : Team ID matching: 59KZTZA4XR (expected: 59KZTZA4XR )
2022-05-13 09:37:16 : INFO  : imageoptim : Downloaded version of imageoptim is 1.8.8 on versionKey CFBundleShortVersionString, same as installed.
2022-05-13 09:37:16 : DEBUG : imageoptim : DEBUG mode 1, not reopening anything
2022-05-13 09:37:16 : REG   : imageoptim : No new version to install
2022-05-13 09:37:16 : REQ   : imageoptim : ################## End Installomator, exit code 0
2022-05-13 09:38:58 +02:00
Armin Briegel
2efdd45759 Merge pull request #522 from madtice/main
Create filezilla.sh
2022-05-13 09:37:03 +02:00
madtice
f7d903bc87 Adding hype (4)
2022-05-13 09:32:43 : REQ   : hype : ################## Start Installomator v. 9.2beta, date 2022-05-13
2022-05-13 09:32:43 : INFO  : hype : ################## Version: 9.2beta
2022-05-13 09:32:43 : INFO  : hype : ################## Date: 2022-05-13
2022-05-13 09:32:43 : INFO  : hype : ################## hype
2022-05-13 09:32:43 : DEBUG : hype : DEBUG mode 1 enabled.
2022-05-13 09:32:43 : INFO  : hype : BLOCKING_PROCESS_ACTION=tell_user
2022-05-13 09:32:43 : INFO  : hype : NOTIFY=success
2022-05-13 09:32:43 : INFO  : hype : LOGGING=DEBUG
2022-05-13 09:32:43 : INFO  : hype : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-13 09:32:43 : INFO  : hype : Label type: dmg
2022-05-13 09:32:43 : INFO  : hype : archiveName: Hype4.dmg
2022-05-13 09:32:44 : DEBUG : hype : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-13 09:32:44 : INFO  : hype : No version found using packageID com.tumult.Hype4
2022-05-13 09:32:44 : INFO  : hype : App(s) found: /Applications/Hype4.app
2022-05-13 09:32:44 : INFO  : hype : found app at /Applications/Hype4.app, version 4.1.8, on versionKey CFBundleShortVersionString
2022-05-13 09:32:44 : INFO  : hype : appversion: 4.1.8
2022-05-13 09:32:44 : INFO  : hype : Latest version of Hype4 is 4.1.8
2022-05-13 09:32:44 : WARN  : hype : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-13 09:32:44 : INFO  : hype : Hype4.dmg exists and DEBUG mode 1 enabled, skipping download
2022-05-13 09:32:44 : REQ   : hype : Installing Hype4
2022-05-13 09:32:44 : INFO  : hype : Mounting /Users/thijs/gits/Installomator/build/Hype4.dmg
2022-05-13 09:32:44 : DEBUG : hype : Debugging enabled, dmgmount output was:
/dev/disk2          	Apple_partition_scheme
/dev/disk2s1        	Apple_partition_map
/dev/disk2s2        	Apple_HFS                      	/Volumes/Hype 4.1.8

2022-05-13 09:32:44 : INFO  : hype : Mounted: /Volumes/Hype 4.1.8
2022-05-13 09:32:44 : INFO  : hype : Verifying: /Volumes/Hype 4.1.8/Hype4.app
2022-05-13 09:32:44 : DEBUG : hype : App size:  50M	/Volumes/Hype 4.1.8/Hype4.app
2022-05-13 09:32:47 : DEBUG : hype : Debugging enabled, App Verification output was:
/Volumes/Hype 4.1.8/Hype4.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Tumult Inc. (8J356DM772)

2022-05-13 09:32:47 : INFO  : hype : Team ID matching: 8J356DM772 (expected: 8J356DM772 )
2022-05-13 09:32:47 : INFO  : hype : Downloaded version of Hype4 is 4.1.8 on versionKey CFBundleShortVersionString, same as installed.
2022-05-13 09:32:47 : DEBUG : hype : Unmounting /Volumes/Hype 4.1.8
2022-05-13 09:32:47 : DEBUG : hype : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-13 09:32:47 : DEBUG : hype : DEBUG mode 1, not reopening anything
2022-05-13 09:32:47 : REG   : hype : No new version to install
2022-05-13 09:32:47 : REQ   : hype : ################## End Installomator, exit code 0
2022-05-13 09:33:55 +02:00
Armin Briegel
5808bcc8dd Merge pull request #519 from imfromthebay/patch-1
New App: Linear (https://linear.app/)
2022-05-13 09:33:10 +02:00
Armin Briegel
c6dbf15995 add missing ;; at end of label 2022-05-13 09:31:45 +02:00
madtice
ce857dd372 adding FontExplorer
2022-05-13 09:28:24 : REQ   : fontexplorer : ################## Start Installomator v. 9.2beta, date 2022-05-13
2022-05-13 09:28:24 : INFO  : fontexplorer : ################## Version: 9.2beta
2022-05-13 09:28:24 : INFO  : fontexplorer : ################## Date: 2022-05-13
2022-05-13 09:28:24 : INFO  : fontexplorer : ################## fontexplorer
2022-05-13 09:28:24 : DEBUG : fontexplorer : DEBUG mode 1 enabled.
2022-05-13 09:28:24 : INFO  : fontexplorer : BLOCKING_PROCESS_ACTION=tell_user
2022-05-13 09:28:24 : INFO  : fontexplorer : NOTIFY=success
2022-05-13 09:28:24 : INFO  : fontexplorer : LOGGING=DEBUG
2022-05-13 09:28:24 : INFO  : fontexplorer : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-13 09:28:24 : INFO  : fontexplorer : Label type: dmg
2022-05-13 09:28:24 : INFO  : fontexplorer : archiveName: FontExplorer X Pro.dmg
2022-05-13 09:28:24 : INFO  : fontexplorer : no blocking processes defined, using FontExplorer X Pro as default
2022-05-13 09:28:24 : DEBUG : fontexplorer : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-13 09:28:24 : INFO  : fontexplorer : No version found using packageID com.linotype.FontExplorerX
2022-05-13 09:28:24 : INFO  : fontexplorer : App(s) found: /Applications/FontExplorer X Pro.app
2022-05-13 09:28:24 : INFO  : fontexplorer : found app at /Applications/FontExplorer X Pro.app, version 7.3.0, on versionKey CFBundleShortVersionString
2022-05-13 09:28:24 : INFO  : fontexplorer : appversion: 7.3.0
2022-05-13 09:28:24 : INFO  : fontexplorer : Latest version of FontExplorer X Pro is 7.3.0
2022-05-13 09:28:24 : WARN  : fontexplorer : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-13 09:28:24 : INFO  : fontexplorer : FontExplorer X Pro.dmg exists and DEBUG mode 1 enabled, skipping download
2022-05-13 09:28:24 : DEBUG : fontexplorer : DEBUG mode 1, not checking for blocking processes
2022-05-13 09:28:24 : REQ   : fontexplorer : Installing FontExplorer X Pro
2022-05-13 09:28:25 : INFO  : fontexplorer : Mounting /Users/thijs/gits/Installomator/build/FontExplorer X Pro.dmg
2022-05-13 09:28:25 : DEBUG : fontexplorer : Debugging enabled, dmgmount output was:
/dev/disk2          	Apple_partition_scheme
/dev/disk2s1        	Apple_partition_map
/dev/disk2s2        	Apple_HFS                      	/Volumes/FontExplorer X Pro

2022-05-13 09:28:25 : INFO  : fontexplorer : Mounted: /Volumes/FontExplorer X Pro
2022-05-13 09:28:25 : INFO  : fontexplorer : Verifying: /Volumes/FontExplorer X Pro/FontExplorer X Pro.app
2022-05-13 09:28:25 : DEBUG : fontexplorer : App size: 353M	/Volumes/FontExplorer X Pro/FontExplorer X Pro.app
2022-05-13 09:28:28 : DEBUG : fontexplorer : Debugging enabled, App Verification output was:
/Volumes/FontExplorer X Pro/FontExplorer X Pro.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Linotype GmbH (2V7G2B7WG4)

2022-05-13 09:28:28 : INFO  : fontexplorer : Team ID matching: 2V7G2B7WG4 (expected: 2V7G2B7WG4 )
2022-05-13 09:28:28 : INFO  : fontexplorer : Downloaded version of FontExplorer X Pro is 7.3.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-13 09:28:28 : DEBUG : fontexplorer : Unmounting /Volumes/FontExplorer X Pro
2022-05-13 09:28:28 : DEBUG : fontexplorer : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-13 09:28:28 : DEBUG : fontexplorer : DEBUG mode 1, not reopening anything
2022-05-13 09:28:28 : REG   : fontexplorer : No new version to install
2022-05-13 09:28:28 : REQ   : fontexplorer : ################## End Installomator, exit code 0
2022-05-13 09:29:51 +02:00
Armin Briegel
867c152ae5 add label shottr, closes #516 2022-05-13 09:28:40 +02:00
Armin Briegel
27157e00c7 added missing linebreak at end 2022-05-13 09:28:04 +02:00
Armin Briegel
d580ace737 Merge pull request #516 from DavidTaylor19/Add-Label-Shottr
Add label: Shottr
2022-05-13 09:25:30 +02:00
Armin Briegel
389fa83fdc Merge pull request #515 from drtaru/main
Update Label: Grammarly
2022-05-13 09:22:27 +02:00
Armin Briegel
83df589092 adding missing line break at end of file 2022-05-13 09:18:43 +02:00
Armin Briegel
047c44b507 Merge pull request #508 from marcelpogorzelski/Update-Citrix-Workspace
Fixed Citrix Workspace appNewVersion
2022-05-13 09:10:59 +02:00
madtice
a73eb14436 Delete hype.sh 2022-05-12 20:54:33 +02:00
madtice
183ad615f8 Merge branch 'main' of https://github.com/madtice/Installomator 2022-05-12 20:53:44 +02:00
madtice
069651cf9f added L flag to curl
Changed curl -fs to curl -fsL to cleanup logging. The usual -fsIL doesn't give me the newest version number.

2022-05-12 20:52:03 : REQ   : filezilla : ################## Start Installomator v. 9.2beta, date 2022-05-12
2022-05-12 20:52:03 : INFO  : filezilla : ################## Version: 9.2beta
2022-05-12 20:52:03 : INFO  : filezilla : ################## Date: 2022-05-12
2022-05-12 20:52:03 : INFO  : filezilla : ################## filezilla
2022-05-12 20:52:03 : DEBUG : filezilla : DEBUG mode 1 enabled.
2022-05-12 20:52:03 : INFO  : filezilla : BLOCKING_PROCESS_ACTION=tell_user
2022-05-12 20:52:03 : INFO  : filezilla : NOTIFY=success
2022-05-12 20:52:03 : INFO  : filezilla : LOGGING=DEBUG
2022-05-12 20:52:04 : INFO  : filezilla : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-12 20:52:04 : INFO  : filezilla : Label type: tbz
2022-05-12 20:52:04 : INFO  : filezilla : archiveName: FileZilla.tbz
2022-05-12 20:52:04 : DEBUG : filezilla : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-12 20:52:04 : INFO  : filezilla : No version found using packageID org.filezilla-project.filezilla
2022-05-12 20:52:04 : INFO  : filezilla : App(s) found: /Applications/FileZilla.app
2022-05-12 20:52:04 : INFO  : filezilla : found app at /Applications/FileZilla.app, version 3.59.0, on versionKey CFBundleShortVersionString
2022-05-12 20:52:04 : INFO  : filezilla : appversion: 3.59.0
2022-05-12 20:52:04 : INFO  : filezilla : Latest version of FileZilla is 3.59.0
2022-05-12 20:52:04 : WARN  : filezilla : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-12 20:52:04 : INFO  : filezilla : FileZilla.tbz exists and DEBUG mode 1 enabled, skipping download
2022-05-12 20:52:04 : REQ   : filezilla : Installing FileZilla
2022-05-12 20:52:04 : INFO  : filezilla : Unzipping FileZilla.tbz
2022-05-12 20:52:07 : INFO  : filezilla : Verifying: /Users/thijs/gits/Installomator/build/FileZilla.app
2022-05-12 20:52:07 : DEBUG : filezilla : App size:  44M	/Users/thijs/gits/Installomator/build/FileZilla.app
2022-05-12 20:52:07 : DEBUG : filezilla : Debugging enabled, App Verification output was:
/Users/thijs/gits/Installomator/build/FileZilla.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Tim Kosse (5VPGKXL75N)

2022-05-12 20:52:07 : INFO  : filezilla : Team ID matching: 5VPGKXL75N (expected: 5VPGKXL75N )
2022-05-12 20:52:07 : INFO  : filezilla : Downloaded version of FileZilla is 3.59.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-12 20:52:07 : DEBUG : filezilla : DEBUG mode 1, not reopening anything
2022-05-12 20:52:07 : REG   : filezilla : No new version to install
2022-05-12 20:52:07 : REQ   : filezilla : ################## End Installomator, exit code 0
2022-05-12 20:53:23 +02:00
madtice
a1f0864b7d Delete fontexplorer.sh 2022-05-12 20:47:57 +02:00
madtice
5eeabef079 Create fontexplorer.sh
2022-05-12 20:40:36 : REQ   : fontexplorer : ################## Start Installomator v. 9.2beta, date 2022-05-12
2022-05-12 20:40:36 : INFO  : fontexplorer : ################## Version: 9.2beta
2022-05-12 20:40:36 : INFO  : fontexplorer : ################## Date: 2022-05-12
2022-05-12 20:40:36 : INFO  : fontexplorer : ################## fontexplorer
2022-05-12 20:40:36 : DEBUG : fontexplorer : DEBUG mode 1 enabled.
2022-05-12 20:40:36 : INFO  : fontexplorer : BLOCKING_PROCESS_ACTION=tell_user
2022-05-12 20:40:36 : INFO  : fontexplorer : NOTIFY=success
2022-05-12 20:40:36 : INFO  : fontexplorer : LOGGING=DEBUG
2022-05-12 20:40:36 : INFO  : fontexplorer : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-12 20:40:37 : INFO  : fontexplorer : Label type: dmg
2022-05-12 20:40:37 : INFO  : fontexplorer : archiveName: FontExplorer X Pro.dmg
2022-05-12 20:40:37 : INFO  : fontexplorer : no blocking processes defined, using FontExplorer X Pro as default
2022-05-12 20:40:37 : DEBUG : fontexplorer : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-12 20:40:37 : INFO  : fontexplorer : No version found using packageID com.linotype.FontExplorerX
2022-05-12 20:40:37 : INFO  : fontexplorer : App(s) found: /Applications/FontExplorer X Pro.app
2022-05-12 20:40:37 : INFO  : fontexplorer : found app at /Applications/FontExplorer X Pro.app, version 7.3.0, on versionKey CFBundleShortVersionString
2022-05-12 20:40:37 : INFO  : fontexplorer : appversion: 7.3.0
2022-05-12 20:40:37 : INFO  : fontexplorer : Latest version of FontExplorer X Pro is 7.3.0
2022-05-12 20:40:37 : WARN  : fontexplorer : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-12 20:40:37 : REQ   : fontexplorer : Downloading http://www.fontexplorerx.com/download/free-trial/Mac/ to FontExplorer X Pro.dmg
2022-05-12 20:40:58 : DEBUG : fontexplorer : File list: -rw-r--r--  1 root  staff   219M May 12 20:40 FontExplorer X Pro.dmg
2022-05-12 20:40:58 : DEBUG : fontexplorer : File type: FontExplorer X Pro.dmg: bzip2 compressed data, block size = 100k
2022-05-12 20:40:58 : DEBUG : fontexplorer : curl output was:
*   Trying 104.18.180.24:80...
* Connected to www.fontexplorerx.com (104.18.180.24) port 80 (#0)
> GET /download/free-trial/Mac/ HTTP/1.1
> Host: www.fontexplorerx.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 12 May 2022 18:40:37 GMT
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: max-age=3600
< Expires: Thu, 12 May 2022 19:40:37 GMT
< Location: https://www.fontexplorerx.com/download/free-trial/Mac/
< Set-Cookie: __cf_bm=kZPes1jyXmAENecQ_jHVQct9Dvv_ISHMkgRcS4glo0I-1652380837-0-AQPVHegSUW/AmyCHfCgPmZVwgpJlX+4Jhdd51CRneVeNlhg4cWjwzSZp1L+1T+G40HCB/aPfP1oHNCNBbcRLTS6YT7jub4dfXfD26HdNm7S8; path=/; expires=Thu, 12-May-22 19:10:37 GMT; domain=.fontexplorerx.com; HttpOnly; SameSite=None
< Server: cloudflare
< CF-RAY: 70a548a99c75972d-AMS
<
* Ignoring the response-body
{ [5 bytes data]
* Connection #0 to host www.fontexplorerx.com left intact
* Issue another request to this URL: 'https://www.fontexplorerx.com/download/free-trial/Mac/'
*   Trying 104.18.180.24:443...
* Connected to www.fontexplorerx.com (104.18.180.24) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [326 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2992 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=Massachusetts; L=Woburn; O=Monotype Imaging Inc.; CN=*.fontexplorerx.com
*  start date: Oct  7 00:00:00 2021 GMT
*  expire date: Nov  7 23:59:59 2022 GMT
*  subjectAltName: host "www.fontexplorerx.com" matched cert's "*.fontexplorerx.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fc1df00d200)
> GET /download/free-trial/Mac/ HTTP/2
> Host: www.fontexplorerx.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 302
< date: Thu, 12 May 2022 18:40:37 GMT
< content-type: text/html; charset=utf-8
< location: https://fex.linotype.com/download/mac/FontExplorerXPro.dmg
< cache-control: no-cache, no-store, must-revalidate
< pragma: no-cache
< expires: -1
< x-content-type-options: nosniff
< content-security-policy: frame-ancestors 'none'
< strict-transport-security: max-age=31536002
< cf-cache-status: DYNAMIC
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=dYYK6Y7iXYOgbnA4M2wcaGi_3TSiOjfbcxSSw3Zbino-1652380837-0-AVfDaWLwFR6cAPkneaotOxDc7uxHiUEPuV92v30LSBVarfBz2BmbAgyBtIlmQBVorqV7i4ihmfqfHx+toFnCJJTxa6tymS6p9Cg6cp6Gs6hU; path=/; expires=Thu, 12-May-22 19:10:37 GMT; domain=.fontexplorerx.com; HttpOnly; Secure; SameSite=None
< server: cloudflare
< cf-ray: 70a548aa1d8e0b43-AMS
<
* Ignoring the response-body
{ [175 bytes data]
* Connection #1 to host www.fontexplorerx.com left intact
* Issue another request to this URL: 'https://fex.linotype.com/download/mac/FontExplorerXPro.dmg'
*   Trying 104.16.65.114:443...
* Connected to fex.linotype.com (104.16.65.114) port 443 (#2)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [321 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2979 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=Massachusetts; L=Woburn; O=Monotype Imaging Inc.; CN=*.linotype.com
*  start date: Oct 19 00:00:00 2021 GMT
*  expire date: Nov 19 23:59:59 2022 GMT
*  subjectAltName: host "fex.linotype.com" matched cert's "*.linotype.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fc1df00d200)
> GET /download/mac/FontExplorerXPro.dmg HTTP/2
> Host: fex.linotype.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 301
< date: Thu, 12 May 2022 18:40:37 GMT
< content-type: text/html; charset=iso-8859-1
< location: https://fex.linotype.com/download/mac/FontExplorerXPro730.dmg
< x-content-type-options: nosniff
< strict-transport-security: max-age=600
< cf-cache-status: HIT
< age: 434
< expires: Thu, 12 May 2022 22:40:37 GMT
< cache-control: public, max-age=14400
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=SlfrZLCGpjb6KyGZO8AA0rwgarMWV7kPmFXBLTzy5W4-1652380837-0-AbVvJxFnFOqL80rmdoW6+BJoGPtsSkZracJNOqpaUuwfkPqWxPXamLI3d94NaQ7loSyoYWq7sQEi2MBI2EVzhlg=; path=/; expires=Thu, 12-May-22 19:10:37 GMT; domain=.linotype.com; HttpOnly; Secure; SameSite=None
< server: cloudflare
< cf-ray: 70a548acfe324c61-AMS
<
* Ignoring the response-body
{ [269 bytes data]
* Connection #2 to host fex.linotype.com left intact
* Issue another request to this URL: 'https://fex.linotype.com/download/mac/FontExplorerXPro730.dmg'
* Found bundle for host fex.linotype.com: 0x600000236f70 [can multiplex]
* Re-using existing connection! (#2) with host fex.linotype.com
* Connected to fex.linotype.com (104.16.65.114) port 443 (#2)
* Using Stream ID: 3 (easy handle 0x7fc1df00d200)
> GET /download/mac/FontExplorerXPro730.dmg HTTP/2
> Host: fex.linotype.com
> user-agent: curl/7.79.1
> accept: */*
>
< HTTP/2 301
< date: Thu, 12 May 2022 18:40:37 GMT
< content-type: text/html; charset=iso-8859-1
< location: https://fast.fontexplorerx.com/FontExplorerXPro730.dmg
< x-content-type-options: nosniff
< strict-transport-security: max-age=600
< cf-cache-status: HIT
< age: 433
< expires: Thu, 12 May 2022 22:40:37 GMT
< cache-control: public, max-age=14400
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=Q4TbFu6Pl0l_HkUJCmCaf5rQaPllv5YED.XM2SL79U8-1652380837-0-AW4DU7pcHEiy+fHl61+ok4XgWh0nEcH+xQmqFXKJiv7H+3qCrGMgF3VX72WPtXrPszVJXl5V0uRNL2er8uChQpk=; path=/; expires=Thu, 12-May-22 19:10:37 GMT; domain=.linotype.com; HttpOnly; Secure; SameSite=None
< server: cloudflare
< cf-ray: 70a548ad2e6d4c61-AMS
<
* Ignoring the response-body
{ [262 bytes data]
* Connection #2 to host fex.linotype.com left intact
* Issue another request to this URL: 'https://fast.fontexplorerx.com/FontExplorerXPro730.dmg'
*   Trying 104.18.181.24:443...
* Connected to fast.fontexplorerx.com (104.18.181.24) port 443 (#3)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [327 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [19 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [2992 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=Massachusetts; L=Woburn; O=Monotype Imaging Inc.; CN=*.fontexplorerx.com
*  start date: Oct  7 00:00:00 2021 GMT
*  expire date: Nov  7 23:59:59 2022 GMT
*  subjectAltName: host "fast.fontexplorerx.com" matched cert's "*.fontexplorerx.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fc1df00d200)
> GET /FontExplorerXPro730.dmg HTTP/2
> Host: fast.fontexplorerx.com
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 200
< date: Thu, 12 May 2022 18:40:38 GMT
< content-type: application/x-apple-diskimage
< content-length: 229482072
< x-amz-id-2: rrcC6JFnkN2jtYk94tMm+523tEdrKttw5CAFgpRxGam9Q+CbHoM/Uh574h1Tiej44o+/Y/NwdLY=
< x-amz-request-id: CB8VSYEZ9B03GME4
< last-modified: Wed, 02 Mar 2022 10:13:51 GMT
< etag: "1e88553987c85a58640ed89b09b3905a-14"
< x-amz-version-id: cnP65ReMq6hht_tJxn6vOaTLvOrEPBC8
< cf-cache-status: HIT
< age: 434
< expires: Thu, 12 May 2022 22:40:38 GMT
< cache-control: public, max-age=14400
< accept-ranges: bytes
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< set-cookie: __cf_bm=fXzImTkInEiKHLNXQKjb4ssMB7TRhWIvw3OZqbnDGYA-1652380838-0-AVO+uwdFQxX4T6ttCaCyQ0IvfqwyaOvkySC4KiaQDqZv7Z9xZDH9qDg1jUHyTJNVdZEnTT1Z7YH3I3xRC4NWKJOHeHnD3lmDBXorIH2I7uRv; path=/; expires=Thu, 12-May-22 19:10:38 GMT; domain=.fontexplorerx.com; HttpOnly; Secure; SameSite=None
< server: cloudflare
< cf-ray: 70a548ad99424bef-AMS
<
{ [701 bytes data]
* Connection #3 to host fast.fontexplorerx.com left intact

2022-05-12 20:40:58 : DEBUG : fontexplorer : DEBUG mode 1, not checking for blocking processes
2022-05-12 20:40:58 : REQ   : fontexplorer : Installing FontExplorer X Pro
2022-05-12 20:40:59 : INFO  : fontexplorer : Mounting /Users/thijs/gits/Installomator/build/FontExplorer X Pro.dmg
2022-05-12 20:41:20 : DEBUG : fontexplorer : Debugging enabled, dmgmount output was:
FontExplorer X Software License Agreement We recommend that you
print this Agreement for further reference. This FontExplorer X
Software License Agreement (this “Agreement”) becomes a binding
contract between you and Monotype, when you click on the area marked
“ACCEPT LICENSE AGREEMENT” (or such similar language). If you do
not wish to be bound by this Agreement, you may not Use the
FontExplorer X Software. Please read all of this Agreement before
you agree to be bound by its terms and conditions.  1.      Definitions
Defined terms used throughout this Agreement: “Critical Patch
Releases” means updates to the FontExplorer X Software that Monotype
determines, in its sole discretion, will be made available on a
general basis to all of its customers. Critical Patch Releases may
or may not include certain changes that are included in an Update
and may be released before or after any such Update is provided to
eligible customers. A Critical Patch Release may, in Monotype’s
sole discretion, be released prior to completion of Monotype’s
complete quality assurance testing process.  “Device” means any
piece of electronic equipment or mechanism designed to serve a
special purpose or perform a special function, including, but not
limited to, a desktop computer, server or laptop.  “FontExplorer X
Pro Software” means all the contents of the files, CD-ROM, DVD-ROM
or other media relating to Monotype’s proprietary FontExplorer X
Pro Software product if such product is provided to you under this
Agreement. The FontExplorer X Pro Software may include Plugins
delivered as part of the FontExplorer X Pro Software package,
Updates, Upgrades, Critical Patch Releases, permitted copies, and
related documentation, in each case which may be provided to you
by Monotype in its sole discretion.  “FontExplorer X Server Software”
means all the contents of the files, CD-ROM, DVD-ROM or other media
relating to Monotype’s proprietary FontExplorer X Server Software
product if such product is provided to you under this Agreement.
The FontExplorer X Server Software may include Updates, Upgrades,
Critical Patch Releases, permitted copies, and related documentation,
in each case which may be provided to you by Monotype in its sole
discretion.  “FontExplorer X Software” means the FontExplorer X Pro
Software or the FontExplorer X Thin Client Software and, as the
case may be, the FontExplorer X Server Software.  “FontExplorer X
Thin Client Software” means the all contents of the files, CD-ROM,
DVD-ROM or other media relating to Monotype’s proprietary FontExplorer
X Thin Client Software product if such product is provided to you
under this Agreement. The FontExplorer X Thin Client Software may
include Plugins delivered as part of the FontExplorer X Thin Client
Software package, Updates, Upgrades, Critical Patch Releases,
permitted copies, and related documentation, in each case which may
be provided to you by Monotype in its sole discretion.  “Licensed
Server” means a Device that the FontExplorer X Server Software runs
on, regardless of other purposes the Device may be used for, and
which shall remain in your sole care, custody and control (or, if
the Licensed Server is hosted by an internet service provider for
your benefit, you shall be responsible for all content on the
Licensed Server, as well as access to and security for such content).
“Licensed User” means you and, so long as they have been notified
by you of the terms and conditions of this Agreement and have agreed
to be bound by it, (i) if you are an individual, members of your
immediate household or (ii) if you are a business entity, your
employees and any contractors, in each case subject to the limit
of the number of users specified in the respective invoice(s) or
licensing document(s).  “Monotype” means collectively Monotype
Imaging Inc., 600 Unicorn Park Drive, Woburn, Massachusetts 01801,
USA, its successors and assigns, its parent and affiliated corporations,
its authorized distributors, and any third party which has licensed
to Monotype any or all of the components of the FontExplorer X
Software supplied to you pursuant to this Agreement.  “Software
Releases” are newly named products which provide unique functionality
beyond the scope of previously released software products and which
will be made available to customers for an additional fee.  “Trial
Period” is a period defined by the communication between you and
Monotype to evaluate FontExplorer X Software in accordance with the
terms of this Agreement.  “Update” means any bug fixes or minor
debugging that revises or corrects inefficiencies or defects in the
FontExplorer X Software. Some specific updates may include a Critical
Patch Release in Monotype’s sole discretion. Updates shall not
include any Upgrades or Software Releases.  “Upgrade” means a new
version of the FontExplorer X Software which provides product
updates, feature enhancements and/or the foundation for additional
functionality beyond that contained in the most recent version of
the FontExplorer X Software. Upgrades shall not include any Software
Releases.  “Use” of the FontExplorer X Software shall occur when
it is downloaded, installed, executed, accessed or an individual
or entity otherwise benefits from the FontExplorer X Software.  2.
Scope
You are bound by this Agreement and you acknowledge that
all Use of the FontExplorer X Software is governed by this
Agreement. You are responsible for any breach of this
Agreement by a Licensed User.
3.      License Grants 3.1     FontExplorer X Server Software. If
the quotation appertaining to this Agreement references the
FontExplorer X Server Software you are hereby granted, unless you
obtain the FontExplorer X Server Software for a Trial Period, subject
to the payment of the applicable license fees, and subject to the
terms and conditions of this Agreement, a non-exclusive, non-assignable,
non-transferable (if the FontExplorer X Software was not acquired
through a subscription except as expressly permitted in Section 9
of this Agreement) license to (i) Use the FontExplorer X Server
Software on Licensed Servers and (ii) to permit Licensed Users to
access and Use the FontExplorer X Server Software through Devices
or through an internal local area network (LAN) which includes
connections though a Virtual Private Network (VPN).  3.2
FontExplorer X Pro Software or FontExplorer X Thin Client Software.
Subject to the payment of the applicable license fees, and subject
to the terms and conditions of this Agreement, each Licensed User
is hereby granted a non-exclusive, non-assignable, non-transferable
(if the FontExplorer X Software or the FontExplorer X Thin Client
Software was not acquired through a subscription except as expressly
permitted in Section 9 of this Agreement) license to copy and Use
the FontExplorer X Pro Software or FontExplorer X Thin Client
Software on Devices which a Licensed User may access under the
condition that persons other than Licensed Users are excluded from
Use of the FontExplorer X Pro Software or FontExplorer X Thin Client
Software. The FontExplorer X Pro Software or FontExplorer X Thin
Client Software may be Used from a server (through a LAN or external
network system) as long as such Use is restricted to Licensed Users.
4.      Copies and Modifications 4.1     FontExplorer X Server
Software. If the quotation appertaining to this Agreement references
the FontExplorer X Server Software you may make one back-up copy
of the FontExplorer X Server Software for archival purposes only,
and you shall retain exclusive custody and control over such copy.
Such copy must contain the same copyright, trademark, and other
proprietary notices that appear on or in the FontExplorer X Server
Software.  4.2     FontExplorer X Pro Software or FontExplorer X
Thin Client Software. With the exception of making copies of the
FontExplorer X Pro Software or FontExplorer X Thin Client Software
for Devices which a Licensed User may access as provided by 3.2, a
Licensed User may make one back-up copy of the FontExplorer X Pro
Software or FontExplorer X Thin Client Software for archival purposes
only, and such Licensed User shall retain exclusive custody and
control over such copy. Such copy must contain the same copyright,
trademark, and other proprietary notices that appear on or in the
FontExplorer X Pro Software or FontExplorer X Thin Client Software.
4.3     Additional Restrictions. You may not, and you will not
encourage, assist or authorize any other person to: ¥       Install
the FontExplorer X Server Software on Devices other than on a
Licensed Server; ¥       Use the FontExplorer X Software if such
person is not a Licensed User; ¥       sublicense, rent or lease,
adapt, modify, alter, translate, convert, create any derivative
work or otherwise change the FontExplorer X Software or any portion
thereof; or ¥       reverse engineer, decompile, disassemble, or
otherwise attempt to discover the source code of the FontExplorer X
Software or any portion thereof, provided, however, that if you are
located in a European Community member country or any other country
which provides rights materially similar to the rights set forth
in this proviso, you may reverse engineer or decompile the
FontExplorer X Software only to the extent that sufficient information
is not available for the purpose of creating an interoperable
software program (but only for such purpose and only to the extent
that sufficient information is not provided by Monotype upon written
request). You agree not to publish, or make otherwise accessible
to the public, the information arrived at through reverse engineering
and/or decompiling for the purpose of achieving interoperability.
4.4     Ownership. If you modify or create a derivative work of the
FontExplorer X Software, Monotype becomes the owner of the modified
data and/or derivative work.  5.      Purchases of Font Software
through the FontExplorer X Pro Software 5.1     In order to purchase
font software products through the FontExplorer X Pro Software, a
Licensed User must register with Monotype. You agree to provide
accurate, current, and complete information and to maintain and
update the registration data as required. Personal data will be
collected, processed and used only by Monotype and its affiliated
companies to provide the services specified herein. In accordance
with the principle of the efficient collection of data, Monotype
will only collect personal data that is necessary to fulfill the
contract and provide the services hereunder.  5.2     Any purchase
of font software products made through the FontExplorer X Pro
Software is subject to the respective foundries’ End User License
Agreement (EULA). The EULAs may be updated by the respective foundry
from time to time and the EULA in effect at the time a Licensed
User purchases a particular font software product shall apply to
that font software product. A breach of any such EULA will also
constitute a breach of this Agreement.  6.      Licensing Information
The FontExplorer X Software may contain license information
about the fonts that are loaded in its repository (e. g.
number of licenses per font). To the extent that you or a
Licensed User enter or change such license information, you
agree that such information is and will be at all times
correct and complete.
7.      Reservation of Rights 7.1     You acknowledge that the
FontExplorer X Software is protected by the copyright of the United
States of America, by the copyright laws of other nations, and by
international treaties. Neither you nor any Licensed User has rights
to the FontExplorer X Software other than as expressly set forth
in this Agreement. You agree that Monotype or its licensors owns
all right, title and interest in and to the FontExplorer X Software,
its structure, organization, code, and related files, including all
property rights therein such as copyright, design and trademarks
rights. You agree that the FontExplorer X Software, its structure,
organization, code, and related files (including, without limitation,
its metrics) are valuable property of Monotype and that any intentional
Use of the FontExplorer X Software not expressly permitted by this
Agreement constitutes a theft of valuable property. You agree to
treat the FontExplorer X Software as you would any other copyrighted
material, such as a book. All rights not expressly granted in this
Agreement are expressly reserved to Monotype.  7.2     Monotype,
the Monotype logo, FontExplorer X and other Monotype trademarks
used in connection with the FontExplorer X Software are trademarks
or registered trademarks of Monotype Imaging Inc. or Monotype GmbH
in the U.S., Germany and/or other countries. Neither you nor any
Licensed User is granted any right or license with respect to any
of the aforementioned trademarks or any use of such trademarks. You
agree to use trademarks associated with the FontExplorer X Software
according to accepted trademark practice, including identification
of the trademark owner’s name. The use of any trademark as herein
authorized does not give you any rights of ownership in that trademark
and all use of any trademark shall inure to the sole benefit of
Monotype.  8.      Warranty; Disclaimer of Warranty; Liability
Limitations 8.1     Monotype warrants to you that the FontExplorer X
Software will perform in accordance with its documentation for the
ninety (90) day period following delivery. To make a warranty claim,
you must, within the ninety (90) day warranty period, notify Monotype.
8.2     MONOTYPE DOES NOT WARRANT THE PERFORMANCE OR RESULTS YOU
MAY OBTAIN BY USING THE FONTEXPLORER X SOFTWARE. TO THE GREATEST
EXTENT PERMITTED BY LAW THE FOREGOING STATES THE SOLE AND EXCLUSIVE
REMEDIES FOR MONOTYPE’S BREACH OF WARRANTY. EXCEPT FOR THE FOREGOING
LIMITED WARRANTY, MONOTYPE MAKES NO REPRESENTATIONS OR WARRANTIES,
EXPRESS OR IMPLIED, AS TO NON-INFRINGEMENT OF THIRD PARTY RIGHTS,
MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE.  8.3     TO
THE EXTENT PERMITTED BY THE APPLICABLE LAW MONOTYPE WILL NOT BE
LIABLE TO YOU OR ANYONE ELSE (I) FOR ANY CONSEQUENTIAL, INCIDENTAL
OR SPECIAL DAMAGES, INCLUDING WITHOUT LIMITATION ANY LOST PROFITS,
LOST DATA, LOST BUSINESS OPPORTUNITIES, OR LOST SAVINGS, EVEN IF
MONOTYPE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR
(II) FOR ANY CLAIM AGAINST YOU BY ANY THIRD PARTY SEEKING SUCH
DAMAGES EVEN IF MONOTYPE HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.  8.4     THE ABOVE LIMITATIONS OF LIABILITY WILL NOT
APPLY IF THE CAUSE OF THE DAMAGE WAS DELIBERATE OR DUE TO GROSS
NEGLIGENCE OR IF PERSONAL INJURY HAS OCCURRED. NEITHER WILL IT APPLY
IF YOU RAISE COMPULSORILY LEGALLY-BASED CLAIMS.  8.5     IN NO EVENT
SHALL MONOTYPE’S LIABILITY EXCEED ONE HUNDRED THOUSAND EURO (€
100,000.00), PROVIDED THAT THE APPLICABLE LAW PERMITS SUCH LIMITATION
OF LIABILITY.  8.6     To the greatest extent permitted by law, any
implied warranties not effectively excluded by this Agreement are
limited to thirty (30) days.  9.      Transfers
Unless you acquire the FontExplorer X Software through a
subscription or for a Trial Period you may transfer all
your rights to Use the FontExplorer X Software to another
person or legal entity provided that (i) all such software
must be transferred simultaneously, (ii) the transferee
accepts and agrees in writing to be bound by all the terms
and conditions of this Agreement, (iii) you forward a copy
of such writing to Monotype, (iv) you destroy all copies
of the FontExplorer X Software not transferred to the
transferee, including all copies stored in the memory of a
hardware device, and (v) you cease all Use of the FontExplorer X
Software.
10.     Term and Termination 10.1    If you acquire the FontExplorer
X Software through a subscription, this Agreement shall be effective
as of the date of acceptance of this Agreement and subscription to
the Monotype Web Fonts Service and will remain in effect for the
term of such subscription unless earlier terminated in accordance
with the terms hereof. If you acquire the FontExplorer X Software
for a Trial Period, the term of a Trial Period shall be from the
date of delivery of the FontExplorer X Software and shall terminate
automatically after the period defined in the communication between
you and Monotype. If no term is communicated then the Trial Period’s
term shall automatically end thirty (30) days after the delivery.
If you acquire the FontExplorer X Software by other means, this
Agreement shall be effective as of the date of acceptance of this
Agreement and will remain in effect unless terminated in accordance
with the terms hereof.  10.2    If you or any Licensed User fails
to comply with any of the provisions of this Agreement or any
Licensed User fails to comply with the terms of a EULA relating to
font software purchased through the FontExplorer X Pro Software,
Monotype, at its sole discretion, may (i) terminate this Agreement
and/or the account of any Licensed User, (ii) terminate any license
to font software purchased through the FontExplorer X Pro Software,
and/or (iii) preclude access to the service offered through the
FontExplorer X Software. The termination of this Agreement shall
not preclude Monotype from suing you for damages resulting from any
breach of this Agreement or any EULA relating to purchased font
software products.  10.3    You will remain liable for all amounts
due to Monotype up to and including the date of termination.  10.4
Upon termination of this Agreement, you must destroy the original
and any and all copies of, and cease all Use of, the FontExplorer X
Software.  11.     Miscellaneous 11.1    Governing Law and Forum.
Unless you enter into this agreement through the Monotype affiliate
Monotype Ltd. or Monotype GmbH, or unless otherwise set forth in
writing in the agreement between you and Monotype, the agreement
entered into between you and Monotype is governed by the laws of
Massachusetts applicable to contracts wholly entered and performable
within such Commonwealth (without regard to applicable conflict of
laws provisions). The United States District Court for the District
of Massachusetts or, if federal subject matter jurisdiction is
lacking, the Superior Court of the Commonwealth of Massachusetts
in Middlesex County, shall be the exclusive forum for any disputes
arising out of or related to such agreement. Both you and Monotype
agree to the personal jurisdiction and venue of these courts in any
action related to such agreement.
If you enter into this agreement through the Monotype
affiliate Monotype Ltd. the agreement is governed by the
laws of England and Wales (without regard to applicable
conflict of laws provisions). The courts of London, England,
shall be the exclusive forum for any disputes arising out
of or related to such agreement. Both you and Monotype Ltd.
agree to the personal jurisdiction and venue of these courts
in any action related to such agreement.  If you enter into
this agreement through the Monotype affiliate Monotype GmbH
the agreement is governed by the laws of Germany (without
regard to applicable conflict of laws provisions). The
courts of Frankfurt/Main, Germany, shall be the exclusive
forum for any disputes arising out of or related to such
agreement. Both you and Monotype GmbH agree to the personal
jurisdiction and venue of these courts in any action related
to such agreement.  The agreement will not be governed by
the United Nations Convention of Contracts for the International
Sale of Goods, the application of which is expressly excluded.
11.2            Supplementary Support. If you have entered into a
separate FontExplorer X Software support agreement or into another
prior FontExplorer X Software agreement that included support, the
support may continue as specified in the support agreement or prior
FontExplorer X Software agreement, notwithstanding any change of
the terms of this Agreement. The continued support may require a
renewal of the respective agreement.  11.3    Entire Agreement.
This Agreement, together with any agreement “clicked through” by
you in connection with the installation of the FontExplorer X Pro
Software or FontExplorer X Thin Client Software, constitutes the
entire agreement between you and Monotype that governs the use of
the FontExplorer X Software, superseding any prior agreements between
you and Monotype. Each party owes to the other party a duty to
co-operate in order to give full effect to this Agreement.  11.4
Severability. If any part of this Agreement is held invalid or
unenforceable, that portion shall be construed in a manner consistent
with applicable law to reflect, as nearly as possible, the original
intention of the parties, and the remaining portions shall remain
in full force and effect.  11.5    No Waiver. Monotype’s failure
to enforce any right or provisions in this Agreement will not
constitute a waiver of such provision, or any other provision of
this Agreement.  11.6    Government End Users. If this product is
acquired under the terms of a (i) GSA contract - use, reproduction
or disclosure is subject to the restrictions set forth in the
applicable ADP Schedule contract, (ii) DOD contract - use, duplication
or disclosure by the Government is subject to the applicable
restrictions set forth in DFARS 252.277-7013; (iii) Civilian agency
contract - use, reproduction, or disclosure is subject to FAR
52.277-19(a) through (d) and restrictions set forth in the Agreement.

FontExplorer X Software License Agreement clickthrough (v160909)
Checksumming Driver Descriptor Map (DDM : 0)…
Driver Descriptor Map (DDM : 0): verified CRC32 $DA8F7176
Checksumming Apple (Apple_partition_map : 1)…
Apple (Apple_partition_map : 1): verified CRC32 $73B16945
Checksumming disk image (Apple_HFS : 2)…
disk image (Apple_HFS : 2): verified CRC32 $256DD0EC
Checksumming  (Apple_Free : 3)…
(Apple_Free : 3): verified CRC32 $00000000
verified CRC32 $2B19FAF6
/dev/disk2          	Apple_partition_scheme
/dev/disk2s1        	Apple_partition_map
/dev/disk2s2        	Apple_HFS                      	/Volumes/FontExplorer X Pro

2022-05-12 20:41:20 : INFO  : fontexplorer : Mounted: /Volumes/FontExplorer X Pro
2022-05-12 20:41:20 : INFO  : fontexplorer : Verifying: /Volumes/FontExplorer X Pro/FontExplorer X Pro.app
2022-05-12 20:41:20 : DEBUG : fontexplorer : App size: 353M	/Volumes/FontExplorer X Pro/FontExplorer X Pro.app
2022-05-12 20:42:04 : DEBUG : fontexplorer : Debugging enabled, App Verification output was:
/Volumes/FontExplorer X Pro/FontExplorer X Pro.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Linotype GmbH (2V7G2B7WG4)

2022-05-12 20:42:04 : INFO  : fontexplorer : Team ID matching: 2V7G2B7WG4 (expected: 2V7G2B7WG4 )
2022-05-12 20:42:04 : INFO  : fontexplorer : Downloaded version of FontExplorer X Pro is 7.3.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-12 20:42:04 : DEBUG : fontexplorer : Unmounting /Volumes/FontExplorer X Pro
2022-05-12 20:42:15 : DEBUG : fontexplorer : Debugging enabled, Unmounting output was:
"disk2" ejected.
2022-05-12 20:42:15 : DEBUG : fontexplorer : DEBUG mode 1, not reopening anything
2022-05-12 20:42:15 : REG   : fontexplorer : No new version to install
2022-05-12 20:42:15 : REQ   : fontexplorer : ################## End Installomator, exit code 0
2022-05-12 20:43:43 +02:00
madtice
ab86ff3a45 Create filezilla.sh
Committing FileZilla install label.

2022-05-12 20:26:36 : REQ   : filezilla : ################## Start Installomator v. 9.2beta, date 2022-05-12
2022-05-12 20:26:36 : INFO  : filezilla : ################## Version: 9.2beta
2022-05-12 20:26:36 : INFO  : filezilla : ################## Date: 2022-05-12
2022-05-12 20:26:36 : INFO  : filezilla : ################## filezilla
2022-05-12 20:26:36 : DEBUG : filezilla : DEBUG mode 1 enabled.
2022-05-12 20:26:37 : INFO  : filezilla : BLOCKING_PROCESS_ACTION=tell_user
2022-05-12 20:26:37 : INFO  : filezilla : NOTIFY=success
2022-05-12 20:26:37 : INFO  : filezilla : LOGGING=DEBUG
2022-05-12 20:26:37 : INFO  : filezilla : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-12 20:26:37 : INFO  : filezilla : Label type: tbz
2022-05-12 20:26:37 : INFO  : filezilla : archiveName: FileZilla.tbz
2022-05-12 20:26:37 : DEBUG : filezilla : Changing directory to /Users/thijs/gits/Installomator/build
2022-05-12 20:26:37 : INFO  : filezilla : No version found using packageID org.filezilla-project.filezilla
2022-05-12 20:26:37 : INFO  : filezilla : App(s) found: /Applications/FileZilla.app
2022-05-12 20:26:37 : INFO  : filezilla : found app at /Applications/FileZilla.app, version 3.59.0, on versionKey CFBundleShortVersionString
2022-05-12 20:26:37 : INFO  : filezilla : appversion: 3.59.0
2022-05-12 20:26:37 : INFO  : filezilla : Latest version of FileZilla is 3.59.0
2022-05-12 20:26:37 : WARN  : filezilla : DEBUG mode 1 enabled, not exiting, but there is no new version of app.
2022-05-12 20:26:37 : REQ   : filezilla : Downloading https://dl1.cdn.filezilla-project.org/client/FileZilla_3.59.0_macosx-x86.app.tar.bz2?h=EVqCnT_iz7cNzenu63lrtA&x=1652383597 to FileZilla.tbz
2022-05-12 20:26:39 : DEBUG : filezilla : File list: -rw-r--r--  1 root  staff    14M May 12 20:26 FileZilla.tbz
2022-05-12 20:26:39 : DEBUG : filezilla : File type: FileZilla.tbz: bzip2 compressed data, block size = 900k
2022-05-12 20:26:39 : DEBUG : filezilla : curl output was:
*   Trying 195.201.43.134:443...
* Connected to dl1.cdn.filezilla-project.org (195.201.43.134) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
} [334 bytes data]
* (304) (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* (304) (IN), TLS handshake, Unknown (8):
{ [15 bytes data]
* (304) (IN), TLS handshake, Certificate (11):
{ [4056 bytes data]
* (304) (IN), TLS handshake, CERT verify (15):
{ [264 bytes data]
* (304) (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* (304) (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=dl1.cdn.filezilla-project.org
*  start date: Apr 27 04:25:27 2022 GMT
*  expire date: Jul 26 04:25:26 2022 GMT
*  subjectAltName: host "dl1.cdn.filezilla-project.org" matched cert's "dl1.cdn.filezilla-project.org"
*  issuer: C=US; O=Let's Encrypt; CN=R3
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x7fd08180ca00)
> GET /client/FileZilla_3.59.0_macosx-x86.app.tar.bz2?h=EVqCnT_iz7cNzenu63lrtA&x=1652383597 HTTP/2
> Host: dl1.cdn.filezilla-project.org
> user-agent: curl/7.79.1
> accept: */*
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200
< server: nginx
< date: Thu, 12 May 2022 18:26:37 GMT
< content-type: application/octet-stream
< content-length: 14669261
< last-modified: Fri, 08 Apr 2022 14:36:35 GMT
< etag: "62504873-dfd5cd"
< x-robots-tag: noindex, nofollow
< strict-transport-security: max-age=31536000; includeSubDomains; preload
< accept-ranges: bytes
<
{ [16160 bytes data]
* Connection #0 to host dl1.cdn.filezilla-project.org left intact

2022-05-12 20:26:39 : REQ   : filezilla : Installing FileZilla
2022-05-12 20:26:39 : INFO  : filezilla : Unzipping FileZilla.tbz
2022-05-12 20:26:41 : INFO  : filezilla : Verifying: /Users/thijs/gits/Installomator/build/FileZilla.app
2022-05-12 20:26:41 : DEBUG : filezilla : App size:  44M	/Users/thijs/gits/Installomator/build/FileZilla.app
2022-05-12 20:26:42 : DEBUG : filezilla : Debugging enabled, App Verification output was:
/Users/thijs/gits/Installomator/build/FileZilla.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Tim Kosse (5VPGKXL75N)

2022-05-12 20:26:42 : INFO  : filezilla : Team ID matching: 5VPGKXL75N (expected: 5VPGKXL75N )
2022-05-12 20:26:42 : INFO  : filezilla : Downloaded version of FileZilla is 3.59.0 on versionKey CFBundleShortVersionString, same as installed.
2022-05-12 20:26:42 : DEBUG : filezilla : DEBUG mode 1, not reopening anything
2022-05-12 20:26:42 : REG   : filezilla : No new version to install
2022-05-12 20:26:42 : REQ   : filezilla : ################## End Installomator, exit code 0
2022-05-12 20:27:32 +02:00
Armin Briegel
0ff286b701 Merge branch 'pr/394', closes #394 2022-05-12 15:48:19 +02:00
Armin Briegel
ad5ad5f408 Merge pull request #394 from willpolley/dev
Added label propresenter7
2022-05-12 15:47:22 +02:00
Armin Briegel
c9fc5d6676 Merge pull request #484 from 0x4448/bugfix-googlechromepkg-missing-appnewversion
Add latest version check for googlechromepkg
2022-05-12 15:41:39 +02:00
Armin Briegel
e1dc3cc464 Merge branch 'pr/492' into main, closes #492 2022-05-12 15:37:42 +02:00
Armin Briegel
aed48ea4b4 Merge new label slab, closes #487 2022-05-12 15:36:09 +02:00
Armin Briegel
343785781a fixed line ending 2022-05-12 15:34:58 +02:00
Armin Briegel
1e8253ca41 Merge pull request #490 from jasmania2/New-Label-SonoBus
New Label- SonoBus
2022-05-12 15:25:45 +02:00
Armin Briegel
69fbc31078 Merge pull request #492 from lart2150/bugfix/ringcentralapp
updates for ringcentral app
2022-05-12 15:24:13 +02:00
Armin Briegel
77e04922e5 merged firefox_intl, closes #495 2022-05-12 15:09:59 +02:00
Armin Briegel
ac80aa1f3a Merge branch 'main' of github.com:Installomator/Installomator 2022-05-12 15:04:21 +02:00
Armin Briegel
a87122409a merged firefoxesr_intl, closes #496 2022-05-12 15:04:11 +02:00
Armin Briegel
963282dbe1 Merge pull request #497 from sidbena/thunderbird_intl
Added support for label thunderbird_intl
2022-05-12 14:45:54 +02:00
Armin Briegel
7cc01840e0 merge snagit updates, closes #498 2022-05-12 14:40:53 +02:00
Armin Briegel
8d0f037983 fixed label name for snagit2021 2022-05-12 14:40:21 +02:00
Armin Briegel
abbf22455f Merge pull request #499 from marcelpogorzelski/Update-Camtasia
Update Camtasia 2021
2022-05-12 14:32:26 +02:00
Armin Briegel
d86aef9ede Merge pull request #502 from unfo33/unfo33-patch-1
Create macoslaps.sh
2022-05-12 14:25:25 +02:00
Armin Briegel
35f3b938bc Merge pull request #503 from patrix87/main
Fix Adobe Acrobat Reader DC download & Add Unnatural Scroll Wheels
2022-05-12 14:23:50 +02:00
Armin Briegel
fad95d156a merges updates for firefoxpkg and gpgsuite, closes #465 2022-05-12 14:14:28 +02:00
Armin Briegel
2012395021 Merge pull request #501 from MacMike077/main
Create NewLabel Flycut.sh
2022-05-12 14:07:36 +02:00
Armin Briegel
e21d8d4ef2 Merge pull request #485 from Installomator/README-members
Change the mentioning of members with link to profiles.
2022-05-12 14:02:15 +02:00
Armin Briegel
d4b2200ca9 merge atextlegacy, closes #464 2022-05-12 13:56:46 +02:00
Armin Briegel
4700957764 added new label file for atextlegacy, see #464 2022-05-12 13:55:55 +02:00
Armin Briegel
8ba02428a0 Merge pull request #463 from adibue/adibue-update-rancherdesktop
Update 'rancherdesktop' to support arm64
2022-05-12 11:08:11 +02:00
Armin Briegel
a3021011c0 update label amazoncorretto8jdk, closes 461 2022-05-12 10:53:48 +02:00
Armin Briegel
f0a91934de update label postman, closes #458 2022-05-12 10:51:37 +02:00
Armin Briegel
412fcca624 Merge branch 'pr/457' 2022-05-12 10:45:50 +02:00
Armin Briegel
4e31bd16a0 reset version.sh 2022-05-12 10:45:28 +02:00
Armin Briegel
cbdc1c6876 Merge pull request #454 from adibue/adibue-update-onlyofficedesktop
Updated 'onlyofficedesktop'
2022-05-12 10:40:27 +02:00
Armin Briegel
e4f5b9cb47 Merge pull request #453 from buckbanzai/buckbanzai-improvements-talkdeskcallbar
Update talkdeskcallbar label
2022-05-12 10:37:46 +02:00
Armin Briegel
046df34e45 reset version.sh 2022-05-12 10:36:09 +02:00
Armin Briegel
fc3ba293ae Merge pull request #452 from buckbanzai/buckbanzai-add-talkdeskcxcloud
Add Label for Talkdesk CX Cloud Desktop
2022-05-12 10:32:32 +02:00
Armin Briegel
e1de1433ff Merge branch 'pr/450' 2022-05-12 10:28:41 +02:00
Armin Briegel
cd5a4b2b5e Merge pull request #450 from bbenkle/dev
DBeaverCE
2022-05-12 10:24:17 +02:00
Armin Briegel
d1bb003a8d Merge branch 'main' of github.com:Installomator/Installomator 2022-05-12 10:12:19 +02:00
Armin Briegel
8a9a94540a Merge pull request #479 from marcelpogorzelski/MindManager
Create MindManager Label
2022-05-12 10:10:34 +02:00
Armin Briegel
d20dec9e2e Merge branch 'pr/480' 2022-05-12 09:54:14 +02:00
Armin Briegel
6bb5fedc21 missing linebreak 2022-05-12 09:53:52 +02:00
Armin Briegel
5a5addcb2e Merge pull request #480 from samess-flowers/DrawIO
Draw io
2022-05-12 09:51:41 +02:00
Armin Briegel
3e89333395 Merge pull request #481 from marcelpogorzelski/Clue
Label for both Clue appliations
2022-05-12 09:46:04 +02:00
Armin Briegel
aa762ecee2 Merge pull request #455 from Installomator/Theile-labels-2022-03
Theile labels 2022 03
2022-05-12 09:43:02 +02:00
Armin Briegel
c89f704817 Merge pull request #466 from Installomator/Extra-warning-log-for-googlechrome-and-firefox-labels
Extra logging for firefox and googlechrome labels.
2022-05-12 09:41:57 +02:00
Armin Briegel
bf353dc538 Merge branch 'main' of github.com:Installomator/Installomator 2022-05-12 09:40:51 +02:00
Armin Briegel
07d51c3239 Merge pull request #434 from Installomator/Fix-for-applist-line
Update functions.sh
2022-05-12 09:39:59 +02:00
Armin Briegel
973de91ff4 Merge branch 'main-v9.2' 2022-05-12 09:38:56 +02:00
Armin Briegel
3cf7b585ef added displaylinkmananger, closes #448 2022-05-12 09:37:38 +02:00
Armin Briegel
da5585a702 logitechoptions update, closes #478 2022-05-12 09:34:05 +02:00
Mike Matter
9e0bfd5818 WS1 support (remove sudo)
Removing sudo from notify command.
2022-05-11 11:33:33 -05:00
Greg R
1571dec014 New App: Linear (https://linear.app/)
adding in a new app label for the Linear app.
2022-05-10 13:55:56 -07:00
Mike Matter
5477c5ccfe Adding WS1 support (Blocking app dialogue) 2022-05-09 12:02:50 -05:00
Mike Matter
4f3b130b04 Adding Workspace ONE support (fixing comment) 2022-05-09 11:50:27 -05:00
Mike Matter
52ad8d9d88 Adding Workspace ONE support 2022-05-09 11:40:28 -05:00
DavidTaylor
2b3da07cdb Add Label: Shottr 2022-05-05 23:30:59 -07:00
Andrew Clark
259afeec3a Update Grammarly Label 2022-05-05 16:07:08 +00:00
Micah Lee
13864a0cd7 Add appName and archiveName for 1password8 2022-05-04 15:23:04 -07:00
Micah Lee
66f3275741 Add 1Password 8 2022-05-04 15:06:22 -07:00
Fletcher Salesky
b76d9fe26a Create egnytewebedit.sh 2022-05-04 12:24:14 -07:00
Fletcher Salesky
4d365aa960 Create wechat.sh 2022-05-03 14:28:49 -07:00
worthypants
589747f0ad Create new label idrivethin 2022-05-03 17:00:22 +02:00
worthypants
3294751e63 Revert "Create new label idrivethin"
This reverts commit 03f3e258e4.
2022-05-03 16:54:22 +02:00
worthypants
03f3e258e4 Create new label idrivethin 2022-05-03 16:52:58 +02:00
marcelpogorzelski
78eec85809 Fixed appNewVersion
Cut didn't work so I changed it to awk
2022-05-03 16:42:24 +02:00
worthypants
dd50a618e9 Revert "Create new label idrivethin"
This reverts commit 8b5f5d40c9.
2022-05-03 16:42:02 +02:00
worthypants
8b5f5d40c9 Create new label idrivethin 2022-05-03 16:41:40 +02:00
marcelpogorzelski
143967e29c New Line fix 2022-05-03 16:38:21 +02:00
marcelpogorzelski
ad1ddc22cd Camtasia 2021 download URL improvement 2022-05-03 16:37:06 +02:00
worthypants
01d00aa361 Revert "Create new label idrivethin"
This reverts commit 0141b8334e.
2022-05-03 16:35:14 +02:00
marcelpogorzelski
f90c9c960a Saparated Snagit installers by year 2022-05-03 16:30:07 +02:00
worthypants
0141b8334e Create new label idrivethin 2022-05-03 16:28:31 +02:00
marcelpogorzelski
f7d822a54e Added separate Camtasia 2020 and 2019 labels 2022-05-03 16:11:19 +02:00
worthypants
ed01f6d741 Create new label iDrive 2022-05-03 15:51:45 +02:00
theadamcraig
63ddb9d2e7 Create bluejeanswithaudiodriver.sh
the exact same as the bluejeans label, but with a new variable choiceChangesXML
this allows the package to be customized on installation which in this instance will have the BlueJeans Audio Driver installed with the software.
2022-05-02 13:00:30 -04:00
MacMike077
0266f74e46 Create UltimakerCura.sh
2022-05-02 16:45:27 : REQ   : ultimakercura : ################## Start Installomator v. 9.1, date 2022-03-18
2022-05-02 16:45:27 : INFO  : ultimakercura : ################## Version: 9.1
2022-05-02 16:45:27 : INFO  : ultimakercura : ################## Date: 2022-03-18
2022-05-02 16:45:27 : INFO  : ultimakercura : ################## ultimakercura
2022-05-02 16:45:28 : INFO  : ultimakercura : BLOCKING_PROCESS_ACTION=tell_user
2022-05-02 16:45:28 : INFO  : ultimakercura : NOTIFY=success
2022-05-02 16:45:28 : INFO  : ultimakercura : LOGGING=INFO
2022-05-02 16:45:28 : INFO  : ultimakercura : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-05-02 16:45:28 : INFO  : ultimakercura : Label type: dmg
2022-05-02 16:45:28 : INFO  : ultimakercura : archiveName: Ultimaker_Cura-[0-9].*-Darwin.dmg
2022-05-02 16:45:28 : INFO  : ultimakercura : no blocking processes defined, using Ultimaker Cura as default
2022-05-02 16:45:28 : INFO  : ultimakercura : name: Ultimaker Cura, appName: Ultimaker Cura.app
2022-05-02 16:45:28 : INFO  : ultimakercura : App(s) found: 
2022-05-02 16:45:28 : WARN  : ultimakercura : could not find Ultimaker Cura.app
2022-05-02 16:45:28 : INFO  : ultimakercura : appversion: 
2022-05-02 16:45:28 : INFO  : ultimakercura : Latest version of Ultimaker Cura is 4.13.1
2022-05-02 16:45:28 : REQ   : ultimakercura : Downloading https://github.com/Ultimaker/Cura/releases/download/4.13.1/Ultimaker_Cura-4.13.1-Darwin.dmg to Ultimaker_Cura-[0-9].*-Darwin.dmg
2022-05-02 16:45:34 : REQ   : ultimakercura : no more blocking processes, continue with update
2022-05-02 16:45:34 : REQ   : ultimakercura : Installing Ultimaker Cura
2022-05-02 16:45:34 : INFO  : ultimakercura : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.WFz2hZIw/Ultimaker_Cura-[0-9].*-Darwin.dmg
2022-05-02 16:45:38 : INFO  : ultimakercura : Mounted: /Volumes/Ultimaker_Cura-4.13.1-Darwin
2022-05-02 16:45:38 : INFO  : ultimakercura : Verifying: /Volumes/Ultimaker_Cura-4.13.1-Darwin/Ultimaker Cura.app
2022-05-02 16:45:51 : INFO  : ultimakercura : Team ID matching: V4B3JXRRQS (expected: V4B3JXRRQS )
2022-05-02 16:45:51 : INFO  : ultimakercura : Installing Ultimaker Cura version 4.13 on versionKey CFBundleShortVersionString.
2022-05-02 16:45:51 : INFO  : ultimakercura : Copy /Volumes/Ultimaker_Cura-4.13.1-Darwin/Ultimaker Cura.app to /Applications
2022-05-02 16:46:04 : WARN  : ultimakercura : No user logged in or SYSTEMOWNER=1, setting owner to root:wheel
2022-05-02 16:46:04 : INFO  : ultimakercura : Finishing...
2022-05-02 16:46:14 : INFO  : ultimakercura : App(s) found: /Applications/Ultimaker Cura.app
2022-05-02 16:46:14 : INFO  : ultimakercura : found app at /Applications/Ultimaker Cura.app, version 4.13, on versionKey CFBundleShortVersionString
2022-05-02 16:46:14 : REQ   : ultimakercura : Installed Ultimaker Cura, version 4.13
2022-05-02 16:46:14 : INFO  : ultimakercura : notifying
2022-05-02 16:46:15 : INFO  : ultimakercura : App not closed, so no reopen.
2022-05-02 16:46:15 : REQ   : ultimakercura : All done!
2022-05-02 16:46:15 : REQ   : ultimakercura : ################## End Installomator, exit code 0
2022-05-02 16:47:59 +02:00
Søren Theilgaard
744ce4949d Update remotedesktopmanagerenterprise.sh 2022-04-29 14:31:10 +02:00
Søren Theilgaard
5dc137dcbe Remote Desktop Manager changed domain
Result free version
```
➜  Installomator/utils/assemble.sh remotedesktopmanagerfree DEBUG=0
Password:
2022-04-29 13:33:24 : WARN  : remotedesktopmanagerfree : setting variable from argument DEBUG=0
2022-04-29 13:33:24 : REQ   : remotedesktopmanagerfree : ################## Start Installomator v. 10dev, date 2022-04-29
2022-04-29 13:33:24 : INFO  : remotedesktopmanagerfree : ################## Version: 10dev
2022-04-29 13:33:24 : INFO  : remotedesktopmanagerfree : ################## Date: 2022-04-29
2022-04-29 13:33:24 : INFO  : remotedesktopmanagerfree : ################## remotedesktopmanagerfree
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : BLOCKING_PROCESS_ACTION=tell_user
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : NOTIFY=success
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : LOGGING=INFO
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : Label type: dmg
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : archiveName: Remote Desktop Manager Free.dmg
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : no blocking processes defined, using Remote Desktop Manager Free as default
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : App(s) found: /Applications/Remote Desktop Manager Free.app
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : found app at /Applications/Remote Desktop Manager Free.app, version 2021.2.14.0, on versionKey CFBundleShortVersionString
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : appversion: 2021.2.14.0
2022-04-29 13:33:35 : INFO  : remotedesktopmanagerfree : Latest version of Remote Desktop Manager Free is 2022.1.12.0
2022-04-29 13:33:35 : REQ   : remotedesktopmanagerfree : Downloading https://cdn.devolutions.net/download/Mac/Devolutions.RemoteDesktopManager.Free.Mac.2022.1.12.0.dmg to Remote Desktop Manager Free.dmg
2022-04-29 13:34:05 : REQ   : remotedesktopmanagerfree : no more blocking processes, continue with update
2022-04-29 13:34:05 : REQ   : remotedesktopmanagerfree : Installing Remote Desktop Manager Free
2022-04-29 13:34:05 : INFO  : remotedesktopmanagerfree : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.isdXwxzs/Remote Desktop Manager Free.dmg
2022-04-29 13:34:10 : INFO  : remotedesktopmanagerfree : Mounted: /Volumes/Remote Desktop Manager Free.app Installer
2022-04-29 13:34:10 : INFO  : remotedesktopmanagerfree : Verifying: /Volumes/Remote Desktop Manager Free.app Installer/Remote Desktop Manager Free.app
2022-04-29 13:34:21 : INFO  : remotedesktopmanagerfree : Team ID matching: N592S9ASDB (expected: N592S9ASDB )
2022-04-29 13:34:21 : INFO  : remotedesktopmanagerfree : Downloaded version of Remote Desktop Manager Free is 2022.1.12.0 on versionKey CFBundleShortVersionString (replacing version 2021.2.14.0).
2022-04-29 13:34:21 : INFO  : remotedesktopmanagerfree : App has LSMinimumSystemVersion: 10.10
2022-04-29 13:34:21 : WARN  : remotedesktopmanagerfree : Removing existing /Applications/Remote Desktop Manager Free.app
2022-04-29 13:34:21 : INFO  : remotedesktopmanagerfree : Copy /Volumes/Remote Desktop Manager Free.app Installer/Remote Desktop Manager Free.app to /Applications
2022-04-29 13:34:24 : WARN  : remotedesktopmanagerfree : Changing owner to st
2022-04-29 13:34:24 : INFO  : remotedesktopmanagerfree : Finishing...
2022-04-29 13:34:34 : INFO  : remotedesktopmanagerfree : App(s) found: /Applications/Remote Desktop Manager Free.app
2022-04-29 13:34:34 : INFO  : remotedesktopmanagerfree : found app at /Applications/Remote Desktop Manager Free.app, version 2022.1.12.0, on versionKey CFBundleShortVersionString
2022-04-29 13:34:34 : REQ   : remotedesktopmanagerfree : Installed Remote Desktop Manager Free, version 2022.1.12.0
2022-04-29 13:34:34 : INFO  : remotedesktopmanagerfree : notifying
2022-04-29 13:34:35 : INFO  : remotedesktopmanagerfree : App not closed, so no reopen.
2022-04-29 13:34:35 : REQ   : remotedesktopmanagerfree : All done!
2022-04-29 13:34:35 : REQ   : remotedesktopmanagerfree : ################## End Installomator, exit code 0
```

Enterprise version:
```
➜  Installomator/utils/assemble.sh remotedesktopmanagerenterprise DEBUG=0 INSTALL=force
2022-04-29 13:35:51 : WARN  : remotedesktopmanagerenterprise : setting variable from argument DEBUG=0
2022-04-29 13:35:51 : WARN  : remotedesktopmanagerenterprise : setting variable from argument INSTALL=force
2022-04-29 13:35:51 : REQ   : remotedesktopmanagerenterprise : ################## Start Installomator v. 10dev, date 2022-04-29
2022-04-29 13:35:51 : INFO  : remotedesktopmanagerenterprise : ################## Version: 10dev
2022-04-29 13:35:51 : INFO  : remotedesktopmanagerenterprise : ################## Date: 2022-04-29
2022-04-29 13:35:51 : INFO  : remotedesktopmanagerenterprise : ################## remotedesktopmanagerenterprise
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : BLOCKING_PROCESS_ACTION=tell_user
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : NOTIFY=success
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : LOGGING=INFO
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : Label type: dmg
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : archiveName: Remote Desktop Manager.dmg
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : no blocking processes defined, using Remote Desktop Manager as default
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : name: Remote Desktop Manager, appName: Remote Desktop Manager.app
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : App(s) found: /Applications/Remote Desktop Manager Free.app
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : found app at /Applications/Remote Desktop Manager Free.app, version 2022.1.12.0, on versionKey CFBundleShortVersionString
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : appversion: 2022.1.12.0
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : Latest version of Remote Desktop Manager is 2022.1.12.0
2022-04-29 13:35:52 : INFO  : remotedesktopmanagerenterprise : There is no newer version available.
2022-04-29 13:35:52 : REQ   : remotedesktopmanagerenterprise : Downloading https://cdn.devolutions.net/download/Mac/Devolutions.RemoteDesktopManager.Mac.2022.1.12.0.dmg to Remote Desktop Manager.dmg
2022-04-29 13:36:24 : REQ   : remotedesktopmanagerenterprise : no more blocking processes, continue with update
2022-04-29 13:36:24 : REQ   : remotedesktopmanagerenterprise : Installing Remote Desktop Manager
2022-04-29 13:36:24 : INFO  : remotedesktopmanagerenterprise : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.cOMzga0I/Remote Desktop Manager.dmg
2022-04-29 13:36:27 : INFO  : remotedesktopmanagerenterprise : Mounted: /Volumes/Remote Desktop Manager.app Installer
2022-04-29 13:36:27 : INFO  : remotedesktopmanagerenterprise : Verifying: /Volumes/Remote Desktop Manager.app Installer/Remote Desktop Manager.app
2022-04-29 13:36:32 : INFO  : remotedesktopmanagerenterprise : Team ID matching: N592S9ASDB (expected: N592S9ASDB )
2022-04-29 13:36:32 : INFO  : remotedesktopmanagerenterprise : Downloaded version of Remote Desktop Manager is 2022.1.12.0 on versionKey CFBundleShortVersionString, same as installed.
2022-04-29 13:36:32 : INFO  : remotedesktopmanagerenterprise : Using force to install anyway.
2022-04-29 13:36:32 : INFO  : remotedesktopmanagerenterprise : App has LSMinimumSystemVersion: 10.10
2022-04-29 13:36:32 : INFO  : remotedesktopmanagerenterprise : Copy /Volumes/Remote Desktop Manager.app Installer/Remote Desktop Manager.app to /Applications
2022-04-29 13:36:35 : WARN  : remotedesktopmanagerenterprise : Changing owner to st
2022-04-29 13:36:35 : INFO  : remotedesktopmanagerenterprise : Finishing...
2022-04-29 13:36:45 : INFO  : remotedesktopmanagerenterprise : App(s) found: /Applications/Remote Desktop Manager.app
2022-04-29 13:36:45 : INFO  : remotedesktopmanagerenterprise : found app at /Applications/Remote Desktop Manager.app, version 2022.1.12.0, on versionKey CFBundleShortVersionString
2022-04-29 13:36:45 : REQ   : remotedesktopmanagerenterprise : Installed Remote Desktop Manager, version 2022.1.12.0
2022-04-29 13:36:45 : INFO  : remotedesktopmanagerenterprise : notifying
2022-04-29 13:36:45 : INFO  : remotedesktopmanagerenterprise : App not closed, so no reopen.
2022-04-29 13:36:45 : REQ   : remotedesktopmanagerenterprise : All done!
2022-04-29 13:36:45 : REQ   : remotedesktopmanagerenterprise : ################## End Installomator, exit code 0
```
2022-04-29 13:44:41 +02:00
Patrick Veilleux
e464efeb82 Unnatural Scroll Wheels 2022-04-28 15:11:33 -04:00
Patrick Veilleux
4bfbe5e404 fix adobe acrobat reader DC download 2022-04-28 15:10:07 -04:00
Thomas Bartlett
7e6d394c68 Create macoslaps.sh 2022-04-28 11:58:15 -04:00
Søren Theilgaard
2589d2ec38 Update to duckduckgo as appcast was changed
The appcast url now has the newest version at the top. I guess we should sort the list if the newest will be moved again.
Now this result:
```
➜  Installomator/utils/assemble.sh duckduckgo DEBUG=0
2022-04-26 21:51:22 : WARN  : duckduckgo : setting variable from argument DEBUG=0
2022-04-26 21:51:22 : REQ   : duckduckgo : ################## Start Installomator v. 10dev, date 2022-04-26
2022-04-26 21:51:22 : INFO  : duckduckgo : ################## Version: 10dev
2022-04-26 21:51:22 : INFO  : duckduckgo : ################## Date: 2022-04-26
2022-04-26 21:51:22 : INFO  : duckduckgo : ################## duckduckgo
2022-04-26 21:51:22 : INFO  : duckduckgo : BLOCKING_PROCESS_ACTION=tell_user
2022-04-26 21:51:22 : INFO  : duckduckgo : NOTIFY=success
2022-04-26 21:51:22 : INFO  : duckduckgo : LOGGING=INFO
2022-04-26 21:51:22 : INFO  : duckduckgo : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-26 21:51:22 : INFO  : duckduckgo : Label type: dmg
2022-04-26 21:51:22 : INFO  : duckduckgo : archiveName: DuckDuckGo.dmg
2022-04-26 21:51:22 : INFO  : duckduckgo : no blocking processes defined, using DuckDuckGo as default
2022-04-26 21:51:22 : INFO  : duckduckgo : App(s) found: /Applications/DuckDuckGo.app
2022-04-26 21:51:22 : INFO  : duckduckgo : found app at /Applications/DuckDuckGo.app, version 0.22.3, on versionKey CFBundleShortVersionString
2022-04-26 21:51:22 : INFO  : duckduckgo : appversion: 0.22.3
2022-04-26 21:51:22 : INFO  : duckduckgo : Latest version of DuckDuckGo is 0.23.0
2022-04-26 21:51:22 : REQ   : duckduckgo : Downloading https://staticcdn.duckduckgo.com/macos-desktop-browser/duckduckgo-0.23.0.dmg to DuckDuckGo.dmg
2022-04-26 21:51:24 : REQ   : duckduckgo : no more blocking processes, continue with update
2022-04-26 21:51:24 : REQ   : duckduckgo : Installing DuckDuckGo
2022-04-26 21:51:24 : INFO  : duckduckgo : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.lQwUqkMi/DuckDuckGo.dmg
2022-04-26 21:51:28 : INFO  : duckduckgo : Mounted: /Volumes/DuckDuckGo
2022-04-26 21:51:28 : INFO  : duckduckgo : Verifying: /Volumes/DuckDuckGo/DuckDuckGo.app
2022-04-26 21:51:29 : INFO  : duckduckgo : Team ID matching: HKE973VLUW (expected: HKE973VLUW )
2022-04-26 21:51:29 : INFO  : duckduckgo : Downloaded version of DuckDuckGo is 0.23.0 on versionKey CFBundleShortVersionString (replacing version 0.22.3).
2022-04-26 21:51:29 : INFO  : duckduckgo : App has LSMinimumSystemVersion: 10.15
2022-04-26 21:51:29 : WARN  : duckduckgo : Removing existing /Applications/DuckDuckGo.app
2022-04-26 21:51:29 : INFO  : duckduckgo : Copy /Volumes/DuckDuckGo/DuckDuckGo.app to /Applications
2022-04-26 21:51:29 : WARN  : duckduckgo : Changing owner to st
2022-04-26 21:51:29 : INFO  : duckduckgo : Finishing...
2022-04-26 21:51:39 : INFO  : duckduckgo : App(s) found: /Applications/DuckDuckGo.app
2022-04-26 21:51:39 : INFO  : duckduckgo : found app at /Applications/DuckDuckGo.app, version 0.23.0, on versionKey CFBundleShortVersionString
2022-04-26 21:51:39 : REQ   : duckduckgo : Installed DuckDuckGo, version 0.23.0
2022-04-26 21:51:39 : INFO  : duckduckgo : notifying
2022-04-26 21:51:40 : INFO  : duckduckgo : App not closed, so no reopen.
2022-04-26 21:51:40 : REQ   : duckduckgo : All done!
2022-04-26 21:51:40 : REQ   : duckduckgo : ################## End Installomator, exit code 0
```
2022-04-26 21:53:57 +02:00
Søren Theilgaard
9307374775 mightymike now has now been signed
```
➜  Installomator/utils/assemble.sh mightymike DEBUG=0
2022-04-26 20:50:59 : WARN  : mightymike : setting variable from argument DEBUG=0
2022-04-26 20:50:59 : REQ   : mightymike : ################## Start Installomator v. 10dev, date 2022-04-26
2022-04-26 20:50:59 : INFO  : mightymike : ################## Version: 10dev
2022-04-26 20:51:00 : INFO  : mightymike : ################## Date: 2022-04-26
2022-04-26 20:51:00 : INFO  : mightymike : ################## mightymike
2022-04-26 20:51:00 : INFO  : mightymike : BLOCKING_PROCESS_ACTION=tell_user
2022-04-26 20:51:00 : INFO  : mightymike : NOTIFY=success
2022-04-26 20:51:00 : INFO  : mightymike : LOGGING=INFO
2022-04-26 20:51:00 : INFO  : mightymike : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-26 20:51:00 : INFO  : mightymike : Label type: dmg
2022-04-26 20:51:00 : INFO  : mightymike : archiveName: Mighty Mike.dmg
2022-04-26 20:51:00 : INFO  : mightymike : no blocking processes defined, using Mighty Mike as default
2022-04-26 20:51:00 : INFO  : mightymike : name: Mighty Mike, appName: Mighty Mike.app
2022-04-26 20:51:00 : INFO  : mightymike : App(s) found:
2022-04-26 20:51:00 : WARN  : mightymike : could not find Mighty Mike.app
2022-04-26 20:51:00 : INFO  : mightymike : appversion:
2022-04-26 20:51:00 : INFO  : mightymike : Latest version of Mighty Mike is 3.0.1
2022-04-26 20:51:00 : REQ   : mightymike : Downloading https://github.com/jorio/MightyMike/releases/download/v3.0.1/MightyMike-3.0.1-mac.dmg to Mighty Mike.dmg
2022-04-26 20:51:02 : REQ   : mightymike : no more blocking processes, continue with update
2022-04-26 20:51:02 : REQ   : mightymike : Installing Mighty Mike
2022-04-26 20:51:02 : INFO  : mightymike : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.fKf0WTjS/Mighty Mike.dmg
2022-04-26 20:51:05 : INFO  : mightymike : Mounted: /Volumes/Mighty Mike 3.0.1
2022-04-26 20:51:05 : INFO  : mightymike : Verifying: /Volumes/Mighty Mike 3.0.1/Mighty Mike.app
2022-04-26 20:51:06 : INFO  : mightymike : Team ID matching: RVNL7XC27G (expected: RVNL7XC27G )
2022-04-26 20:51:06 : INFO  : mightymike : Installing Mighty Mike version 3.0.1 on versionKey CFBundleShortVersionString.
2022-04-26 20:51:06 : INFO  : mightymike : App has LSMinimumSystemVersion: 10.11
2022-04-26 20:51:06 : INFO  : mightymike : Copy /Volumes/Mighty Mike 3.0.1/Mighty Mike.app to /Applications
2022-04-26 20:51:06 : WARN  : mightymike : Changing owner to st
2022-04-26 20:51:06 : INFO  : mightymike : Finishing...
2022-04-26 20:51:16 : INFO  : mightymike : App(s) found: /Applications/Mighty Mike.app
2022-04-26 20:51:16 : INFO  : mightymike : found app at /Applications/Mighty Mike.app, version 3.0.1, on versionKey CFBundleShortVersionString
2022-04-26 20:51:16 : REQ   : mightymike : Installed Mighty Mike, version 3.0.1
2022-04-26 20:51:16 : INFO  : mightymike : notifying
2022-04-26 20:51:16 : INFO  : mightymike : App not closed, so no reopen.
2022-04-26 20:51:16 : REQ   : mightymike : All done!
2022-04-26 20:51:16 : REQ   : mightymike : ################## End Installomator, exit code 0
```
2022-04-26 21:40:23 +02:00
MacMike077
8d2d82df5a Create NewLabel Flycut.sh
2022-04-26 15:12:45 : REQ   : flycut : ################## Start Installomator v. 9.1, date 2022-03-18
2022-04-26 15:12:45 : INFO  : flycut : ################## Version: 9.1
2022-04-26 15:12:45 : INFO  : flycut : ################## Date: 2022-03-18
2022-04-26 15:12:45 : INFO  : flycut : ################## flycut
2022-04-26 15:12:45 : INFO  : flycut : BLOCKING_PROCESS_ACTION=tell_user
2022-04-26 15:12:45 : INFO  : flycut : NOTIFY=success
2022-04-26 15:12:45 : INFO  : flycut : LOGGING=INFO
2022-04-26 15:12:45 : INFO  : flycut : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-26 15:12:45 : INFO  : flycut : Label type: zip
2022-04-26 15:12:45 : INFO  : flycut : archiveName: Flycut.[0-9.]*.zip
2022-04-26 15:12:45 : INFO  : flycut : no blocking processes defined, using Flycut as default
2022-04-26 15:12:45 : INFO  : flycut : name: Flycut, appName: Flycut.app
2022-04-26 15:12:46 : INFO  : flycut : App(s) found: 
2022-04-26 15:12:46 : WARN  : flycut : could not find Flycut.app
2022-04-26 15:12:46 : INFO  : flycut : appversion: 
2022-04-26 15:12:46 : INFO  : flycut : Latest version of Flycut is 1.9.6
2022-04-26 15:12:46 : REQ   : flycut : Downloading https://github.com/TermiT/Flycut/releases/download/1.9.6/Flycut.1.9.6.zip to Flycut.[0-9.]*.zip
2022-04-26 15:12:47 : REQ   : flycut : no more blocking processes, continue with update
2022-04-26 15:12:47 : REQ   : flycut : Installing Flycut
2022-04-26 15:12:47 : INFO  : flycut : Unzipping Flycut.[0-9.]*.zip
2022-04-26 15:12:47 : INFO  : flycut : Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ScqcA2X3/Flycut.app
2022-04-26 15:12:48 : INFO  : flycut : Team ID matching: S8JLSG5ES7 (expected: S8JLSG5ES7 )
2022-04-26 15:12:48 : INFO  : flycut : Installing Flycut version 1.9.6 on versionKey CFBundleShortVersionString.
2022-04-26 15:12:48 : INFO  : flycut : App has LSMinimumSystemVersion: 10.10
2022-04-26 15:12:48 : INFO  : flycut : Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.ScqcA2X3/Flycut.app to /Applications
2022-04-26 15:12:48 : WARN  : flycut : Changing owner to maikelwork
2022-04-26 15:12:48 : INFO  : flycut : Finishing...
2022-04-26 15:12:58 : INFO  : flycut : App(s) found: /Applications/Flycut.app
2022-04-26 15:12:58 : INFO  : flycut : found app at /Applications/Flycut.app, version 1.9.6, on versionKey CFBundleShortVersionString
2022-04-26 15:12:58 : REQ   : flycut : Installed Flycut, version 1.9.6
2022-04-26 15:12:58 : INFO  : flycut : notifying
2022-04-26 15:12:58 : INFO  : flycut : App not closed, so no reopen.
2022-04-26 15:12:58 : REQ   : flycut : All done!
2022-04-26 15:12:58 : REQ   : flycut : ################## End Installomator, exit code 0
2022-04-26 15:13:41 +02:00
marcelpogorzelski
026c399e0c Update Camtasia to 2021
Fixed name and added appNewVersion
2022-04-26 11:26:08 +02:00
marcelpogorzelski
1ce70bc8f3 Update Snagit
Added appNewVersion
2022-04-26 09:47:10 +02:00
marcelpogorzelski
9407918bd7 Update Snagit name
Updated Snagit name to Snagit 2022
2022-04-26 08:42:43 +02:00
Ted Jangius
522b0c5bf2 Added support for label thunderbird_intl
Uses similar code as firefox_intl and firefoxesr_intl.
2022-04-25 11:42:34 +02:00
Ted Jangius
9e336d1e3b Code update and fix for firefoxesr_intl
Fixed $userLanguage to use dash separator instead of underscore, since that is what is used in the $releaseURL.
2022-04-25 11:32:05 +02:00
Ted Jangius
24f99366cc Code update and fix for firefox_intl
Fixed $userLanguage to use dash separator instead of underscore, since that is what is used in the $releaseURL.
2022-04-25 11:30:35 +02:00
Søren Theilgaard
c6470fdd79 duckduckgo web browser
It’s only in preview now, and you need an invitation code to run the app, but now we are ready for this.
2022-04-25 09:02:27 +02:00
Ted Jangius
e74d0ab413 Fix for missing comment in header 2022-04-21 16:43:43 +02:00
Adam Codega
3449c24508 Update and rename installInstallomator.sh to InstallInstallomator.sh 2022-04-21 09:50:11 -04:00
Adam Codega
902175fa09 Create installInstallomator.sh 2022-04-21 09:49:24 -04:00
Brian Engert
fca59f554b updates for ringcentral app
* update installers to install latest version
* add arm installer (no universal installer yet)
2022-04-18 16:55:40 -05:00
jasmania2
a089d607ac New Label- SonoBus
2022-04-15 12:02:19 sonobus ################## Start Installomator v. 9.0dev
2022-04-15 12:02:19 sonobus ################## sonobus
2022-04-15 12:02:19 sonobus DEBUG mode 1 enabled.
2022-04-15 12:02:20 sonobus BLOCKING_PROCESS_ACTION=kill
2022-04-15 12:02:20 sonobus NOTIFY=all
2022-04-15 12:02:20 sonobus LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-15 12:02:20 sonobus no blocking processes defined, using Sonobus as default
2022-04-15 12:02:20 sonobus Changing directory to /Library/Application Support/JAMF/tmp
2022-04-15 12:02:20 sonobus App(s) found: /Applications/Sonobus.app
2022-04-15 12:02:20 sonobus found app at /Applications/Sonobus.app, version 1.5.1
2022-04-15 12:02:20 sonobus appversion: 1.5.1
2022-04-15 12:02:20 sonobus Latest version of Sonobus is 1.5.1
2022-04-15 12:02:20 sonobus DEBUG mode enabled, not exiting, but there is no new version of app.
2022-04-15 12:02:20 sonobus Downloading https://www.sonobus.net/releases/sonobus-1.5.1-mac.dmg to Sonobus.dmg
2022-04-15 12:02:20 sonobus notifying
2022-04-15 12:02:22 sonobus DEBUG mode, not checking for blocking processes
2022-04-15 12:02:22 sonobus Installing Sonobus
2022-04-15 12:02:22 sonobus notifying
2022-04-15 12:02:22 sonobus Mounting /Library/Application Support/JAMF/tmp/Sonobus.dmg
2022-04-15 12:02:23 sonobus Mounted: /Volumes/SonoBus v1.5.1
2022-04-15 12:02:23 sonobus found pkg: /Volumes/SonoBus v1.5.1/SonoBus Installer.pkg
2022-04-15 12:02:23 sonobus Verifying: /Volumes/SonoBus v1.5.1/SonoBus Installer.pkg
2022-04-15 12:02:24 sonobus Team ID: XCS435894D (expected: XCS435894D )
2022-04-15 12:02:24 sonobus DEBUG enabled, skipping installation
2022-04-15 12:02:24 sonobus Finishing...
2022-04-15 12:02:34 sonobus App(s) found: /Applications/Sonobus.app
2022-04-15 12:02:34 sonobus found app at /Applications/Sonobus.app, version 1.5.1
2022-04-15 12:02:34 sonobus Installed Sonobus, version 1.5.1
2022-04-15 12:02:34 sonobus notifying
2022-04-15 12:02:34 sonobus Unmounting /Volumes/SonoBus v1.5.1
"disk2" ejected.
2022-04-15 12:02:34 sonobus DEBUG mode, not reopening anything
2022-04-15 12:02:34 sonobus ################## End Installomator, exit code 0
2022-04-15 14:23:14 -04:00
DavidTaylor
d32c1bae9b Create slab.sh 2022-04-13 16:24:16 -07:00
Søren Theilgaard
79b2b43cd0 Dropbox with appNewVersion
Output:
```
sudo /Users/st/Documents/GitHub/Installomator/utils/assemble.sh dropbox DEBUG=0
Password:
2022-04-13 13:55:33 : WARN  : dropbox : setting variable from argument DEBUG=0
2022-04-13 13:55:33 : REQ   : dropbox : ################## Start Installomator v. 10dev, date 2022-04-13
2022-04-13 13:55:33 : INFO  : dropbox : ################## Version: 10dev
2022-04-13 13:55:33 : INFO  : dropbox : ################## Date: 2022-04-13
2022-04-13 13:55:33 : INFO  : dropbox : ################## dropbox
2022-04-13 13:55:34 : INFO  : dropbox : BLOCKING_PROCESS_ACTION=tell_user
2022-04-13 13:55:34 : INFO  : dropbox : NOTIFY=success
2022-04-13 13:55:34 : INFO  : dropbox : LOGGING=INFO
2022-04-13 13:55:34 : INFO  : dropbox : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-04-13 13:55:34 : INFO  : dropbox : Label type: dmg
2022-04-13 13:55:34 : INFO  : dropbox : archiveName: Dropbox.dmg
2022-04-13 13:55:34 : INFO  : dropbox : no blocking processes defined, using Dropbox as default
2022-04-13 13:55:34 : INFO  : dropbox : name: Dropbox, appName: Dropbox.app
2022-04-13 13:55:34 : INFO  : dropbox : App(s) found:
2022-04-13 13:55:34 : WARN  : dropbox : could not find Dropbox.app
2022-04-13 13:55:34 : INFO  : dropbox : appversion:
2022-04-13 13:55:34 : INFO  : dropbox : Latest version of Dropbox is 145.4.4921
2022-04-13 13:55:34 : REQ   : dropbox : Downloading https://www.dropbox.com/download?plat=mac&full=1 to Dropbox.dmg
2022-04-13 13:55:37 : REQ   : dropbox : no more blocking processes, continue with update
2022-04-13 13:55:37 : REQ   : dropbox : Installing Dropbox
2022-04-13 13:55:37 : INFO  : dropbox : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.HdtYqL07/Dropbox.dmg
2022-04-13 13:55:38 : INFO  : dropbox : Mounted: /Volumes/Dropbox Offline Installer
2022-04-13 13:55:38 : INFO  : dropbox : Verifying: /Volumes/Dropbox Offline Installer/Dropbox.app
2022-04-13 13:55:42 : INFO  : dropbox : Team ID matching: G7HH3F8CAK (expected: G7HH3F8CAK )
2022-04-13 13:55:42 : INFO  : dropbox : Installing Dropbox version 145.4.4921 on versionKey CFBundleShortVersionString.
2022-04-13 13:55:42 : INFO  : dropbox : App has LSMinimumSystemVersion: 10.10
2022-04-13 13:55:42 : INFO  : dropbox : Copy /Volumes/Dropbox Offline Installer/Dropbox.app to /Applications
2022-04-13 13:55:45 : WARN  : dropbox : Changing owner to st
2022-04-13 13:55:45 : INFO  : dropbox : Finishing...
2022-04-13 13:55:55 : INFO  : dropbox : App(s) found: /Applications/Dropbox.app
2022-04-13 13:55:55 : INFO  : dropbox : found app at /Applications/Dropbox.app, version 145.4.4921, on versionKey CFBundleShortVersionString
2022-04-13 13:55:55 : REQ   : dropbox : Installed Dropbox, version 145.4.4921
2022-04-13 13:55:55 : INFO  : dropbox : notifying
2022-04-13 13:55:56 : INFO  : dropbox : App not closed, so no reopen.
2022-04-13 13:55:56 : REQ   : dropbox : All done!
2022-04-13 13:55:56 : REQ   : dropbox : ################## End Installomator, exit code 0
```
2022-04-13 13:57:36 +02:00
Søren Theilgaard
972a319bb9 Change the mentioning of members with link to profiles. 2022-04-13 13:33:38 +02:00
0x4448
237648004a Add latest version check for googlechromepkg 2022-04-13 03:44:24 +00:00
marcelpogorzelski
2e291eb6c1 Label for both Clue appliations 2022-04-11 13:14:28 +02:00
Scripts and Things
8b054338d9 Merge branch 'Installomator:dev' into dev 2022-04-10 08:54:43 -04:00
Sam Ess
8ff6a0f9ca Added draw.io blocking process 2022-04-08 19:29:16 -04:00
Sam Ess
0f892f5868 Add draw.io label 2022-04-08 19:20:26 -04:00
Søren Theilgaard
1c2d8d9c17 Fixed downloadURL in sketch 2022-04-08 21:14:49 +02:00
Adam Codega
401d5ad138 Delete grammarly.sh
Committed incorrectly to root of repo.
2022-04-08 09:43:23 -04:00
Adam Codega
3ef215c22b Delete grammarly.sh
Committed incorrectly to root of repo.
2022-04-08 09:43:00 -04:00
marcelpogorzelski
ed07b2af2b Create MindManager Label
MindJet MindManager Label
2022-04-08 10:06:42 +02:00
marcelpogorzelski
251b2a14a8 Update logitechoptions.sh
Application name change
2022-04-08 08:20:51 +02:00
Greg Knackstedt
24bbe426ad Removed version check logic from "bluejeanevents"
Application does not have a version number in it's install .pkg
2022-04-05 18:57:24 -04:00
Greg Knackstedt
fc58b8e5a8 Added label "bluejeansevents"
Line 56. Added to call install logic for BlueJeans Events client by Verizon.
2022-04-05 18:36:41 -04:00
Greg Knackstedt
b160291753 Added install logic for BlueJeans Events
BlueJeans Events by Verizon only has one install package available currently, does not have architecture specific URLs.
Added install logic for "bluejeansevents" starting on line 1720
2022-04-05 18:34:28 -04:00
Søren Theilgaard
3578f9cbe9 Extra logging for firefox and googlechrome labels. 2022-04-05 20:05:47 +02:00
Maarten Wijnants
351cc07afa Add latest version check to gpgsuite 2022-04-05 16:12:08 +02:00
Gabe Marchan
229e2c76bb Add aText Legacy which provides aText 2 for those with older licenses. 2022-04-04 11:09:05 -05:00
Adrian Bühler
a27ca5a5d3 Update 'rancherdesktop' to support arm64
The `archiveName` was no longer valid. Added support for i386 and arm64. Also made `name` look more beautiful :-)
2022-04-01 16:36:18 +02:00
Maarten Wijnants
5109597f1a Add latest version check to firefoxpkg 2022-03-31 08:44:52 +02:00
Søren Theilgaard
f8a3104470 MDM scripts updated 2022-03-30 13:39:23 +02:00
Søren Theilgaard
7fa9d3c24a Zoho WorkDrive Genie
```
➜  Installomator/utils/assemble.sh zohoworkdrivegenie DEBUG=0 INSTALL=force
2022-03-30 13:20:44 : WARN  : zohoworkdrivegenie : setting variable from argument DEBUG=0
2022-03-30 13:20:44 : WARN  : zohoworkdrivegenie : setting variable from argument INSTALL=force
2022-03-30 13:20:44 : REQ   : zohoworkdrivegenie : ################## Start Installomator v. 10dev, date 2022-03-30
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : ################## Version: 10dev
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : ################## Date: 2022-03-30
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : ################## zohoworkdrivegenie
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : BLOCKING_PROCESS_ACTION=tell_user
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : NOTIFY=success
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : LOGGING=INFO
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : Label type: dmg
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : archiveName: Zoho WorkDrive Genie.dmg
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : no blocking processes defined, using Zoho WorkDrive Genie as default
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : App(s) found: /Applications/Zoho WorkDrive Genie.app
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : found app at /Applications/Zoho WorkDrive Genie.app, version 1.0, on versionKey CFBundleShortVersionString
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : appversion: 1.0
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-03-30 13:20:44 : INFO  : zohoworkdrivegenie : Latest version not specified.
2022-03-30 13:20:44 : REQ   : zohoworkdrivegenie : Downloading https://www.zoho.com/workdrive/downloads/edit-tool/Zoho_WorkDrive_Genie.dmg to Zoho WorkDrive Genie.dmg
2022-03-30 13:20:49 : REQ   : zohoworkdrivegenie : no more blocking processes, continue with update
2022-03-30 13:20:49 : REQ   : zohoworkdrivegenie : Installing Zoho WorkDrive Genie
2022-03-30 13:20:49 : INFO  : zohoworkdrivegenie : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.J1mdaQJZ/Zoho WorkDrive Genie.dmg
2022-03-30 13:20:52 : INFO  : zohoworkdrivegenie : Mounted: /Volumes/Zoho WorkDrive Genie
2022-03-30 13:20:52 : INFO  : zohoworkdrivegenie : Verifying: /Volumes/Zoho WorkDrive Genie/Zoho WorkDrive Genie.app
2022-03-30 13:20:54 : INFO  : zohoworkdrivegenie : Team ID matching: TZ824L8Y37 (expected: TZ824L8Y37 )
2022-03-30 13:20:54 : INFO  : zohoworkdrivegenie : Downloaded version of Zoho WorkDrive Genie is 1.0 on versionKey CFBundleShortVersionString, same as installed.
2022-03-30 13:20:54 : INFO  : zohoworkdrivegenie : Using force to install anyway.
2022-03-30 13:20:54 : INFO  : zohoworkdrivegenie : App has LSMinimumSystemVersion: 10.13
2022-03-30 13:20:54 : INFO  : zohoworkdrivegenie : CLIInstaller exists, running installer command /Volumes/Zoho WorkDrive Genie/Zoho WorkDrive Genie.app/Contents/MacOS/Zoho WorkDrive Genie
2022-03-30 13:21:00 : INFO  : zohoworkdrivegenie : Succesfully ran /Volumes/Zoho WorkDrive Genie/Zoho WorkDrive Genie.app/Contents/MacOS/Zoho WorkDrive Genie
2022-03-30 13:21:00 : INFO  : zohoworkdrivegenie : Finishing...
2022-03-30 13:21:10 : INFO  : zohoworkdrivegenie : App(s) found: /Applications/Zoho WorkDrive Genie.app
2022-03-30 13:21:10 : INFO  : zohoworkdrivegenie : found app at /Applications/Zoho WorkDrive Genie.app, version 1.0, on versionKey CFBundleShortVersionString
2022-03-30 13:21:10 : REQ   : zohoworkdrivegenie : Installed Zoho WorkDrive Genie, version 1.0
2022-03-30 13:21:10 : INFO  : zohoworkdrivegenie : notifying
2022-03-30 13:21:11 : INFO  : zohoworkdrivegenie : App not closed, so no reopen.
2022-03-30 13:21:11 : REQ   : zohoworkdrivegenie : All done!
2022-03-30 13:21:11 : REQ   : zohoworkdrivegenie : ################## End Installomator, exit code 0
```
2022-03-30 13:25:23 +02:00
Bradley Benkle
02435b25ad Update amazoncorretto8jdk.sh 2022-03-29 11:23:59 -04:00
Bradley Benkle
a4b02197d8 Update postman.sh 2022-03-25 14:37:23 -04:00
Bradley Benkle
a058a6594b Create androidstudio.sh 2022-03-24 17:05:44 -04:00
Bradley Benkle
20e87458ad Revert "Create androidstudio.sh"
This reverts commit 1797bb645b.
2022-03-24 16:44:33 -04:00
Bradley Benkle
1797bb645b Create androidstudio.sh 2022-03-24 16:37:23 -04:00
Søren Theilgaard
95684b6ecf CraftManager for Sketch
Result:
```
➜  Installomator/utils/assemble.sh craftmanagerforsketch DEBUG=0 INSTALL=force
2022-03-23 16:12:43 : WARN  : craftmanagerforsketch : setting variable from argument DEBUG=0
2022-03-23 16:12:43 : WARN  : craftmanagerforsketch : setting variable from argument INSTALL=force
2022-03-23 16:12:43 : REQ   : craftmanagerforsketch : ################## Start Installomator v. 10dev, date 2022-03-23
2022-03-23 16:12:43 : INFO  : craftmanagerforsketch : ################## Version: 10dev
2022-03-23 16:12:43 : INFO  : craftmanagerforsketch : ################## Date: 2022-03-23
2022-03-23 16:12:43 : INFO  : craftmanagerforsketch : ################## craftmanagerforsketch
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : BLOCKING_PROCESS_ACTION=tell_user
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : NOTIFY=success
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : LOGGING=INFO
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : Label type: zip
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : archiveName: CraftManager.zip
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : no blocking processes defined, using CraftManager as default
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : App(s) found: /Applications/CraftManager.app
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : found app at /Applications/CraftManager.app, version 1.1.1, on versionKey CFBundleShortVersionString
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : appversion: 1.1.1
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : Latest version of CraftManager is 1.1.1
2022-03-23 16:12:44 : INFO  : craftmanagerforsketch : There is no newer version available.
2022-03-23 16:12:44 : REQ   : craftmanagerforsketch : Downloading https://craft-assets.invisionapp.com/CraftManager/production/CraftManager.zip to CraftManager.zip
2022-03-23 16:13:06 : REQ   : craftmanagerforsketch : no more blocking processes, continue with update
2022-03-23 16:13:06 : REQ   : craftmanagerforsketch : Installing CraftManager
2022-03-23 16:13:06 : INFO  : craftmanagerforsketch : Unzipping CraftManager.zip
2022-03-23 16:13:06 : INFO  : craftmanagerforsketch : Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.JOfEecvm/CraftManager.app
2022-03-23 16:13:07 : INFO  : craftmanagerforsketch : Team ID matching: VRXQSNCL5W (expected: VRXQSNCL5W )
2022-03-23 16:13:07 : INFO  : craftmanagerforsketch : Downloaded version of CraftManager is 1.1.1 on versionKey CFBundleShortVersionString, same as installed.
2022-03-23 16:13:07 : INFO  : craftmanagerforsketch : Using force to install anyway.
2022-03-23 16:13:07 : INFO  : craftmanagerforsketch : App has LSMinimumSystemVersion: 10.15
2022-03-23 16:13:07 : WARN  : craftmanagerforsketch : Removing existing /Applications/CraftManager.app
2022-03-23 16:13:07 : INFO  : craftmanagerforsketch : Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.JOfEecvm/CraftManager.app to /Applications
2022-03-23 16:13:07 : WARN  : craftmanagerforsketch : Changing owner to st
2022-03-23 16:13:08 : INFO  : craftmanagerforsketch : Finishing...
2022-03-23 16:13:18 : INFO  : craftmanagerforsketch : App(s) found: /Applications/CraftManager.app
2022-03-23 16:13:18 : INFO  : craftmanagerforsketch : found app at /Applications/CraftManager.app, version 1.1.1, on versionKey CFBundleShortVersionString
2022-03-23 16:13:18 : REQ   : craftmanagerforsketch : Installed CraftManager, version 1.1.1
2022-03-23 16:13:18 : INFO  : craftmanagerforsketch : notifying
2022-03-23 16:13:18 : INFO  : craftmanagerforsketch : App not closed, so no reopen.
2022-03-23 16:13:18 : REQ   : craftmanagerforsketch : All done!
2022-03-23 16:13:18 : REQ   : craftmanagerforsketch : ################## End Installomator, exit code 0

➜  Installomator/utils/assemble.sh craftmanagerforsketch DEBUG=0
2022-03-23 16:13:23 : WARN  : craftmanagerforsketch : setting variable from argument DEBUG=0
2022-03-23 16:13:23 : REQ   : craftmanagerforsketch : ################## Start Installomator v. 10dev, date 2022-03-23
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : ################## Version: 10dev
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : ################## Date: 2022-03-23
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : ################## craftmanagerforsketch
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : BLOCKING_PROCESS_ACTION=tell_user
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : NOTIFY=success
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : LOGGING=INFO
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : Label type: zip
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : archiveName: CraftManager.zip
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : no blocking processes defined, using CraftManager as default
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : App(s) found: /Applications/CraftManager.app
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : found app at /Applications/CraftManager.app, version 1.1.1, on versionKey CFBundleShortVersionString
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : appversion: 1.1.1
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : Latest version of CraftManager is 1.1.1
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : There is no newer version available.
2022-03-23 16:13:23 : INFO  : craftmanagerforsketch : App not closed, so no reopen.
2022-03-23 16:13:23 : REQ   : craftmanagerforsketch : No newer version.
2022-03-23 16:13:23 : REQ   : craftmanagerforsketch : ################## End Installomator, exit code 0
```
2022-03-23 16:14:35 +01:00
Søren Theilgaard
affe0f4073 log levels on localization 2022-03-23 14:11:05 +01:00
Søren Theilgaard
37f6290d34 firefoxpkg_intl
Trying to determine the language of the user, and then installing that localized version, instead of en_US. But it will fall back to en_US if something goes wrong.
2022-03-23 14:04:43 +01:00
Søren Theilgaard
cec9d53ff8 QGIS software latest release "pr"
This will download the release called "Latest release (richest on features)".

```
$ Installomator/utils/assemble.sh qgis-pr DEBUG=0
2022-03-22 16:23:41 : WARN  : qgis-pr : setting variable from argument DEBUG=0
2022-03-22 16:23:41 : REQ   : qgis-pr : ################## Start Installomator v. 10dev, date 2022-03-22
2022-03-22 16:23:41 : INFO  : qgis-pr : ################## Version: 10dev
2022-03-22 16:23:41 : INFO  : qgis-pr : ################## Date: 2022-03-22
2022-03-22 16:23:41 : INFO  : qgis-pr : ################## qgis-pr
2022-03-22 16:23:42 : INFO  : qgis-pr : BLOCKING_PROCESS_ACTION=tell_user
2022-03-22 16:23:42 : INFO  : qgis-pr : NOTIFY=success
2022-03-22 16:23:42 : INFO  : qgis-pr : LOGGING=INFO
2022-03-22 16:23:42 : INFO  : qgis-pr : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-22 16:23:42 : INFO  : qgis-pr : Label type: dmg
2022-03-22 16:23:42 : INFO  : qgis-pr : archiveName: QGIS.dmg
2022-03-22 16:23:42 : INFO  : qgis-pr : no blocking processes defined, using QGIS as default
2022-03-22 16:23:42 : INFO  : qgis-pr : name: QGIS, appName: QGIS.app
2022-03-22 16:23:42 : INFO  : qgis-pr : App(s) found:
2022-03-22 16:23:42 : WARN  : qgis-pr : could not find QGIS.app
2022-03-22 16:23:42 : INFO  : qgis-pr : appversion:
2022-03-22 16:23:42 : INFO  : qgis-pr : Latest version of QGIS is 3.24.1
2022-03-22 16:23:42 : REQ   : qgis-pr : Downloading https://download.qgis.org/downloads/macos/qgis-macos-pr.dmg to QGIS.dmg
2022-03-22 16:25:31 : REQ   : qgis-pr : no more blocking processes, continue with update
2022-03-22 16:25:31 : REQ   : qgis-pr : Installing QGIS
2022-03-22 16:25:31 : INFO  : qgis-pr : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.DTKj8N3Y/QGIS.dmg
2022-03-22 16:26:48 : INFO  : qgis-pr : Mounted: /Volumes/QGIS.app 1
2022-03-22 16:26:48 : INFO  : qgis-pr : Verifying: /Volumes/QGIS.app 1/QGIS.app
2022-03-22 16:29:55 : INFO  : qgis-pr : Team ID matching: 4F7N4UDA22 (expected: 4F7N4UDA22 )
2022-03-22 16:29:55 : INFO  : qgis-pr : Installing QGIS version 3.24.1 on versionKey CFBundleShortVersionString.
2022-03-22 16:29:55 : INFO  : qgis-pr : App has LSMinimumSystemVersion: 10.13.0
2022-03-22 16:29:55 : INFO  : qgis-pr : Copy /Volumes/QGIS.app 1/QGIS.app to /Applications
2022-03-22 16:32:56 : WARN  : qgis-pr : Changing owner to st
2022-03-22 16:32:57 : INFO  : qgis-pr : Finishing...
2022-03-22 16:33:07 : INFO  : qgis-pr : App(s) found: /Applications/QGIS.app
2022-03-22 16:33:07 : INFO  : qgis-pr : found app at /Applications/QGIS.app, version 3.24.1, on versionKey CFBundleShortVersionString
2022-03-22 16:33:07 : REQ   : qgis-pr : Installed QGIS, version 3.24.1
2022-03-22 16:33:07 : INFO  : qgis-pr : notifying
2022-03-22 16:33:08 : INFO  : qgis-pr : App not closed, so no reopen.
2022-03-22 16:33:08 : REQ   : qgis-pr : All done!
2022-03-22 16:33:08 : REQ   : qgis-pr : ################## End Installomator, exit code 0

$ Installomator/utils/assemble.sh qgis-pr DEBUG=0
2022-03-22 16:36:26 : WARN  : qgis-pr : setting variable from argument DEBUG=0
2022-03-22 16:36:26 : REQ   : qgis-pr : ################## Start Installomator v. 10dev, date 2022-03-22
2022-03-22 16:36:26 : INFO  : qgis-pr : ################## Version: 10dev
2022-03-22 16:36:26 : INFO  : qgis-pr : ################## Date: 2022-03-22
2022-03-22 16:36:26 : INFO  : qgis-pr : ################## qgis-pr
2022-03-22 16:36:26 : INFO  : qgis-pr : BLOCKING_PROCESS_ACTION=tell_user
2022-03-22 16:36:26 : INFO  : qgis-pr : NOTIFY=success
2022-03-22 16:36:26 : INFO  : qgis-pr : LOGGING=INFO
2022-03-22 16:36:26 : INFO  : qgis-pr : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-22 16:36:26 : INFO  : qgis-pr : Label type: dmg
2022-03-22 16:36:26 : INFO  : qgis-pr : archiveName: QGIS.dmg
2022-03-22 16:36:26 : INFO  : qgis-pr : no blocking processes defined, using QGIS as default
2022-03-22 16:36:26 : INFO  : qgis-pr : App(s) found: /Applications/QGIS.app
2022-03-22 16:36:26 : INFO  : qgis-pr : found app at /Applications/QGIS.app, version 3.24.1, on versionKey CFBundleShortVersionString
2022-03-22 16:36:26 : INFO  : qgis-pr : appversion: 3.24.1
2022-03-22 16:36:26 : INFO  : qgis-pr : Latest version of QGIS is 3.24.1
2022-03-22 16:36:26 : INFO  : qgis-pr : There is no newer version available.
2022-03-22 16:36:26 : INFO  : qgis-pr : App not closed, so no reopen.
2022-03-22 16:36:26 : REQ   : qgis-pr : No newer version.
2022-03-22 16:36:26 : REQ   : qgis-pr : ################## End Installomator, exit code 0
```
2022-03-22 16:39:30 +01:00
Adrian Bühler
600657b074 Add downloadURL for ARM. Add appNewVersion
Unfortunately I could not find any other version source for `appNewVersion`.
Should work just fine tho.
2022-03-22 11:40:43 +01:00
Liam Steckler
c728c25fc4 Updated label sed and downloadURL 2022-03-21 17:06:26 -07:00
Liam Steckler
bb935516d1 removed unneeded -L paramater from curl 2022-03-21 16:50:48 -07:00
Liam Steckler
7456bdad04 Add Talkdesk CX Cloud Label 2022-03-21 16:41:58 -07:00
Bradley Benkle
38f2f45d97 Update dbeaverce.sh 2022-03-21 12:52:07 -04:00
marcelpogorzelski
034ac45ba0 Update displaylinkmanager.sh
Added appNewVersion
2022-03-18 15:45:19 +01:00
Armin Briegel
f0f4ff5747 updated version 2022-03-18 14:03:21 +01:00
Armin Briegel
579862274a updated version 2022-03-18 14:02:32 +01:00
Armin Briegel
72fdc2365e Merge branch 'main' of github.com:Installomator/Installomator 2022-03-18 13:54:55 +01:00
Armin Briegel
ac042bc700 preparing v9.1 release 2022-03-18 13:51:25 +01:00
Armin Briegel
f001a829bd new label autodeskfusion360admininstall, closes #447 2022-03-18 13:18:38 +01:00
Armin Briegel
9736e1dbfa changed name for cosmetic reasons 2022-03-18 13:17:47 +01:00
Armin Briegel
d78c6fdd5c Merge pull request #446 from Installomator/Micosorft-Endpoint-Manager-(Intune)
Micosorft endpoint manager (intune)
2022-03-18 13:12:21 +01:00
Armin Briegel
65b16dc1ed new label grammarly, closes #444 2022-03-18 13:04:35 +01:00
Armin Briegel
9f5b89c37e moved grammarly.sh to the right location 2022-03-18 13:04:03 +01:00
Armin Briegel
05c1bf7cfc updated label microsoftdefender, closes #440 2022-03-18 12:59:09 +01:00
Armin Briegel
e07b4dd08f new label axurerp10, closes #439 2022-03-18 11:14:07 +01:00
Armin Briegel
88da86d4f0 new lable microsoftazuredatastudio, closes #438 2022-03-18 11:11:12 +01:00
Armin Briegel
b512ae17a3 merged #436 2022-03-18 11:08:46 +01:00
Armin Briegel
1787842366 added new label dialog/swiftdialog, closes #435 2022-03-18 11:04:39 +01:00
Armin Briegel
3e0ad885d8 closes #424 2022-03-18 11:01:03 +01:00
Armin Briegel
001cd592b0 added new label dockutil, closes #432 2022-03-18 10:56:49 +01:00
Armin Briegel
de93df0f85 added new label macadminspython, closes #431 2022-03-18 10:55:03 +01:00
Armin Briegel
0d9628b587 always download Google Chrome universal, closes #430 2022-03-18 10:52:32 +01:00
Armin Briegel
41e828f87a new label 1passwordcli, closes #429 2022-03-18 10:48:08 +01:00
Armin Briegel
eb25c271e3 updated label for appcleaner, closes #428 2022-03-18 10:45:13 +01:00
Armin Briegel
25c419b50d merged logging fixes, closes #427 2022-03-18 10:42:06 +01:00
Armin Briegel
7025efe566 added label for amazoncorretto8jdk, closes #425 2022-03-18 10:38:56 +01:00
Armin Briegel
22a34c45c9 added label for clipy, closes #412 2022-03-18 10:37:13 +01:00
Armin Briegel
cc06b77611 fixed filename for houdahspot label 2022-03-18 10:29:39 +01:00
marcelpogorzelski
30f1f1b43c Create displaylinkmanager.sh
Created a DisplayLink Manager label
2022-03-18 09:43:41 +01:00
glowlace
70c4d59df7 Added autodeskfusion360admininstall.sh label 2022-03-18 00:13:21 -05:00
Søren Theilgaard
7fcba4cb6e Merge branch 'main' into Micosorft-Endpoint-Manager-(Intune) 2022-03-15 15:14:30 +01:00
Søren Theilgaard
00ebfa35fd Correct MDM profile name and LOGO path now 2022-03-15 15:13:22 +01:00
Søren Theilgaard
2d813bce80 Microsoft Endpoint Manager (Intune) 2022-03-14 10:19:47 +01:00
Søren Theilgaard
69e4cdd216 Microsoft Endpoint Manager (Intune) added for LOGO 2022-03-14 10:18:58 +01:00
unfo33
55eb9e2d89 Create grammarly.sh 2022-03-11 20:57:58 -05:00
marcelpogorzelski
2349f456bc Fixed Microsoft Defender label
Change applications name to Microsoft Defender and added microsoftdefender as label.

Tested with Intel and Apple Silicon
2022-03-08 11:10:47 +01:00
Macnichol, Christopher
8fd949a567 Create axurerp10.sh 2022-03-07 17:17:56 -05:00
Macnichol, Christopher
f9997623f1 Create microsoftazuredatastudio.sh 2022-03-07 14:57:11 -05:00
Søren Theilgaard
4b14b31ff3 Fixed version
Issue #433 fixed.
2022-03-07 15:11:02 +01:00
Søren Theilgaard
ed737510bb Fixed bad copy-paste 2022-03-07 09:42:51 +01:00
Søren Theilgaard
ec9f1bb9a2 Update to label name as well 2022-03-07 09:38:06 +01:00
Bart Reardon
9022d8e74d Merge branch 'dev' into follow-git-redirects
# Conflicts:
#	fragments/version.sh
2022-03-06 09:02:13 +11:00
Bart Reardon
2a9b73dba7 update downloadURLFromGit() and versionFromGit() to follow redirects 2022-03-06 08:50:49 +11:00
Pro4TLZZ
40f20b3536 update dialog name 2022-03-05 21:31:37 +00:00
Pro4TLZZ
3a0c104f48 update dialog name 2022-03-05 21:30:54 +00:00
Pro4TLZZ
7629acf6a5 update dialog name 2022-03-05 21:30:17 +00:00
Søren Theilgaard
9f79cf4d65 Update functions.sh 2022-03-03 21:35:22 +01:00
Armin Briegel
54070273bc Merge pull request #424 from jamesrampton/README-tweak
Fix a minor typo in README
2022-03-03 15:00:04 +01:00
Armin Briegel
3d84300665 added label for dockutil 2022-03-03 14:53:59 +01:00
Søren Theilgaard
bbae9356c4 appCustomVersion for getting installed version 2022-03-03 14:53:47 +01:00
Armin Briegel
57733423b1 added label for MacAdmins Python 2022-03-03 14:48:36 +01:00
Maarten Wijnants
c3f751bad8 Always download Chrome universal 2022-03-03 11:33:49 +01:00
Rob Smithers
56bf2a3dc4 Create 1passwordcli.sh 2022-03-02 16:04:44 -05:00
Søren Theilgaard
28ddefbd57 Update tembo.sh 2022-03-01 15:07:43 +01:00
Søren Theilgaard
3a0373af60 Few DEVONtechnologies labels 2022-03-01 15:06:32 +01:00
Søren Theilgaard
fb7d9c43a8 Nanosaur now signed
```
$ Installomator/utils/assemble.sh nanosaur DEBUG=0
2022-03-01 09:12:25 : REQ   : nanosaur : setting variable from argument DEBUG=0
2022-03-01 09:12:25 : REQ   : nanosaur : ################## Start Installomator v. 9.1beta, date 2022-03-01
2022-03-01 09:12:25 : INFO  : nanosaur : ################## Version: 9.1beta
2022-03-01 09:12:25 : INFO  : nanosaur : ################## Date: 2022-03-01
2022-03-01 09:12:25 : INFO  : nanosaur : ################## nanosaur
2022-03-01 09:12:25 : INFO  : nanosaur : BLOCKING_PROCESS_ACTION=tell_user
2022-03-01 09:12:25 : INFO  : nanosaur : NOTIFY=success
2022-03-01 09:12:25 : INFO  : nanosaur : LOGGING=INFO
2022-03-01 09:12:25 : INFO  : nanosaur : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-03-01 09:12:25 : INFO  : nanosaur : Label type: dmg
2022-03-01 09:12:25 : INFO  : nanosaur : archiveName: Nanosaur.dmg
2022-03-01 09:12:25 : INFO  : nanosaur : no blocking processes defined, using Nanosaur as default
2022-03-01 09:12:25 : INFO  : nanosaur : name: Nanosaur, appName: Nanosaur.app
2022-03-01 09:12:25 : INFO  : nanosaur : App(s) found:
2022-03-01 09:12:25 : WARN  : nanosaur : could not find Nanosaur.app
2022-03-01 09:12:25 : INFO  : nanosaur : appversion:
2022-03-01 09:12:25 : INFO  : nanosaur : Latest version of Nanosaur is 1.4.3
2022-03-01 09:12:25 : REQ   : nanosaur : Downloading https://github.com/jorio/Nanosaur/releases/download/v1.4.3/Nanosaur-1.4.3-mac.dmg to Nanosaur.dmg
2022-03-01 09:12:27 : REQ   : nanosaur : no more blocking processes, continue with update
2022-03-01 09:12:27 : REQ   : nanosaur : Installing Nanosaur
2022-03-01 09:12:27 : INFO  : nanosaur : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.EyqBn1xp/Nanosaur.dmg
2022-03-01 09:12:31 : INFO  : nanosaur : Mounted: /Volumes/Nanosaur 1.4.3
2022-03-01 09:12:31 : INFO  : nanosaur : Verifying: /Volumes/Nanosaur 1.4.3/Nanosaur.app
2022-03-01 09:12:31 : INFO  : nanosaur : Team ID matching: RVNL7XC27G (expected: RVNL7XC27G )
2022-03-01 09:12:31 : INFO  : nanosaur : Installing Nanosaur version 1.4.3 on versionKey CFBundleShortVersionString.
2022-03-01 09:12:31 : INFO  : nanosaur : App has LSMinimumSystemVersion: 10.11
2022-03-01 09:12:31 : INFO  : nanosaur : Copy /Volumes/Nanosaur 1.4.3/Nanosaur.app to /Applications
2022-03-01 09:12:31 : INFO  : nanosaur : Changing owner to st
2022-03-01 09:12:31 : INFO  : nanosaur : Finishing...
2022-03-01 09:12:41 : INFO  : nanosaur : App(s) found: /Applications/Nanosaur.app
2022-03-01 09:12:41 : INFO  : nanosaur : found app at /Applications/Nanosaur.app, version 1.4.3, on versionKey CFBundleShortVersionString
2022-03-01 09:12:41 : INFO  : nanosaur : Installed Nanosaur, version 1.4.3
2022-03-01 09:12:41 : INFO  : nanosaur : notifying
2022-03-01 09:12:53 : INFO  : nanosaur : App not closed, so no reopen.
2022-03-01 09:12:53 : INFO  : nanosaur :
2022-03-01 09:12:53 : REQ   : nanosaur : ################## End Installomator, exit code 0
```
2022-03-01 09:13:38 +01:00
Søren Theilgaard
ebed623837 Houdah Tembo
```
Installomator/utils/assemble.sh houdahtembo DEBUG=0 INSTALL=force
2022-02-25 11:27:28 : REQ   : houdahtembo : setting variable from argument DEBUG=0
2022-02-25 11:27:28 : REQ   : houdahtembo : setting variable from argument INSTALL=force
2022-02-25 11:27:28 : REQ   : houdahtembo : ################## Start Installomator v. 9.1beta, date 2022-02-25
2022-02-25 11:27:28 : INFO  : houdahtembo : ################## Version: 9.1beta
2022-02-25 11:27:28 : INFO  : houdahtembo : ################## Date: 2022-02-25
2022-02-25 11:27:28 : INFO  : houdahtembo : ################## houdahtembo
2022-02-25 11:27:30 : INFO  : houdahtembo : BLOCKING_PROCESS_ACTION=tell_user
2022-02-25 11:27:30 : INFO  : houdahtembo : NOTIFY=success
2022-02-25 11:27:30 : INFO  : houdahtembo : LOGGING=INFO
2022-02-25 11:27:30 : INFO  : houdahtembo : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-02-25 11:27:30 : INFO  : houdahtembo : Label type: zip
2022-02-25 11:27:30 : INFO  : houdahtembo : archiveName: Tembo.zip
2022-02-25 11:27:30 : INFO  : houdahtembo : no blocking processes defined, using Tembo as default
2022-02-25 11:27:30 : INFO  : houdahtembo : App(s) found: /Applications/Tembo.app
2022-02-25 11:27:30 : INFO  : houdahtembo : found app at /Applications/Tembo.app, version 2.6, on versionKey CFBundleShortVersionString
2022-02-25 11:27:30 : INFO  : houdahtembo : appversion: 2.6
2022-02-25 11:27:30 : INFO  : houdahtembo : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-02-25 11:27:30 : INFO  : houdahtembo : Latest version of Tembo is 2.6
2022-02-25 11:27:30 : INFO  : houdahtembo : There is no newer version available.
2022-02-25 11:27:30 : REQ   : houdahtembo : Downloading https://dl.houdah.com/tembo/updates/cast2_assets/Tembo2.6.zip to Tembo.zip
2022-02-25 11:27:35 : REQ   : houdahtembo : no more blocking processes, continue with update
2022-02-25 11:27:35 : REQ   : houdahtembo : Installing Tembo
2022-02-25 11:27:35 : INFO  : houdahtembo : Unzipping Tembo.zip
2022-02-25 11:27:35 : INFO  : houdahtembo : Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.RzdJx8SQ/Tembo.app
2022-02-25 11:27:35 : INFO  : houdahtembo : Team ID matching: DKGQD8H8ZY (expected: DKGQD8H8ZY )
2022-02-25 11:27:35 : INFO  : houdahtembo : Downloaded version of Tembo is 2.6 on versionKey CFBundleShortVersionString, same as installed.
2022-02-25 11:27:35 : INFO  : houdahtembo : Using force to install anyway.
2022-02-25 11:27:35 : INFO  : houdahtembo : App has LSMinimumSystemVersion: 10.11
2022-02-25 11:27:36 : INFO  : houdahtembo : Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.RzdJx8SQ/Tembo.app to /Applications
2022-02-25 11:27:36 : INFO  : houdahtembo : Changing owner to st
2022-02-25 11:27:36 : INFO  : houdahtembo : Finishing...
2022-02-25 11:27:46 : INFO  : houdahtembo : App(s) found: /Applications/Tembo.app
2022-02-25 11:27:46 : INFO  : houdahtembo : found app at /Applications/Tembo.app, version 2.6, on versionKey CFBundleShortVersionString
2022-02-25 11:27:46 : INFO  : houdahtembo : Installed Tembo, version 2.6
2022-02-25 11:27:46 : INFO  : houdahtembo : notifying
2022-02-25 11:27:46 : INFO  : houdahtembo : App not closed, so no reopen.
2022-02-25 11:27:46 : INFO  : houdahtembo :
2022-02-25 11:27:46 : REQ   : houdahtembo : ################## End Installomator, exit code 0
```
2022-02-25 11:28:30 +01:00
Søren Theilgaard
b18aac905e HoudahSpot
```
Installomator/utils/assemble.sh houdahspot DEBUG=0 INSTALL=force
2022-02-25 09:22:23 : REQ   : houdahspot : setting variable from argument DEBUG=0
2022-02-25 09:22:23 : REQ   : houdahspot : setting variable from argument INSTALL=force
2022-02-25 09:22:23 : REQ   : houdahspot : ################## Start Installomator v. 9.1beta, date 2022-02-25
2022-02-25 09:22:23 : INFO  : houdahspot : ################## Version: 9.1beta
2022-02-25 09:22:23 : INFO  : houdahspot : ################## Date: 2022-02-25
2022-02-25 09:22:23 : INFO  : houdahspot : ################## houdahspot
2022-02-25 09:22:25 : INFO  : houdahspot : BLOCKING_PROCESS_ACTION=tell_user
2022-02-25 09:22:25 : INFO  : houdahspot : NOTIFY=success
2022-02-25 09:22:25 : INFO  : houdahspot : LOGGING=INFO
2022-02-25 09:22:25 : INFO  : houdahspot : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-02-25 09:22:25 : INFO  : houdahspot : Label type: zip
2022-02-25 09:22:25 : INFO  : houdahspot : archiveName: HoudahSpot.zip
2022-02-25 09:22:25 : INFO  : houdahspot : no blocking processes defined, using HoudahSpot as default
2022-02-25 09:22:25 : INFO  : houdahspot : App(s) found: /Applications/HoudahSpot.app
2022-02-25 09:22:25 : INFO  : houdahspot : found app at /Applications/HoudahSpot.app, version 6.1.11, on versionKey CFBundleShortVersionString
2022-02-25 09:22:25 : INFO  : houdahspot : appversion: 6.1.11
2022-02-25 09:22:25 : INFO  : houdahspot : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-02-25 09:22:25 : INFO  : houdahspot : Latest version of HoudahSpot is 6.1.11
2022-02-25 09:22:25 : INFO  : houdahspot : There is no newer version available.
2022-02-25 09:22:25 : REQ   : houdahspot : Downloading https://dl.houdah.com/houdahSpot/updates/cast6_assets/HoudahSpot6.1.11.zip to HoudahSpot.zip
2022-02-25 09:22:32 : REQ   : houdahspot : no more blocking processes, continue with update
2022-02-25 09:22:32 : REQ   : houdahspot : Installing HoudahSpot
2022-02-25 09:22:32 : INFO  : houdahspot : Unzipping HoudahSpot.zip
2022-02-25 09:22:32 : INFO  : houdahspot : Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.O8lA89oA/HoudahSpot.app
2022-02-25 09:22:33 : INFO  : houdahspot : Team ID matching: DKGQD8H8ZY (expected: DKGQD8H8ZY )
2022-02-25 09:22:33 : INFO  : houdahspot : Downloaded version of HoudahSpot is 6.1.11 on versionKey CFBundleShortVersionString, same as installed.
2022-02-25 09:22:33 : INFO  : houdahspot : Using force to install anyway.
2022-02-25 09:22:33 : INFO  : houdahspot : App has LSMinimumSystemVersion: 10.14
2022-02-25 09:22:33 : INFO  : houdahspot : Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.O8lA89oA/HoudahSpot.app to /Applications
2022-02-25 09:22:33 : INFO  : houdahspot : Changing owner to st
2022-02-25 09:22:33 : INFO  : houdahspot : Finishing...
2022-02-25 09:22:43 : INFO  : houdahspot : App(s) found: /Applications/HoudahSpot.app
2022-02-25 09:22:43 : INFO  : houdahspot : found app at /Applications/HoudahSpot.app, version 6.1.11, on versionKey CFBundleShortVersionString
2022-02-25 09:22:43 : INFO  : houdahspot : Installed HoudahSpot, version 6.1.11
2022-02-25 09:22:43 : INFO  : houdahspot : notifying
2022-02-25 09:22:43 : INFO  : houdahspot : App not closed, so no reopen.
2022-02-25 09:22:43 : INFO  : houdahspot :
2022-02-25 09:22:43 : REQ   : houdahspot : ################## End Installomator, exit code 0
```
2022-02-25 09:23:26 +01:00
Adrian Bühler
4f1c56177a Update appcleaner.sh
Fix downloadURL to use `item[last()]`.
Add `appNewVersion`.
2022-02-24 16:26:40 +01:00
Søren Theilgaard
0a3b7af338 EasyFind from DEVONtechnologies 2022-02-24 12:28:26 +01:00
Søren Theilgaard
9b6c337d7a Improved logging for app copy with ditto
And a few lines changed to `WARN`.
2022-02-21 21:53:18 +01:00
Søren Theilgaard
9fd2b87e3c Few logging levels changed
I want to return a valid explanation for log level REQ for why the script stops.
2022-02-21 16:47:57 +01:00
Søren Theilgaard
a16cd44b0e Merge branch 'main' into Theile-labels-2022-02 2022-02-21 13:43:19 +01:00
Søren Theilgaard
74f6b569dd Support App fixed
Now `supportapp` label have been fixed, so that it will be quit, and can be installed if it is running.
2022-02-21 13:41:51 +01:00
Armin Briegel
d475b2b8ab added label file for amazoncorretto8jdk, #423 2022-02-21 09:39:37 +01:00
James Rampton
d79886b88f Fix a minor typo in README 2022-02-21 08:21:48 +00:00
Armin Briegel
56125c07b1 updated version 2022-02-20 13:08:25 +01:00
Armin Briegel
a3dbf75818 updated version 2022-02-20 13:07:53 +01:00
Armin Briegel
afbd1e363e updated changelog 2022-02-20 12:57:15 +01:00
Armin Briegel
22bc0ecbf6 updated version 2022-02-20 12:48:46 +01:00
Armin Briegel
24f729d357 updated Labels.txt 2022-02-18 17:17:46 +01:00
Armin Briegel
81b02e3932 updated Installomator.sh 2022-02-18 17:16:43 +01:00
Armin Briegel
800912be0c Merge branch 'pr/417' into dev-v9.0.1 2022-02-18 17:08:59 +01:00
Armin Briegel
1e3a50c07f Merge branch 'app-searching-changes-in-getAppVersion' into dev-v9.0.1 2022-02-18 16:56:22 +01:00
Armin Briegel
693164c9a0 Merge branch 'packages-app' into dev-v9.0.1 2022-02-18 16:54:33 +01:00
taboc741
fbe58f8ee3 Update and rename NordVPNTeams.sh to NordLayer.sh
Fixed legacy branding from their documentation and pointed to modern URL.
2022-02-14 12:46:46 -05:00
taboc741
e8948dafb3 Create NordVPNTeams.sh
Adding download package support for NordLayer aka NordVPN Teams
2022-02-14 12:33:20 -05:00
Fletcher Salesky
0c12343fbb Added support for Loom Apple Silicon version 2022-02-11 15:08:57 -08:00
Søren Theilgaard
cba0e8c766 Merge branch 'Logging-level-improvements' of https://github.com/Installomator/Installomator into Logging-level-improvements 2022-02-09 16:24:40 +01:00
Søren Theilgaard
a25c904ba7 Update functions.sh 2022-02-09 16:23:52 +01:00
Armin Briegel
d64c18df93 Merge branch 'Logging-level-improvements' into packages-app 2022-02-09 15:49:25 +01:00
Armin Briegel
9afdc233f9 replaced a stray 'tmpdir' 2022-02-09 15:49:05 +01:00
Armin Briegel
bc7d005fb9 Merge branch 'Logging-level-improvements' into packages-app 2022-02-09 15:43:21 +01:00
Armin Briegel
175f682b43 re-enabled packages label 2022-02-09 15:41:45 +01:00
Søren Theilgaard
ff8a9c2c3a Few more DEBUG loggings 2022-02-09 14:38:58 +01:00
Søren Theilgaard
bf740d1ffe Update functions.sh 2022-02-09 14:23:32 +01:00
Søren Theilgaard
1da37a13ca Another ls that could return an error 2022-02-09 14:10:01 +01:00
Søren Theilgaard
b30d4da703 Update functions.sh 2022-02-09 14:04:23 +01:00
Søren Theilgaard
c3714d855c Missing spaces
After manually moving Firefox to Utilities I have tested with this:
```
$ sudo /Installomator/utils/assemble.sh firefox DEBUG=0 INSTALL=force
2022-02-09 09:44:04 : INFO  : firefox : setting variable from argument DEBUG=0
2022-02-09 09:44:04 : INFO  : firefox : setting variable from argument INSTALL=force
2022-02-09 09:44:04 : REQ   : firefox : ################## Start Installomator v. 9.1beta, date 2022-02-09
2022-02-09 09:44:04 : INFO  : firefox : ################## Version: 9.1beta
2022-02-09 09:44:04 : INFO  : firefox : ################## Date: 2022-02-09
2022-02-09 09:44:04 : INFO  : firefox : ################## firefox
2022-02-09 09:44:04 : INFO  : firefox : BLOCKING_PROCESS_ACTION=tell_user
2022-02-09 09:44:04 : INFO  : firefox : NOTIFY=success
2022-02-09 09:44:04 : INFO  : firefox : LOGGING=INFO
2022-02-09 09:44:04 : INFO  : firefox : LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-02-09 09:44:04 : INFO  : firefox : Label type: dmg
2022-02-09 09:44:04 : INFO  : firefox : targetDir for installation: /Applications/Utilities
2022-02-09 09:44:04 : INFO  : firefox : found app at /Applications/Utilities/Firefox.app, version 97.0, on versionKey CFBundleShortVersionString
2022-02-09 09:44:04 : INFO  : firefox : appversion: 97.0
2022-02-09 09:44:04 : INFO  : firefox : Label is not of type “updateronly”, and it’s set to use force to install or ignoring app store apps, so not using updateTool.
2022-02-09 09:44:04 : INFO  : firefox : Latest version of Firefox is 97.0
2022-02-09 09:44:04 : INFO  : firefox : There is no newer version available.
2022-02-09 09:44:04 : REQ   : firefox : Downloading https://download.mozilla.org/?product=firefox-latest&os=osx&lang=en-US to Firefox.dmg
2022-02-09 09:44:16 : REQ   : firefox : no more blocking processes, continue with update
2022-02-09 09:44:16 : REQ   : firefox : Installing Firefox
2022-02-09 09:44:16 : INFO  : firefox : Mounting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.NMItuUfS/Firefox.dmg
2022-02-09 09:44:24 : INFO  : firefox : Mounted: /Volumes/Firefox
2022-02-09 09:44:24 : INFO  : firefox : Verifying: /Volumes/Firefox/Firefox.app
2022-02-09 09:44:33 : INFO  : firefox : Team ID matching: 43AQ936H96 (expected: 43AQ936H96 )
2022-02-09 09:44:33 : INFO  : firefox : Downloaded version of Firefox is 97.0 on versionKey CFBundleShortVersionString, same as installed.
2022-02-09 09:44:33 : INFO  : firefox : Using force to install anyway.
2022-02-09 09:44:33 : INFO  : firefox : App has LSMinimumSystemVersion: 10.12.0
2022-02-09 09:44:33 : INFO  : firefox : Copy /Volumes/Firefox/Firefox.app to /Applications/Utilities
2022-02-09 09:44:40 : INFO  : firefox : Changing owner to st
2022-02-09 09:44:40 : INFO  : firefox : Finishing...
2022-02-09 09:44:50 : INFO  : firefox : targetDir for installation: /Applications/Utilities
2022-02-09 09:44:50 : INFO  : firefox : found app at /Applications/Utilities/Firefox.app, version 97.0, on versionKey CFBundleShortVersionString
2022-02-09 09:44:50 : INFO  : firefox : Installed Firefox, version 97.0
2022-02-09 09:44:50 : INFO  : firefox : notifying
2022-02-09 09:44:50 : REQ   : firefox : ################## End Installomator, exit code 0
```
2022-02-09 09:46:24 +01:00
Søren Theilgaard
dd83f6bd75 Update functions.sh 2022-02-09 09:41:03 +01:00
Søren Theilgaard
c55cc788bb Update functions.sh 2022-02-09 09:21:46 +01:00
bull
df616d2f51 Create clipy.sh
Support Clipy
https://github.com/Clipy/Clipy
2022-02-09 14:07:32 +09:00
Søren Theilgaard
557d63a4f3 If we exit a 0 we should still get the exit message 2022-02-08 13:48:33 +01:00
Søren Theilgaard
0432eb62d3 Improved logging levels
Also fixes #340
2022-02-08 12:36:16 +01:00
Armin Briegel
071586e43c updated version 2022-02-08 11:13:49 +01:00
Armin Briegel
aea7d282fe updated contributing.md 2022-02-08 11:13:03 +01:00
Armin Briegel
cd6b1397c8 updated version 2022-02-08 10:50:55 +01:00
Will Polley
e7f4f86b58 Added label propresenter7
To retrieve a response from the update feed, certain variables were required. Changing those variables did not seem to change the output of the update service.

installormator.sh propresenter7 DEBUG=0
2022-01-23 11:47:26 propresenter7 setting variable from argument DEBUG=0
2022-01-23 11:47:26 propresenter7 ################## Start Installomator v. 9.0dev
2022-01-23 11:47:26 propresenter7 ################## propresenter7
2022-01-23 11:47:26 propresenter7 BLOCKING_PROCESS_ACTION=tell_user
2022-01-23 11:47:26 propresenter7 NOTIFY=success
2022-01-23 11:47:26 propresenter7 LOGO=/System/Applications/App Store.app/Contents/Resources/AppIcon.icns
2022-01-23 11:47:26 propresenter7 Changing directory to /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.K74BOKe5
2022-01-23 11:47:26 propresenter7 App(s) found:
2022-01-23 11:47:26 propresenter7 could not find ProPresenter.app
2022-01-23 11:47:26 propresenter7 appversion:
2022-01-23 11:47:26 propresenter7 Latest version of ProPresenter 7 is 7.8
2022-01-23 11:47:26 propresenter7 Downloading https://renewedvision.com/downloads/propresenter/mac/ProPresenter_7.8_117964825.zip to ProPresenter 7.zip
2022-01-23 11:47:28 propresenter7 no more blocking processes, continue with update
2022-01-23 11:47:28 propresenter7 Installing ProPresenter 7
2022-01-23 11:47:28 propresenter7 Unzipping ProPresenter 7.zip
2022-01-23 11:47:29 propresenter7 Verifying: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.K74BOKe5/ProPresenter.app
2022-01-23 11:47:31 propresenter7 Team ID matching: 97GAAZ6CPX (expected: 97GAAZ6CPX )
2022-01-23 11:47:31 propresenter7 Downloaded version of ProPresenter 7 is 7.8 (replacing version ).
2022-01-23 11:47:31 propresenter7 Copy /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.K74BOKe5/ProPresenter.app to /Applications
2022-01-23 11:47:33 propresenter7 Changing owner to will.polley
2022-01-23 11:47:33 propresenter7 Finishing...
2022-01-23 11:47:43 propresenter7 App(s) found: /Applications/ProPresenter.app
2022-01-23 11:47:43 propresenter7 found app at /Applications/ProPresenter.app, version 7.8
2022-01-23 11:47:43 propresenter7 Installed ProPresenter 7, version 7.8
2022-01-23 11:47:43 propresenter7 notifying
2022-01-23 11:47:43 propresenter7 Deleting /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/tmp.K74BOKe5
2022-01-23 11:47:44 propresenter7 App not closed, so no reopen.
2022-01-23 11:47:44 propresenter7 ################## End Installomator, exit code 0
2022-01-23 12:02:38 -05:00
259 changed files with 9502 additions and 1155 deletions

View File

@@ -1,4 +1,290 @@
## v9?
## v10
- updates to MDM sample scripts (#738)
- updates to Swift Dialog integration (#717)
- documentation updates (#711)
And everything from the betas ([beta1](https://github.com/Installomator/Installomator/releases/tag/v10beta1), [beta2](https://github.com/Installomator/Installomator/releases/tag/v10beta2), [beta3](https://github.com/Installomator/Installomator/releases/tag/v10beta3))
- new labels:
- ibmnotifier (#716)
- ipvisionconnect (#749)
- logitechoptionsplus (#719)
- lucidlink (#722)
- mactex (#685)
- onscreencontrol (#581)
- projectplace (#688)
- subethaedit (#728)
- sublimemerge (#729)
- venturablocker (#712)
- vysor (#710)
- updated labels:
- googleadseditor (#739)
- openvpnconnectv3 (#750)
- tunnelblick (#618)
## v10beta3
- option to add item to dock if dockutil is installed (#701 requires dockutil https://github.com/kcrawford/dockutil )
- further improvements to GitHub downloads (#691)
- updated user dialog when app is already on the latest version (#658)
Plus everything from beta1 and beta2.
- new labels:
- adobeacrobatprodc (#707)
- adobereaderdc-install (#707)
- archiwareb2go (#625, #707)
- archiwarepst (#624)
- bitrix24 (#661)
- charles (#670)
- chronoagent (#617)
- chronosync (#616)
- cytoscape (#689)
- egnytecore (#655)
- fellow (#599)
- filemakerpro (#609)
- fujifilmwebcam (#598)
- gfxcardstatus (#690)
- horos (#610)
- inetclearreportsdesigner (#601)
- jdk18 (#608)
- latexit (#684)
- nudgesuite (#633)
- origin (#662)
- parallelsrasclient (#607)
- polylens (#671)
- splashtopbusiness (#660)
- tailscale (#620)
- zoomoutlookplugin (#656)
- zotero (#634)
- zulujdk18 (#612)
- updated labels:
- acroniscyberprotectconnectagent (#678)
- adobecreativeclouddesktop (#687)
- adobereaderdc-update (#707)
- audacity (#708)
- duckduckgo (#704)
- libreoffice (#605)
- nudge
- obs (#692)
- r (#702)
- rstudio (#702)
- screamingfrogseospider (#665)
- vlc (#705, #606)
- xcreds
## v10beta2
- fixed problem with GitHub labels (#659)
- bz2 archive support (#659)
- fixed WorkspaceOne support (#653)
- updated how `aapNewVersion` is determined (#680)
Plus everything from v10beta1
- new labels:
- abetterfinderrename11 (#552)
- carboncopycloner (#553)
- cocoapods (#659)
- coconutbattery (#588)
- cricutdesignspace (#562)
- dynalist (#591)
- fellow (#591)
- flexoptixapp (#554)
- googleadseditor (#652, #541)
- kap (#568)
- keepingyouawake (#549)
- lcadvancedvpnclient (#584)
- masv (#569)
- merlinproject (#555)
- mongodbcompass (#654)
- netspot (#556)
- relatel (#619)
- sonicvisualiser (#575)
- strongdm (#559)
- synologyassistant (#557)
- synologydriveclient (#582)
- tencentmeeting (#570)
- typinator (#583)
- xcreds (#675)
- updated labels:
- acroniscyberprotectconnect/remotix (#664)
- acroniscyberprotectconnectagent/remotixagent (#664)
- awsvpnclient (#586)
- boxtools (#589)
- clevershare2 (#664)
- coderunner (#664)
- colourcontrastanalyser (#664)
- cryptomator (#664)
- dangerzone (#664)
- drawio (#664)
- golang (#664)
- icons (#664)
- insomnia (#664)
- knockknock (#664)
- libreoffice (#672)
- macports
- opera (#664)
- supportapp (#664)
- vmwarehorizonclient (#645, #511)
- deleted/deactivated labels:
- microsoftyammer (#664)
- wickrme (#664)
- wickrpro (#664)
## v10beta1
- [swiftDialog](https://github.com/bartreardon/swiftDialog) integration (#641, #632), many thanks to @bartreardon, [sample scripts](in the MDM folder)
- added WorkspaceOne option for LOGO (#517)
- added function for JSON parsing with JXA (#529)
- updated assemble.sh script to update Labels.txt when script is rebuilt (#540)
- added a no requisite install script (#493)
- GitHub lookup now don't use API calls, this should avoid or at least reduce rate limiting (#543)
- fixed redundant exit codes (#643, #561)
NOTE: some exit codes have changed! see [Installomator Exit Codes](https://github.com/Installomator/Installomator/wiki/Installomator-Exit-Codes) for a list
- new labels:
- bluejeanswithaudiodriver (#473)
- duodevicehealth (#548)
- googlechromeenterprise (#532)
- ipswupdater (#545)
- mmhmm (#571)
- nordlayer (#419)
- prune (#538)
- whatroute (#560)
- updated labels:
- blender (#535, #622)
- camtasia2019 (#547)
- clickshare (#565)
- egnyte (#500)
- googledrive (#563)
- grammarly (#576)
- marathon, marathon2, marathoninfinity (#544)
- miro (#475, #539)
- notion (#566)
- ringcentralapp (#550)
- sublimetext (#593, #578, #567, #623, #626)
- talkdeskcallbar (#536)
- talkdeskcxcloud (#537)
- wireshark (#585)
## v9.2
**Note**: Both Google and Mozilla recommend using the pkg installers instead of the dmg downloads for managed deployments. So far, Installomator has provided labels for both. (`googlechrome` and `googlechromepkg` or `firefox` and `firefoxpkg`, respectively) Since there are problems with the dmg downloads, a future release of Installomator will _disable_ the `firefox` and `googlechrome` dmg labels. You should switch to using `googlechromepkg` and `firefoxpkg` labels instead.
- bug fix (#434)
- documentation updates (#485, #494)
- new labels:
- 1password8 (#514)
- ultimakercura
- androidstudio (#547)
- atextlegacy (#464)
- camtasia2019, camtasia2020 (#499)
- clue, cluefull (#481)
- craftmanagerforsketch
- displaylinkmanager (#448)
- drawio (#480)
- duckduckgo
- egnytewebedit (#512)
- filezilla (#522)
- firefoxpkg_intl
- flycut (#501)
- fontexplorer (#523)
- hype (#524)
- idrive (#507), idrivethin (#509)
- imageoptim (#525)
- linear (#519)
- macoslaps (#502)
- mightymike
- mindmanager (#479)
- pika (#526)
- propresenter7 (#394)
- qgis-pr
- shottr (#516)
- slab (#487)
- snagit2019, snagit2020, snagit2021 (#498)
- sonobus (#490)
- talkdeskcxcloud (#452)
- thunderbird_intl (#497)
- unnaturalscrollwheels (#503)
- wechat (#510)
- xeroxworkcentre7800 (#527)
- zohoworkdrivegenie
- updated labels
- adobereaderdc-update, adobereaderdc (#503)
- amazoncorretto8jdk (#461)
- camtasia (#499)
- citrixworkspace (#508)
- dbeaverce (#450)
- dropbox
- firefox, firefox_da, firefox_intl (#495), firefoxesr_intl (#496), firefoxpkg
- googlechrome, googlechromepkg (#484)
- gpgsuite (#465)
- grammarly (#515)
- logitechoptions (#478)
- onlyofficedesktop (#454)
- postman (#458)
- rancherdesktop (#463)
- remotedesktopmanagerenterprise
- remotedesktopmanagerfree
- ringcentralapp (#492)
- sketch
- snagit (#498)
- talkdeskcallbar (#453)
## v9.1
- added option for Microsoft Endpoint Manager (Intune) to `LOGO` (#446)
- minor fixes (#427, #434, #436)
- the `googlechrome` label now always downloads the universal version (#430)
- new labels:
- 1passwordcli (#429)
- amazoncorretto8jdk (#423)
- autodeskfusion360admininstall (#447)
- axurerp10 (#439)
- calcservice (#426)
- clipy (#412)
- dockutil (#432)
- easyfind (#426)
- grammarly (#444)
- houdahspot (#426)
- macadminspython (#431)
- microsoftazuredatastudio (#438)
- nanosaur (#426)
- tembo (#426)
- wordservice (#426)
- xmenu (#426)
- updated labels:
- appcleaner (#428)
- dialog (#435, #437)
- googlechrome (#430)
- microsoftdefender (#440)
- supportapp (#426)
- zoom and zoomgov (#426, #433)
## v9.0.1
- improved logging levels throughout the script #408
- fixed a bug for `pkgindmg` style labels #408
- changed the criteria used to locate an app in the case the it cannot be found in the default locations, this should help with some apps with similar name (Virtual Box and Box Drive, #401) #413
- new label: WhiteBox Packages (`packages`) #415
- modified label: `loom` (added Apple silicon download) #417
## 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).
- Added option to not interrupt Do Not Disturb full screen apps like Keynote or Zoom with `INTERRUPT_DND="no"`. Default is `"yes"` which is how it has worked until now.
@@ -7,7 +293,7 @@
- New variable `RETURN_LABEL_NAME`. If given the value `1`, like `RETURN_LABEL_NAME=1` then Installomator only returns the name of the label. It makes for a better user friendly message for displaying in DEPNotify if that is integrated.
- 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 option `curlOptions` to the labels. It can be filled with extra headers need for downloading the specific software. It needs to be an array, like `curlOptions=( )`. See “mocha”-software-labels.
- Added option `curlOptions` to the labels. It can be filled with extra headers need for downloading the specific software. It needs to be an array, like `curlOptions=( )`. See “mocha”-software-labels.
Big changes to logging:
- Introducing variable `LOGGING`, that can be either of the logging levels

View File

@@ -1,18 +1,35 @@
# Contributing to Installomator
__Please note, that if you are contributing to this project with new labels or other suggestions in PRs, please put your changes in the files below `fragments`-folder. DO NOT edit the full `Installomator.sh` script. The full script is now a build of the fragments, and will be overwritten.__
__Please note, that if you are contributing to this project with new labels or other suggestions in PRs, please put your changes in the files in the `fragments` sub-folder. DO NOT edit the full `Installomator.sh` script. The full script is generated from the fragments, and will be overwritten. More details on [how the script is assembled from the fragments here](https://github.com/Installomator/Installomator/tree/main/utils#how-to-assemble-installomatorsh).__
We try to keep the script as short as possible, and with more than 300 labels, we can save 300 lines in the script, if we do not have credit lines on each of these. So we are thankful for your contribution, but we will be removing these lines in the coming releases.
We try to keep the script as short as possible, and with more than 400 labels, we can save 400 lines in the script, if we do not have credit lines on each of these. So we are thankful for your contribution, but we will be removing these lines in the coming releases.
## Branches
The branch list is as follows:
- `release`: this branch will have the latest released version
- `main`: (default) this branch will be the current build we are working on. It includes new and updated app labels, and critical bug fixes
- `dev`: this will contain new and updated app labels, as well as other code changes that have the risk of significantly changing or breaking behavior
there will be other branches for new features and testing.
This should allow the contributing team to release minor updates for new and updated app labels while also work on new features for the next major release.
With all the new branches, your local repo may get confused. If you dont have local changes, it is easiest to delete your local repo and re-clone it. If you have local changes you want to preserve, then you should commit those to a local branch, pull the latest changes `git pull --all`, then delete the old master branch: `git branch -d master`.
Please make sure you branch off of main for your PRs.
__Thank you for contributing!__
## Labels
If you need a new label for a piece of software, please take a look at the tutorials in the Wiki, if those can be helpful for starting out on the creation of the label.
If you need a new label for a piece of software, please take a look [at the tutorials in the Wiki](https://github.com/Installomator/Installomator/wiki#tutorials), those can be helpful for starting out on the creation of the label.
We expect you to try out finding the __version__ of the software online, so that `appNewVersion` can be filled in the label. It helps a lot when the software needs update, and greatly improve user experience.
Please document what you found out about the __version__ of the software if it's not included. We will not accept a new label if this is not documented, we will ask about this if it was not included. This is very important for the quality and reliability of Installomator.
When creating a new label, please file a pull request (PR). And feel free to ask questions or make your comments about what else is needed, if we should take a look at the label, or help out in finding the version or isolating URLs or anything else.
When creating a new label, please file a pull request (PR). And feel free to ask questions or make your comments about what else is needed, if we should take a look at the label, or help out in finding the version or isolating URLs or anything else. You can find [a tutorial on how to create a PR here](https://github.com/Installomator/Installomator/wiki/GitHub-howto-create-PRs).
Please include the log of installing this label in the description, like this:
```
@@ -24,11 +41,13 @@ Please include the log of installing this label in the description, like this:
Please have one label per PR, so we can separate these. Also if you change/fix a label.
Thank you very much for your contribution!
__Thank you very much for your contribution!__
## Issues
Do not create an issue just when you have a questions, but do file an issue or pull request (PR) for bugs or wrong behavior. Include the full log and include the version of Installomator you're running.
Do not create an issue just when you have a questions, but do file an issue or pull request (PR) for bugs or wrong behavior. Include the full log and include the version of Installomator you're running. When you create a PR to follow-up and solve an issue make sure to [mention the issue using the `#xxx` syntax in a commit message or comment to link the issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
Join [the MacAdmins Slack](https://macadmins.org) and find us in the `#installomator` channel for questions, support and discussions.
When in doubt, use the MacAdmins.org Slack as described in [README.md](https://github.com/Installomator/Installomator/)

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,19 @@
1password7
1password8
1passwordcli
4kvideodownloader
8x8
abetterfinderrename11
abstract
acroniscyberprotectconnect
acroniscyberprotectconnectagent
adobeacrobatprodc
adobebrackets
adobeconnect
adobecreativeclouddesktop
adobereaderdc
adobereaderdc-install
adobereaderdc-install
adobereaderdc-update
aircall
airserver
@@ -16,8 +23,10 @@ alephone
alfred
alttab
amazonchime
amazoncorretto8jdk
amazonworkspaces
androidfiletransfer
androidstudio
anydesk
apparency
appcleaner
@@ -28,26 +37,34 @@ applesfmono
applesfpro
applesfsymbols
aquaskk
archiwareb2go
archiwarepst
arq7
asana
atext
atextlegacy
atom
audacity
authydesktop
autodeskfusion360admininstall
autodmg
autopkgr
aviatrix
awscli2
awsvpnclient
axurerp10
azuredatastudio
balenaetcher
balsamiqwireframes
bartender
basecamp3
bbedit
bettertouchtool
bitrix24
bitwarden
blender
bluejeans
bluejeanswithaudiodriver
boxdrive
boxsync
boxtools
@@ -55,24 +72,40 @@ brave
bugdom
caffeine
cakebrew
calcservice
calibre
camostudio
camtasia
camtasia2019
camtasia2020
camtasia2021
canva
carboncopycloner
charles
chatwork
chronoagent
chronosync
cisdem-documentreader
citrixworkspace
clevershare2
clickshare
clipy
closeio
cloudya
clue
cluefull
cocoapods
coconutbattery
code42
coderunner
colourcontrastanalyser
cormorant
craftmanager
craftmanagerforsketch
cricutdesignspace
cryptomator
cyberduck
cytoscape
daisydisk
dangerzone
darktable
@@ -87,11 +120,20 @@ dialog
dialpad
discord
diskspace
displaylinkmanager
docker
dockutil
drawio
drift
dropbox
duckduckgo
duodevicehealth
dynalist
easeusdatarecoverywizard
easyfind
egnyte
egnytecore
egnytewebedit
element
eraseinstall
eshareosx
@@ -102,8 +144,11 @@ exifrenamer
fantastical
fastscripts
favro
fellow
ferdi
figma
filemakerpro
filezilla
findanyfile
firefox
firefox_da
@@ -112,14 +157,22 @@ firefoxesr
firefoxesr_intl
firefoxesrpkg
firefoxpkg
firefoxpkg_intl
flexoptixapp
flowjo
flux
flycut
fontexplorer
front
fsmonitor
fujifilmwebcam
gfxcardstatus
gimp
githubdesktop
golang
googleadseditor
googlechrome
googlechromeenterprise
googlechromepkg
googledrive
googledrivebackupandsync
@@ -130,6 +183,7 @@ googlesoftwareupdate
gotomeeting
gpgsuite
gpgsync
grammarly
grandperspective
grasshopper
gyazo
@@ -137,18 +191,28 @@ gyazogif
hancock
handbrake
hazel
horos
houdahspot
hpeasyadmin
hpeasystart
hype
hyper
ibarcoder
ibmnotifier
icons
idrive
idrivethin
iina
imageoptim
imazingprofileeditor
inetclearreportsdesigner
inkscape
insomnia
installomator
installomator_theile
intellijideace
ipswupdater
ipvisionconnect
istatmenus
iterm2
itsycal
@@ -158,6 +222,7 @@ jamfconnectconfiguration
jamfmigrator
jamfpppcutility
jamfreenroller
jdk18
jetbrainsclion
jetbrainsdatagrip
jetbrainsintellijidea
@@ -168,8 +233,10 @@ jetbrainspycharmce
jetbrainsrubymine
jetbrainstoolbox
jetbrainswebstorm
kap
karabinerelements
keepassxc
keepingyouawake
keka
keybase
keyboardmaestro
@@ -178,27 +245,40 @@ knockknock
krisp
krita
lastpass
latexit
launchbar
lcadvancedvpnclient
lexarrecoverytool
libreoffice
linear
logioptions
logitechoptions
logitechoptionsplus
logseq
loom
lowprofile
lucidlink
lucifer
lulu
macadminspython
maccyapp
macfuse
macoslaps
macports
mactex
malwarebytes
marathon
marathon2
marathoninfinity
masv
mattermost
menumeters
merlinproject
microsoftautoupdate
microsoftazuredatastudio
microsoftazurestorageexplorer
microsoftcompanyportal
microsoftdefender
microsoftdefenderatp
microsoftedge
microsoftedgeconsumerstable
@@ -217,24 +297,31 @@ microsoftskypeforbusiness
microsoftteams
microsoftvisualstudiocode
microsoftword
microsoftyammer
mightymike
mindmanager
miro
mmhmm
mobikinassistantforandroid
mochakeyboard
mochatelnet
mochatn3270
mochatn3812
mochatn5250
mongodbcompass
montereyblocker
mowgliiitsycal
musescore
muzzle
nanosaur
netnewswire
netspot
nextcloud
nomad
nomadlogin
nordlayer
notion
nudge
nudgesuite
nvivo
obs
obsidian
@@ -249,37 +336,48 @@ omniplan4
omnipresence
onionshare
onlyofficedesktop
onscreencontrol
openvpnconnect
openvpnconnectv3
opera
origin
ottomatic
overflow
pacifist
packages
pandoc
parallelsrasclient
paretosecurity
parsec
pdfsam
perimeter81
pika
pitch
plantronicshub
platypus
plisteditpro
polylens
postman
prism9
pritunl
privileges
proctortrack
projectplace
promiseutility
promiseutilityr
propresenter7
protonvpn
proxyman
prune
pycharmce
pymol
qgis-pr
r
ramboxce
rancherdesktop
rectangle
redeye
relatel
remotedesktopmanagerenterprise
remotedesktopmanagerfree
remotix
@@ -306,6 +404,7 @@ secretive
sequelpro
sfsymbols
shield
shottr
sidekick
signal
silnite
@@ -314,44 +413,61 @@ sizeup
sketch
sketchupviewer
skype
slab
slack
smartgit
snagit
snagit2019
snagit2020
snagit2021
snagit2022
snapgeneviewer
sonicvisualiser
sonobus
sonos
sonoss1
sonoss2
sourcetree
splashtopbusiness
splashtopsos
spotify
sqlpropostgres
sqlprostudio
steelseriesengine
strongdm
strongsync
subethaedit
sublimemerge
sublimetext
superhuman
supportapp
suspiciouspackage
swiftdialog
swiftruntimeforcommandlinetools
sync
synologyassistant
synologydriveclient
tableaudesktop
tableaupublic
tableaureader
tageditor
tailscale
talkdeskcallbar
talkdeskcxcloud
taskpaper
teamviewer
teamviewerhost
teamviewerqs
techsmithcapture
telegram
tembo
tencentmeeting
textexpander
textmate
theunarchiver
things
thunderbird
thunderbird_intl
tidal
toggltrack
tom4aconverter
@@ -359,13 +475,17 @@ torbrowser
trex
tunnelbear
tunnelblick
typinator
typora
ultimakercura
umbrellaroamingclient
uniconverter
universaltypeclient
unnaturalscrollwheels
utm
vagrant
vanilla
venturablocker
veracrypt
vimac
virtualbox
@@ -375,31 +495,40 @@ vivaldi
vlc
vmwarehorizonclient
vscodium
vysor
wacomdrivers
wallyezflash
webex
webexmeetings
webexteams
wechat
whatroute
whatsapp
wickrme
wickrpro
wireshark
wordservice
wwdc
xcreds
xeroxphaser7800
xeroxworkcentre7800
xink
xmenu
xquartz
yed
yubikeymanagerqt
zappy
zeplin
zohoworkdrive
zohoworkdrivegenie
zohoworkdrivetruesync
zoom
zoomclient
zoomgov
zoomoutlookplugin
zoomrooms
zotero
zulujdk11
zulujdk13
zulujdk15
zulujdk17
zulujdk18
zulujdk8

View File

@@ -1,169 +0,0 @@
#!/bin/zsh
# Installation using Installomator
what="brave" # enter the software to install
# To be used as a script sent out from a MDM.
# Fill the variable "what" above with a label.
# Script will run this label.
###############################################
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
${destFile} ${what} LOGO=mosyleb BLOCKING_PROCESS_ACTION=tell_user #NOTIFY=all #INSTALL=force
if [ $? != 0 ]; then
# This is currently not working in Mosyle, that will ignore script errors. Please request support for this from Mosyle!
echo "Error installing ${what}. Exit code $?"
caffexit $?
fi
echo "[$(DATE)][LOG-END]"
caffexit 0
# notify behavior
# NOTIFY=success
# options:
# - success notify the user on success
# - silent no notifications
# - all all notifications (great for Self Service installation)
# behavior when blocking processes are found
# BLOCKING_PROCESS_ACTION=tell_user
# options:
# - ignore continue even when blocking processes are found
# - quit app will be told to quit nicely, if running
# - quit_kill told to quit twice, then it will be killed
# Could be great for service apps, if they do not respawn
# - silent_fail exit script without prompt or installation
# - prompt_user show a user dialog for each blocking process found
# abort after three attempts to quit
# (only if user accepts to quit the apps, otherwise
# the update is cancelled).
# - prompt_user_then_kill
# show a user dialog for each blocking process found,
# attempt to quit two times, kill the process finally
# - prompt_user_loop
# Like prompt-user, but clicking "Not Now", will just wait an hour,
# and then it will ask again.
# WARNING! It might block the MDM agent on the machine, as
# the scripts gets stuct in waiting until the hour has passed,
# possibly blocking for other management actions in this time.
# - tell_user User will be showed a notification about the important update,
# but user is only allowed to quit and continue, and then we
# ask the app to quit.
# - tell_user_then_kill
# Show dialog 2 times, and if the quitting fails, the
# blocking processes will be killed.
# - kill kill process without prompting or giving the user a chance to save
# logo-icon used in dialog boxes if app is blocking
# LOGO=appstore
# options:
# - appstore Icon is Apple App Store (default)
# - jamf JAMF Pro
# - mosyleb Mosyle Business
# - mosylem Mosyle Manager (Education)
# - 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 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.
# Shouldnt give any problems for the user in most cases.
# Known bad example: Slack will loose all settings.
# install behavior
# INSTALL=""
# options:
# - When not set, software will only be installed
# if it is newer/different in version
# - force Install even if its the same version
# Re-opening of closed app
# REOPEN="yes"
# options:
# - yes App wil be reopened if it was closed
# - no App not reopened
########################
# Often used labels:
########################
# firefox
# firefox_intl
# brave
# torbrowser
# googlechrome
# netnewswire
# adobereaderdc
# textmate
# cyberduck
# keka
# theunarchiver
# vlc
# handbrake
# inkscape
# signal
# telegram
# whatsapp
# hazel
# devonthink
# teamviewerqs
# zoom
# malwarebytes
# githubdesktop
# sublimetext
# textmate
# visualstudiocode
# microsoftskypeforbusiness
# microsoftteams
# microsoftyammer
# microsoftedgeenterprisestable
# microsoftedgeconsumerstable
# microsoftsharepointplugin
# microsoftdefenderatp
# googledrivefilestream
# cdef
# desktoppr
# supportapp
# xink
# wwdc

View File

@@ -0,0 +1,354 @@
#!/bin/sh
# Installation using Installomator with Dialog showing progress (and posibility of adding to the Dock)
# Installation of software using `valuesfromarguments` to install a custom software using Installomator through GitHub
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator?
# What version of Installomator is it expected to be included in?
# Version 10.0
item="gfxcardstatus" # enter the software to install (if it has a label in future version of Installomator)
# Label variables below
# GitHub functions
downloadURLFromGit() { # $1 git user name, $2 git repo name
gitusername=${1?:"no git user name"}
gitreponame=${2?:"no git repo name"}
if [[ $type == "pkgInDmg" ]]; then
filetype="dmg"
elif [[ $type == "pkgInZip" ]]; then
filetype="zip"
else
filetype=$type
fi
if [ -n "$archiveName" ]; then
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1 || true)
if [[ "$(echo $downloadURL | grep -ioE "https.*$archiveName" || true)" == "" ]]; then
#printlog "Trying GitHub API for download URL."
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }" || true)
fi
else
downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1 || true)
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype" || true)" == "" ]]; then
#printlog "Trying GitHub API for download URL."
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }" || true)
fi
fi
if [ -z "$downloadURL" ]; then
echo "could not retrieve download URL for $gitusername/$gitreponame"
exit 1
else
echo "$downloadURL"
return 0
fi
}
versionFromGit() {
# credit: Søren Theilgaard (@theilgaard)
# $1 git user name, $2 git repo name
gitusername=${1?:"no git user name"}
gitreponame=${2?:"no git repo name"}
#appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g' || true)
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g' || true)
if [ -z "$appNewVersion" ]; then
#echo "could not retrieve version number for $gitusername/$gitreponame"
appNewVersion=""
else
echo "$appNewVersion"
return 0
fi
}
# Variables for label
name="gfxCardStatus"
type="zip"
packageID=""
downloadURL="$(downloadURLFromGit codykrieger gfxCardStatus)"
appNewVersion="$(versionFromGit codykrieger gfxCardStatus)"
versionKey=""
expectedTeamID="LF22FTQC25"
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="1" # with dockutil after installation (0 if not)
appPath="/Applications/$name.app"
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : github-functions added. Improved appIcon handling. Can add the app to Dock using dockutil.
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
if [[ -z "$item" ]]; then
item="$name"
fi
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator with valuesfromarguments
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
name=\"${name}\" \
type=${type} \
packageID=${packageID} \
downloadURL=\"$downloadURL\" \
appNewVersion=${appNewVersion} \
versionKey=${versionKey} \
expectedTeamID=${expectedTeamID} \
${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,300 @@
#!/bin/sh
# Installation using Installomator with Dialog showing progress (and posibility of adding to the Dock)
# Installation of software using `valuesfromarguments` to install a custom software using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator?
# What version of Installomator is it expected to be included in?
# Version 10.0
item="clickshare" # enter the software to install (if it has a label in future version of Installomator)
# Variables for label
name="ClickShare" # If spaces in the name, fill out "${name}" in Installomator-call below, circa line 249. Spaces should be escaped in that line.
type="appInDmgInZip"
packageID=""
downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )"
appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&amp//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")"
expectedTeamID="P6CDJZR997"
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="1" # with dockutil after installation (0 if not)
appPath="/Applications/$name.app"
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill out the label variables above, and those will be included in the Installomator call, circa on line 248
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
if [[ -z "$item" ]]; then
item="$name"
fi
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [[ -z "$currentUser" ]] || [[ "$currentUser" = "loginwindow" ]] || [[ "$currentUser" = "_mbsetupuser" ]] || [[ "$currentUser" = "root" ]]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator with valuesfromarguments
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
name=\"${name}\" \
type=${type} \
packageID=${packageID} \
downloadURL=\"$downloadURL\" \
appNewVersion=${appNewVersion} \
versionKey=${versionKey} \
expectedTeamID=${expectedTeamID} \
${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,275 @@
#!/bin/sh
# Installation using Installomator with Dialog showing progress (and posibility of adding to the Dock)
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: brave, duckduckgo, firefoxpkg, googlechromepkg, microsoftedge, opera
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="1" # with dockutil after installation (0 if not)
appPath="/Applications/Firefox.app"
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,278 @@
#!/bin/sh
# Installation using Installomator with Dialog showing progress (and posibility of adding to the Dock)
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="microsoftoffice365" # enter the software to install
# Examples: microsoftofficebusinesspro, microsoftoffice365
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="1" # with dockutil after installation (0 if not)
appPaths=("/Applications/Microsoft Outlook.app" "/Applications/Microsoft Word.app" "/Applications/Microsoft Excel.app" "/Applications/Microsoft PowerPoint.app" "/Applications/Microsoft OneNote.app")
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
for appPath in "${appPaths[@]}"; do
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" --no-restart || true
done
$dockutil --add "/AppThatDoesNotExistAnywhereOnDiskButMakingDockutilRestartTheDock" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
iif [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,272 @@
#!/bin/sh
# Installation using Installomator with Dialog showing progress (and posibility of adding to the Dock)
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: adobecreativeclouddesktop, canva, cyberduck, handbrake, inkscape, textmate, vlc
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG, so beginning with either “/” or “http”.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="0" # with dockutil after installation (0 if not)
appPath="/Applications/Cyberduck.app"
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Improved appIcon handling. Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,275 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: applenyfonts, applesfarabic, applesfcompact, applesfmono, applesfpro, applesfsymbols, desktoppr, dialog, dockutil, knockknock, lulu, nomad, nudge, shield, supportapp, wordservice, xcreds, xink
# Dialog icon
icon=""
# icon should be a file system path or an URL to an online PNG.
# In Mosyle an URL can be found by copy picture address from a Custom Command icon.
# dockutil variables
addToDock="1" # with dockutil after installation (0 if not)
appPath="/Applications/Xink.app"
# Other variables
dialog_command_file="/var/tmp/dialog.log"
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dockutil="/usr/local/bin/dockutil"
installomatorOptions="BLOCKING_PROCESS_ACTION=ignore DIALOG_CMD_FILE=${dialog_command_file}" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 10.0.3 : A bit more logging on succes, and change in ending Dialog part.
# v. 10.0.2 : Improved icon checks and failovers
# v. 10.0.1 : Can add the app to Dock using dockutil
# v. 10.0 : Integration with Dialog and Installomator v. 10
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
checkCmdOutput () {
local checkOutput="$1"
exitStatus="$( echo "${checkOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${checkOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$checkOutput"
#errorOutput="$( echo "${checkOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
#echo "$checkOutput"
}
# Check the currently logged in user
currentUser=$(stat -f "%Su" /dev/console)
if [ -z "$currentUser" ] || [ "$currentUser" = "loginwindow" ] || [ "$currentUser" = "_mbsetupuser" ] || [ "$currentUser" = "root" ]; then
echo "ERROR. Logged in user is $currentUser! Cannot proceed."
exit 97
fi
# Get the current user's UID for dockutil
uid=$(id -u "$currentUser")
# Find the home folder of the user
userHome="$(dscl . -read /users/${currentUser} NFSHomeDirectory | awk '{print $2}')"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Installation begins
installomatorVersion="$(${destFile} version | cut -d "." -f1 || true)"
if [[ $installomatorVersion -lt 10 ]] || [[ $(sw_vers -buildVersion | cut -c1-2) -lt 20 ]]; then
echo "Skipping swiftDialog UI, using notifications."
#echo "Installomator should be at least version 10 to support swiftDialog. Installed version $installomatorVersion."
#echo "And macOS 11 Big Sur (build 20A) is required for swiftDialog. Installed build $(sw_vers -buildVersion)."
installomatorNotify="NOTIFY=all"
else
installomatorNotify="NOTIFY=silent"
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
# Install using Installlomator
cmdOutput="$(${destFile} dialog LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
# Configure and display swiftDialog
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
message="Installing ${itemName}"
else
message="Installing ${item}"
fi
echo "$item $itemName"
#Check icon (expecting beginning with “http” to be web-link and “/” to be disk file)
#echo "icon before check: $icon"
if [[ "$(echo ${icon} | grep -iE "^(http|ftp).*")" != "" ]]; then
#echo "icon looks to be web-link"
if ! curl -sfL --output /dev/null -r 0-0 "${icon}" ; then
echo "ERROR: Cannot download ${icon} link. Reset icon."
icon=""
fi
elif [[ "$(echo ${icon} | grep -iE "^\/.*")" != "" ]]; then
#echo "icon looks to be a file"
if [[ ! -a "${icon}" ]]; then
echo "ERROR: Cannot find icon file ${icon}. Reset icon."
icon=""
fi
else
echo "ERROR: Cannot figure out icon ${icon}. Reset icon."
icon=""
fi
#echo "icon after first check: $icon"
# If no icon defined we are trying to search for installed app icon
if [[ "$icon" == "" ]]; then
appPath=$(mdfind "kind:application AND name:$itemName" | head -1 || true)
appIcon=$(defaults read "${appPath}/Contents/Info.plist" CFBundleIconFile || true)
if [[ "$(echo "$appIcon" | grep -io ".icns")" == "" ]]; then
appIcon="${appIcon}.icns"
fi
icon="${appPath}/Contents/Resources/${appIcon}"
#echo "Icon before file check: ${icon}"
if [ ! -f "${icon}" ]; then
# Using LOGO variable to show logo in swiftDialog
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
icon="${LOGO_PATH}"
fi
fi
echo "LOGO: $LOGO"
echo "icon: ${icon}"
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1
fi
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} ${installomatorNotify} || true)"
checkCmdOutput "${cmdOutput}"
# Mark: dockutil stuff
if [[ $addToDock -eq 1 ]]; then
dialogUpdate "progresstext: Adding to Dock"
if [[ ! -d $dockutil ]]; then
echo "Cannot find dockutil at $dockutil, trying installation"
# Install using Installlomator
cmdOutput="$(${destFile} dockutil LOGO=$LOGO BLOCKING_PROCESS_ACTION=ignore LOGGING=REQ NOTIFY=silent || true)"
checkCmdOutput "${cmdOutput}"
fi
echo "Adding to Dock"
$dockutil --add "${appPath}" "${userHome}/Library/Preferences/com.apple.dock.plist" || true
sleep 1
else
echo "Not adding to Dock."
fi
# Mark: Ending
if [[ $installomatorVersion -ge 10 && $(sw_vers -buildVersion | cut -c1-2) -ge 20 ]]; then
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
#killall "Dialog" 2>/dev/null || true
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

103
MDM/App-install/App VFA.sh Executable file
View File

@@ -0,0 +1,103 @@
#!/bin/sh
# Installation using Installomator
# Installation of software using valuesfromarguments to install a custom software using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
# Have the label been submittet in a PR for Installomator?
# What version of Installomator is it expected to be included in?
# Version 10
item="" # enter the software to install (if it has a label in future version of Installomator)
# Variables for label
name="ClickShare" # Spaces in the name will not work
type="appInDmgInZip"
packageID=""
downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )"
appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&amp//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")"
versionKey=""
expectedTeamID="P6CDJZR997"
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user LOGGING=INFO NOTIFY=all" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "what" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $what"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator with valuesfromarguments
cmdOutput="$(${destFile} valuesfromarguments LOGO=$LOGO \
name=\"${name}\" \
type=${type} \
packageID=${packageID} \
downloadURL=\"$downloadURL\" \
appNewVersion=${appNewVersion} \
versionKey=${versionKey} \
expectedTeamID=${expectedTeamID} \
blockingProcesses=\"NONE\" \
${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${what} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${what}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,80 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="firefoxpkg" # enter the software to install
# Examples: brave, duckduckgo, firefoxpkg, googlechromepkg, microsoftedge, opera
installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,80 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: brave, duckduckgo, firefoxpkg, googlechromepkg, microsoftedge, opera
installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit NOTIFY=all" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "what" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $what"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${what} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${what} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${what}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,80 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: adobecreativeclouddesktop, textmate, vlc
installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,81 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: adobecreativeclouddesktop, canva, cyberduck, handbrake, inkscape, textmate, vlc
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user NOTIFY=all" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,80 @@
#!/bin/sh
# Installation using Installomator
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="dockutil" # enter the software to install
# Examples: applenyfonts, applesfarabic, applesfcompact, applesfmono, applesfpro, applesfsymbols, desktoppr, dialog, dockutil, knockknock, lulu, nomad, nudge, shield, supportapp, wordservice, xcreds, xink
installomatorOptions="BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -1,177 +0,0 @@
#!/bin/zsh
# Installation using Installomator
what="microsoftteams microsoftyammer firefox bravebrowser cyberduck vlc signal" # enter the software to install separated with spaces
# To be used as a script sent out from a MDM.
# Fill the variable "what" above with labels separated by space " ".
# Script will loop through these labels.
######################################################################
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Count errors
errorCount=0
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
for item in $what; do
#echo $item
${destFile} ${item} LOGO=mosyleb BLOCKING_PROCESS_ACTION=tell_user #NOTIFY=all #INSTALL=force
if [ $? != 0 ]; then
# This is currently not working in Mosyle, that will ignore script errors. Please request support for this from Mosyle!
echo "[$(DATE)] Error installing ${item}. Exit code $?"
let errorCount++
fi
done
echo
echo "Errors: $errorCount"
echo "[$(DATE)][LOG-END]"
caffexit $errorCount
# notify behavior
# NOTIFY=success
# options:
# - success notify the user on success
# - silent no notifications
# - all all notifications (great for Self Service installation)
# behavior when blocking processes are found
# BLOCKING_PROCESS_ACTION=tell_user
# options:
# - ignore continue even when blocking processes are found
# - quit app will be told to quit nicely, if running
# - quit_kill told to quit twice, then it will be killed
# Could be great for service apps, if they do not respawn
# - silent_fail exit script without prompt or installation
# - prompt_user show a user dialog for each blocking process found
# abort after three attempts to quit
# (only if user accepts to quit the apps, otherwise
# the update is cancelled).
# - prompt_user_then_kill
# show a user dialog for each blocking process found,
# attempt to quit two times, kill the process finally
# - prompt_user_loop
# Like prompt-user, but clicking "Not Now", will just wait an hour,
# and then it will ask again.
# WARNING! It might block the MDM agent on the machine, as
# the scripts gets stuct in waiting until the hour has passed,
# possibly blocking for other management actions in this time.
# - tell_user User will be showed a notification about the important update,
# but user is only allowed to quit and continue, and then we
# ask the app to quit.
# - tell_user_then_kill
# Show dialog 2 times, and if the quitting fails, the
# blocking processes will be killed.
# - kill kill process without prompting or giving the user a chance to save
# logo-icon used in dialog boxes if app is blocking
# LOGO=appstore
# options:
# - appstore Icon is Apple App Store (default)
# - jamf JAMF Pro
# - mosyleb Mosyle Business
# - mosylem Mosyle Manager (Education)
# - 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 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.
# Shouldnt give any problems for the user in most cases.
# Known bad example: Slack will loose all settings.
# install behavior
# INSTALL=""
# options:
# - When not set, software will only be installed
# if it is newer/different in version
# - force Install even if its the same version
# Re-opening of closed app
# REOPEN="yes"
# options:
# - yes App wil be reopened if it was closed
# - no App not reopened
########################
# Often used labels:
########################
# firefox
# firefox_intl
# brave
# torbrowser
# googlechrome
# netnewswire
# adobereaderdc
# textmate
# cyberduck
# keka
# theunarchiver
# vlc
# handbrake
# inkscape
# signal
# telegram
# whatsapp
# hazel
# devonthink
# teamviewerqs
# zoom
# malwarebytes
# githubdesktop
# sublimetext
# textmate
# visualstudiocode
# microsoftskypeforbusiness
# microsoftteams
# microsoftyammer
# microsoftedgeenterprisestable
# microsoftedgeconsumerstable
# microsoftsharepointplugin
# microsoftdefenderatp
# googledrivefilestream
# cdef
# desktoppr
# supportapp
# xink
# wwdc

View File

@@ -0,0 +1,93 @@
#!/bin/sh
# Update with Installomator if app exist
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="microsoftedge" # enter the software to install
# Examples: brave, duckduckgo, firefoxpkg, googlechromepkg, microsoftedge, opera
appPath="/Applications/Microsoft Edge.app"
# Examples: Microsoft Edge.app, Brave Browser.app, DuckDuckGo.app, Google Chrome.app, Firefox.app, Opera.app
installomatorOptions="BLOCKING_PROCESS_ACTION=tell_user_then_quit" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Check if app is installed
# We only want this to run if it's already installed
if [ ! -e "${appPath}" ]; then
echo "App not found here:"
echo "${appPath}"
echo "Exiting."
exit 98
fi
echo "${appPath} Found!"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,93 @@
#!/bin/sh
# Update with Installomator if app exist
LOGO="" # "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
item="" # enter the software to install
# Examples: cyberduck, handbrake, textmate, vlc
appPath="/Applications/Cyberduck.app"
# Examples: Cyberduck.app, Handbrake.app, Textmate.app, VLC.app
installomatorOptions="BLOCKING_PROCESS_ACTION=prompt_user" # Separated by space
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
# To be used as a script sent out from a MDM.
# Fill the variable "item" above with a label.
# Script will run this label through Installomator.
######################################################################
# v. 9.2.2 : A bit more logging on succes.
# v. 9.2.1 : Better logging handling and installomatorOptions fix.
######################################################################
# Mark: Script
# PATH declaration
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
echo "$(date +%F\ %T) [LOG-BEGIN] $item"
# Check if app is installed
# We only want this to run if it's already installed
if [ ! -e "${appPath}" ]; then
echo "App not found here:"
echo "${appPath}"
echo "Exiting."
exit 98
fi
echo "${appPath} Found!"
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
exit 99
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Install software using Installomator
cmdOutput="$(${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true)"
# Check result
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
echo "${item} succesfully installed."
selectedOutput="$( echo "${cmdOutput}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)" || true )"
echo "$selectedOutput"
else
echo "ERROR installing ${item}. Exit code ${exitStatus}"
echo "$cmdOutput"
#errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
#echo "$errorOutput"
fi
echo "[$(DATE)][LOG-END]"
caffexit $exitStatus

View File

@@ -0,0 +1,19 @@
#!/bin/sh
# A small script to grab Installomator log from a client Mac.
# Can be sent to the client so the result can be seen in MDM
# Only uncomment the line below for the things you want to see.
logFile="/var/log/Installomator.log"
# Show latest 100 lines of the log
tail -100 "${logFile}"
# Show latest 500 lines but filter to REQ|ERROR|WARN lines
# Great overview of the log
#tail -500 "${logFile}" | grep --binary-files=text -E ": (REQ|ERROR|WARN)"
# Show only one label
# Great to see everything for a label that might fail or not working as expected
label="valuesfromarguments"
#cat "${logFile}" | grep --binary-files=text ": ${label}"

View File

@@ -0,0 +1,361 @@
#!/bin/sh
# Installomator 1st installation with DEPNotify window (auto installation at enrollment)
instance="" # Name of used instance
LOGO="" # "appstore", "jamf", "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
items=(dialog dockutil microsoftautoupdate supportapp applenyfonts applesfpro applesfmono applesfcompact xink zohoworkdrivetruesync textmate 1password7 wwdc theunarchiver keka microsoftedge microsoftteams microsoftonedrive microsoftoffice365)
# Remember: dialog dockutil
installomatorOptions="NOTIFY=silent BLOCKING_PROCESS_ACTION=ignore INSTALL=force IGNORE_APP_STORE_APPS=yes LOGGING=REQ"
# DEPNotify display settings, change as desired
title="Installing Apps and other software"
message="Please wait while we download and install the needed software."
endMessage="Installation complete! Please reboot to activate FileVault."
errorMessage="A problem was encountered setting up this Mac. Please contact IT."
######################################################################
# Installomator 1st DEPNotify
#
# Installation using Installomator showing progress with DEPNotify
# Great stand-alone solution if installs are only done using Installomator.
# No customization below…
######################################################################
# This script can be used to install software using Installomator.
# Script will start DEPNotify to display a progress bar.
# Progress bar moves between installations
######################################################################
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
# v. 9.2.2 : 2022-06-17 : installomatorOptions introduced. Check 1.1.1.1 for internet connection.
# v. 9.2.1 : 2022-05-30 : Some changes to logging
# v. 9.2 : 2022-05-19 : Built in installer for Installlomator, and display dialog if error happens. Now universal script for all supported MDMs based on LOGO variable.
# v. 9.1 : 2022-04-13 : Using INSTALL=force in Label only, so Microsoft labels will not start updating
# v. 9.0.1 : 2022-02-21 : LOGO=addigy, few more "true" lines, and errorOutput on error
# v. 9.0.0 : 2022-02-14 : Updated for Inst. 9.0, Logging improved with printlog
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Check before running
case $LOGO in
addigy|microsoft)
conditionFile="/var/db/.Installomator1stDone"
# Addigy and Microsoft Endpoint Manager (Intune) need a check for a touched file
if [ -e "$conditionFile" ]; then
echo "$LOGO setup detected"
echo "$conditionFile exists, so we exit."
exit 0
else
echo "$conditionFile not found, so we continue…"
fi
;;
esac
# Mark: Constants, logging and caffeinate
log_message="$instance: Installomator 1st with DEPNotify, v$scriptVersion"
label="1st-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
exit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
# Command-file to DEPNotify
DEPNOTIFY_LOG="/var/tmp/depnotify.log"
# Counters
errorCount=0
countLabels=${#items[@]}
printlog "Total installations: $countLabels"
# Using LOGO variable to specify MDM and shown logo
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
printlog "LOGO: $LOGO - LOGO_PATH: $LOGO_PATH"
# Mark: Functions
printlog "depnotify_command function"
echo "" > $DEPNOTIFY_LOG || true
function depnotify_command(){
printlog "DEPNotify-command: $1"
echo "$1" >> $DEPNOTIFY_LOG || true
}
printlog "startDEPNotify function"
function startDEPNotify() {
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
launchctl asuser $currentUserID open -a "/Applications/Utilities/DEPNotify.app/Contents/MacOS/DEPNotify" --args -path "$DEPNOTIFY_LOG" || true # --args -fullScreen
sleep 5
depnotify_command "Command: KillCommandFile:"
depnotify_command "Command: MainTitle: $title"
depnotify_command "Command: Image: $LOGO_PATH"
depnotify_command "Command: MainText: $message"
depnotify_command "Command: Determinate: $countLabels"
}
# Notify the user using AppleScript
printlog "displayDialog function"
function displayDialog(){
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
if [[ "$currentUser" != "" ]]; then
launchctl asuser $currentUserID sudo -u $currentUser osascript -e "button returned of (display dialog \"$message\" buttons {\"OK\"} default button \"OK\" with icon POSIX file \"$LOGO_PATH\")" || true
fi
}
# Mark: Code
name="Installomator"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg
gitusername="Installomator"
gitreponame="Installomator"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="JME5BW3F3R"
destFile="/usr/local/Installomator/Installomator.sh"
currentInstalledVersion="$(${destFile} version 2>/dev/null || true)"
printlog "${destFile} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion} ..."
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
# Installing DEPNotify
cmdOutput="$( ${destFile} depnotify LOGO=$LOGO NOTIFY=silent BLOCKING_PROCESS_ACTION=ignore LOGGING=WARN || true )"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
printlog "DEPNotify install result: $exitStatus"
itemName=""
errorLabels=""
((countLabels++))
((countLabels--))
printlog "$countLabels labels to install"
startDEPNotify
for item in "${items[@]}"; do
# Check if DEPNotify is running and try open it if not
if ! pgrep -xq "DEPNotify"; then
startDEPNotify
fi
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
depnotify_command "Status: $itemName installing…"
else
depnotify_command "Status: $item installing…"
fi
printlog "$item $itemName"
cmdOutput="$( ${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true )"
#cmdOutput="2022-05-19 13:20:45 : REQ : installomator : ################## End Installomator, exit code 0"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
printlog "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text "WARN" || true )"
printlog "$warnOutput"
else
printlog "Error installing ${item}. Exit code ${exitStatus}"
#printlog "$cmdOutput"
errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
printlog "$errorOutput"
((errorCount++))
errorLabels="$errorLabels ${item}"
fi
((countLabels--))
itemName=""
done
# Mark: Finishing
# Prevent re-run of script if conditionFile is set
if [[ ! -z "$conditionFile" ]]; then
printlog "Touching condition file so script will not run again"
touch "$conditionFile" || true
printlog "$(ls -al "$conditionFile" || true)"
fi
# Show error to user if any
printlog "Errors: $errorCount"
if [[ $errorCount -ne 0 ]]; then
errorMessage="${errorMessage} Total errors: $errorCount"
message="$errorMessage"
displayDialog &
endMessage="$message"
printlog "errorLabels: $errorLabels"
fi
depnotify_command "Command: MainText: $endMessage"
depnotify_command "Command: Quit: $endMessage"
sleep 1
printlog "Remove $(rm -fv $DEPNOTIFY_LOG || true)"
printlog "Ending"
caffexit $errorCount

View File

@@ -0,0 +1,309 @@
#!/bin/sh
# Installomator 1st installation (auto installation at enrollment)
instance="" # Name of used instance
LOGO="" # "appstore", "jamf", "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
items=(dialog dockutil microsoftautoupdate supportapp xink zohoworkdrivetruesync textmate applenyfonts applesfpro applesfmono applesfcompact 1password7 wwdc theunarchiver keka microsoftedge microsoftteams microsoftonedrive microsoftoffice365)
# Remember: dialog dockutil
installomatorOptions="NOTIFY=silent BLOCKING_PROCESS_ACTION=ignore INSTALL=force IGNORE_APP_STORE_APPS=yes LOGGING=REQ"
# Error message to user if any occur
showError="1" # Show error message if 1 (0 if it should not be shown)
errorMessage="A problem was encountered setting up this Mac. Please contact IT."
######################################################################
# Installomator 1st
#
# Installation using Installomator
# (use separate Progress 1st script to show progress)
# No customization below…
######################################################################
# This script can be used to install software using Installomator.
# Script will display a dialog if any errors happens.
# User is not notified about installations.
######################################################################
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
# v. 9.2.2 : 2022-06-17 : installomatorOptions introduced. Check 1.1.1.1 for internet connection.
# v. 9.2.1 : 2022-05-30 : Some changes to logging
# v. 9.2 : 2022-05-19 : Built in installer for Installomator, and display dialog if error happens. Now universal script for all supported MDMs based on LOGO variable.
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Check before running
case $LOGO in
addigy|microsoft)
conditionFile="/var/db/.Installomator1stDone"
# Addigy and Microsoft Endpoint Manager (Intune) need a check for a touched file
if [ -e "$conditionFile" ]; then
echo "$LOGO setup detected"
echo "$conditionFile exists, so we exit."
exit 0
else
echo "$conditionFile not found, so we continue…"
fi
;;
esac
# Mark: Constants, logging and caffeinate
log_message="$instance: Installomator 1st, v$scriptVersion"
label="1st-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
caffexit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
# Counters
errorCount=0
countLabels=${#items[@]}
printlog "Total installations: $countLabels"
# Using LOGO variable to specify MDM and shown logo
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
printlog "LOGO: $LOGO LOGO_PATH: $LOGO_PATH"
# Mark: Functions
# Notify the user using AppleScript
function displayDialog(){
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
if [[ "$currentUser" != "" ]]; then
launchctl asuser $currentUserID sudo -u $currentUser osascript -e "button returned of (display dialog \"$message\" buttons {\"OK\"} default button \"OK\" with icon POSIX file \"$LOGO_PATH\")" || true
fi
}
# Mark: Code
name="Installomator"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg
gitusername="Installomator"
gitreponame="Installomator"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="JME5BW3F3R"
destFile="/usr/local/Installomator/Installomator.sh"
currentInstalledVersion="$(${destFile} version 2>/dev/null || true)"
printlog "${destFile} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion} ..."
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
errorLabels=""
((countLabels++))
((countLabels--))
printlog "$countLabels labels to install"
for item in "${items[@]}"; do
printlog "$item"
cmdOutput="$( ${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true )"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
printlog "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text "WARN" || true )"
printlog "$warnOutput"
else
printlog "Error installing ${item}. Exit code ${exitStatus}"
#printlog "$cmdOutput"
errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
printlog "$errorOutput"
((errorCount++))
errorLabels="$errorLabels ${item}"
fi
((countLabels--))
itemName=""
done
# Mark: Finishing
# Prevent re-run of script if conditionFile is set
if [[ ! -z "$conditionFile" ]]; then
printlog "Touching condition file so script will not run again"
touch "$conditionFile" || true
printlog "$(ls -al "$conditionFile" || true)"
fi
# Show error to user if any
printlog "Errors: $errorCount"
if [[ $errorCount -ne 0 ]]; then
printlog "ERROR: Display error dialog to user!"
errorMessage="${errorMessage} Total errors: $errorCount"
if [[ $showError -eq 1 ]]; then
message="$errorMessage"
displayDialog &
fi
printlog "errorLabels: $errorLabels"
fi
printlog "Ending"
caffexit $errorCount

View File

@@ -0,0 +1,361 @@
#!/bin/sh
# Installomator 1st installation with DEPNotify window (for self Service deployment)
instance="" # Name of used instance
LOGO="" # "appstore", "jamf", "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
items=(dialog dockutil microsoftautoupdate supportapp applenyfonts applesfpro applesfmono applesfcompact xink zohoworkdrivetruesync textmate 1password7 wwdc theunarchiver keka microsoftedge microsoftteams microsoftonedrive microsoftoffice365)
# Remember: dialog dockutil
installomatorOptions="NOTIFY=all BLOCKING_PROCESS_ACTION=prompt_user"
# DEPNotify display settings, change as desired
title="Installing Apps and other software"
message="Please wait while we download and install the needed software."
endMessage="Installation complete! Please reboot to activate FileVault."
errorMessage="A problem was encountered setting up this Mac. Please contact IT."
######################################################################
# Installomator 1st DEPNotify
#
# Installation using Installomator showing progress with DEPNotify
# Great stand-alone solution if installs are only done using Installomator.
# No customization below…
######################################################################
# This script can be used to install software using Installomator.
# Script will start DEPNotify to display a progress bar.
# Progress bar moves between installations
######################################################################
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
# v. 9.2.2 : 2022-06-17 : installomatorOptions introduced. Check 1.1.1.1 for internet connection.
# v. 9.2.1 : 2022-05-30 : Some changes to logging
# v. 9.2 : 2022-05-19 : Built in installer for Installlomator, and display dialog if error happens. Now universal script for all supported MDMs based on LOGO variable.
# v. 9.1 : 2022-04-13 : Using INSTALL=force in Label only, so Microsoft labels will not start updating
# v. 9.0.1 : 2022-02-21 : LOGO=addigy, few more "true" lines, and errorOutput on error
# v. 9.0.0 : 2022-02-14 : Updated for Inst. 9.0, Logging improved with printlog
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Check before running
case $LOGO in
addigy|microsoft)
conditionFile="/var/db/.Installomator1stDone"
# Addigy and Microsoft Endpoint Manager (Intune) need a check for a touched file
if [ -e "$conditionFile" ]; then
echo "$LOGO setup detected"
echo "$conditionFile exists, so we exit."
exit 0
else
echo "$conditionFile not found, so we continue…"
fi
;;
esac
# Mark: Constants, logging and caffeinate
log_message="$instance: Installomator 1st with DEPNotify, v$scriptVersion"
label="1st-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
exit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
# Command-file to DEPNotify
DEPNOTIFY_LOG="/var/tmp/depnotify.log"
# Counters
errorCount=0
countLabels=${#items[@]}
printlog "Total installations: $countLabels"
# Using LOGO variable to specify MDM and shown logo
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
printlog "LOGO: $LOGO - LOGO_PATH: $LOGO_PATH"
# Mark: Functions
printlog "depnotify_command function"
echo "" > $DEPNOTIFY_LOG || true
function depnotify_command(){
printlog "DEPNotify-command: $1"
echo "$1" >> $DEPNOTIFY_LOG || true
}
printlog "startDEPNotify function"
function startDEPNotify() {
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
launchctl asuser $currentUserID open -a "/Applications/Utilities/DEPNotify.app/Contents/MacOS/DEPNotify" --args -path "$DEPNOTIFY_LOG" || true # --args -fullScreen
sleep 5
depnotify_command "Command: KillCommandFile:"
depnotify_command "Command: MainTitle: $title"
depnotify_command "Command: Image: $LOGO_PATH"
depnotify_command "Command: MainText: $message"
depnotify_command "Command: Determinate: $countLabels"
}
# Notify the user using AppleScript
printlog "displayDialog function"
function displayDialog(){
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
if [[ "$currentUser" != "" ]]; then
launchctl asuser $currentUserID sudo -u $currentUser osascript -e "button returned of (display dialog \"$message\" buttons {\"OK\"} default button \"OK\" with icon POSIX file \"$LOGO_PATH\")" || true
fi
}
# Mark: Code
name="Installomator"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg
gitusername="Installomator"
gitreponame="Installomator"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="JME5BW3F3R"
destFile="/usr/local/Installomator/Installomator.sh"
currentInstalledVersion="$(${destFile} version 2>/dev/null || true)"
printlog "${destFile} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion} ..."
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
# Installing DEPNotify
cmdOutput="$( ${destFile} depnotify LOGO=$LOGO NOTIFY=silent BLOCKING_PROCESS_ACTION=ignore LOGGING=WARN || true )"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
printlog "DEPNotify install result: $exitStatus"
itemName=""
errorLabels=""
((countLabels++))
((countLabels--))
printlog "$countLabels labels to install"
startDEPNotify
for item in "${items[@]}"; do
# Check if DEPNotify is running and try open it if not
if ! pgrep -xq "DEPNotify"; then
startDEPNotify
fi
itemName=$( ${destFile} ${item} RETURN_LABEL_NAME=1 LOGGING=REQ INSTALL=force | tail -1 || true )
if [[ "$itemName" != "#" ]]; then
depnotify_command "Status: $itemName installing…"
else
depnotify_command "Status: $item installing…"
fi
printlog "$item $itemName"
cmdOutput="$( ${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true )"
#cmdOutput="2022-05-19 13:20:45 : REQ : installomator : ################## End Installomator, exit code 0"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
printlog "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text "WARN" || true )"
printlog "$warnOutput"
else
printlog "Error installing ${item}. Exit code ${exitStatus}"
#printlog "$cmdOutput"
errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
printlog "$errorOutput"
((errorCount++))
errorLabels="$errorLabels ${item}"
fi
((countLabels--))
itemName=""
done
# Mark: Finishing
# Prevent re-run of script if conditionFile is set
if [[ ! -z "$conditionFile" ]]; then
printlog "Touching condition file so script will not run again"
touch "$conditionFile" || true
printlog "$(ls -al "$conditionFile" || true)"
fi
# Show error to user if any
printlog "Errors: $errorCount"
if [[ $errorCount -ne 0 ]]; then
errorMessage="${errorMessage} Total errors: $errorCount"
message="$errorMessage"
displayDialog &
endMessage="$message"
printlog "errorLabels: $errorLabels"
fi
depnotify_command "Command: MainText: $endMessage"
depnotify_command "Command: Quit: $endMessage"
sleep 1
printlog "Remove $(rm -fv $DEPNOTIFY_LOG || true)"
printlog "Ending"
caffexit $errorCount

308
MDM/Installomator 1st SS.sh Executable file
View File

@@ -0,0 +1,308 @@
#!/bin/sh
# Installomator 1st installation (for Self Service deployment)
instance="" # Name of used instance
LOGO="" # "appstore", "jamf", "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
items=(dialog dockutil microsoftautoupdate supportapp applenyfonts applesfpro applesfmono applesfcompact xink zohoworkdrivetruesync textmate 1password7 wwdc theunarchiver keka microsoftedge microsoftteams microsoftonedrive microsoftoffice365)
# Remember: dialog dockutil
installomatorOptions="NOTIFY=all BLOCKING_PROCESS_ACTION=prompt_user"
# Error message to user if any occur
showError="1" # Show error message if 1 (0 if it should not be shown)
errorMessage="A problem was encountered setting up this Mac. Please contact IT."
######################################################################
# Installomator 1st for Self Service
#
# Installation using Installomator
# No customization below…
######################################################################
# This script can be used to install software using Installomator, where the user activate it in Self Service.
# Script will display a dialog if any errors happens.
# Progress is shown in notifications to the user
######################################################################
# Other installomatorOptions:
# LOGGING=REQ
# LOGGING=DEBUG
# LOGGING=WARN
# BLOCKING_PROCESS_ACTION=ignore
# BLOCKING_PROCESS_ACTION=tell_user
# BLOCKING_PROCESS_ACTION=tell_user_then_quit
# BLOCKING_PROCESS_ACTION=prompt_user
# BLOCKING_PROCESS_ACTION=prompt_user_loop
# BLOCKING_PROCESS_ACTION=prompt_user_then_kill
# BLOCKING_PROCESS_ACTION=quit
# BLOCKING_PROCESS_ACTION=kill
# NOTIFY=all
# NOTIFY=success
# NOTIFY=silent
# IGNORE_APP_STORE_APPS=yes
# INSTALL=force
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : Making error message optional. downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : installomatorOptions in quotes and ignore blocking processes. Improved installation with looping if it fails, so it can try again. Improved GitHub handling. ws1 support.
# v. 9.2.2 : 2022-06-17 : installomatorOptions introduced. Check 1.1.1.1 for internet connection.
# v. 9.2.1 : 2022-05-30 : Some changes to logging
# v. 9.2 : 2022-05-19 : Built in installer for Installomator, and display dialog if error happens. Now universal script for all supported MDMs based on LOGO variable.
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Check before running
case $LOGO in
addigy|microsoft)
conditionFile="/var/db/.Installomator1stDone"
# Addigy and Microsoft Endpoint Manager (Intune) need a check for a touched file
if [ -e "$conditionFile" ]; then
echo "$LOGO setup detected"
echo "$conditionFile exists, so we exit."
exit 0
else
echo "$conditionFile not found, so we continue…"
fi
;;
esac
# Mark: Constants, logging and caffeinate
log_message="$instance: Installomator 1st, v$scriptVersion"
label="1st-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
caffexit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
# Counters
errorCount=0
countLabels=${#items[@]}
printlog "Total installations: $countLabels"
# Using LOGO variable to specify MDM and shown logo
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
printlog "LOGO: $LOGO LOGO_PATH: $LOGO_PATH"
# Mark: Functions
# Notify the user using AppleScript
function displayDialog(){
currentUser="$(stat -f "%Su" /dev/console)"
currentUserID=$(id -u "$currentUser")
if [[ "$currentUser" != "" ]]; then
launchctl asuser $currentUserID sudo -u $currentUser osascript -e "button returned of (display dialog \"$message\" buttons {\"OK\"} default button \"OK\" with icon POSIX file \"$LOGO_PATH\")" || true
fi
}
# Mark: Code
name="Installomator"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg
gitusername="Installomator"
gitreponame="Installomator"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="JME5BW3F3R"
destFile="/usr/local/Installomator/Installomator.sh"
currentInstalledVersion="$(${destFile} version 2>/dev/null || true)"
printlog "${destFile} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion} ..."
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
errorLabels=""
((countLabels++))
((countLabels--))
printlog "$countLabels labels to install"
for item in "${items[@]}"; do
printlog "$item"
cmdOutput="$( ${destFile} ${item} LOGO=$LOGO ${installomatorOptions} || true )"
exitStatus="$( echo "${cmdOutput}" | grep --binary-files=text -i "exit" | tail -1 | sed -E 's/.*exit code ([0-9]).*/\1/g' || true )"
if [[ ${exitStatus} -eq 0 ]] ; then
printlog "${item} succesfully installed."
warnOutput="$( echo "${cmdOutput}" | grep --binary-files=text "WARN" || true )"
printlog "$warnOutput"
else
printlog "Error installing ${item}. Exit code ${exitStatus}"
#printlog "$cmdOutput"
errorOutput="$( echo "${cmdOutput}" | grep --binary-files=text -i "error" || true )"
printlog "$errorOutput"
((errorCount++))
errorLabels="$errorLabels ${item}"
fi
((countLabels--))
itemName=""
done
# Mark: Finishing
# Prevent re-run of script if conditionFile is set
if [[ ! -z "$conditionFile" ]]; then
printlog "Touching condition file so script will not run again"
touch "$conditionFile" || true
printlog "$(ls -al "$conditionFile" || true)"
fi
# Show error to user if any
printlog "Errors: $errorCount"
if [[ $errorCount -ne 0 ]]; then
printlog "ERROR: Display error dialog to user!"
errorMessage="${errorMessage} Total errors: $errorCount"
if [[ $showError -eq 1 ]]; then
message="$errorMessage"
displayDialog &
fi
printlog "errorLabels: $errorLabels"
fi
printlog "Ending"
caffexit $errorCount

View File

@@ -0,0 +1,13 @@
#!/bin/sh
# Mark: Addigy Condition on condition file
# Install on success
conditionFile="/var/db/.Installomator1stDone"
if [ -e "$conditionFile" ]; then
echo "$conditionFile exists. Exiting."
exit 1
else
echo "$conditionFile not found. Continue…"
exit 0
fi

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# PREVENT Installomator 1st Auto-install from running
# DESCRIPTION
# Will create the file to prevent Installomator 1st Auto-install from running.
# Only for MDM solutions (like Addigy and Microsoft) that have conditions for runnning scripts and do not offer an enrollment event for runnning the script.
# By runninng this script, the file will be created on the client, that will prevent Installomator 1st Auto-install from runnning.
# This is a great help for implementing Installomator 1st Auto-install in a running solution, where the command below have to be run on currently enrolled devices, and then Installomator 1st Auto-install can be assigned to all machines, and will run only on newly enrolled devices.
/usr/bin/touch "/var/db/.Installomator1stDone"

View File

@@ -1,44 +0,0 @@
#!/bin/bash
# Updating Installomator
# Usefull to push out after deployment if earlier version was deployed in DEP profile
# Currently script uses valuesfromarguments as a label is not included before next release, so this can be used to install to version 0.7
what="installomator" # enter the software to install
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
${destFile} valuesfromarguments\
name=Installomator \
type=pkg \
packageID=com.scriptingosx.Installomator \
downloadURL=https://github.com/Installomator/Installomator/releases/download/v0.7release/Installomator-0.7.0.pkg \
appNewVersion=0.7 \
expectedTeamID=JME5BW3F3R \
BLOCKING_PROCESS_ACTION=ignore \
NOTIFY=silent
# ${destFile} ${what} BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent
if [ $? != 0 ]; then
# This is currently not working in Mosyle, that will ignore script errors. Please request support for this from Mosyle!
echo "Error installing ${what}. Exit code $?"
caffexit $?
fi
echo "[$(DATE)][LOG-END]"
caffexit 0

View File

@@ -0,0 +1,160 @@
#!/bin/zsh
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# MARK: Arguments/Parameters
# Parameter 4: path to the swiftDialog command file
dialog_command_file=${4:-"/var/tmp/dialog.log"}
# Parameter 5: message displayed over the progress bar
message=${5:-"Self Service Progress"}
# Parameter 6: path or URL to an icon
icon=${6:-"/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"}
# see Dan Snelson's advice on how to get a URL to an icon in Self Service
# https://rumble.com/v119x6y-harvesting-self-service-icons.html
# MARK: Constants
dialogApp="/Library/Application Support/Dialog/Dialog.app"
# MARK: Functions
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
# MARK: sanity checks
# check minimal macOS requirement
if [[ $(sw_vers -buildVersion ) < "20A" ]]; then
echo "This script requires at least macOS 11 Big Sur."
exit 98
fi
# check we are running as root
if [[ $DEBUG -eq 0 && $(id -u) -ne 0 ]]; then
echo "This script should be run as root"
exit 97
fi
# swiftDialog installation
name="Dialog"
echo "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg w. app version check
gitusername="bartreardon"
gitreponame="swiftDialog"
#echo "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#echo "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#echo "$appNewVersion"
expectedTeamID="PWA5E9TQ59"
destFile="/Library/Application Support/Dialog/Dialog.app"
versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
echo "${name} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
echo "$name not found or version not latest."
echo "${destFile}"
echo "Installing version ${appNewVersion}"
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
echo "Created working directory '$tmpDir'"
# Download the installer package
echo "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
echo "error downloading $downloadURL, with status $curlDownloadStatus"
echo "${curlDownload}"
exitCode=1
else
echo "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
echo "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
echo "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
echo "ERROR. $name package installation failed."
echo "${pkgInstall}"
exitCode=2
else
echo "Installing $name package succes."
exitCode=0
fi
else
echo "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
echo "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
echo "Sleep a bit before trying download and install again. $installationCount time(s)."
echo "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
echo "Download and install of $name succes."
fi
done
# Remove the temporary working directory
echo "Deleting working directory '$tmpDir' and its contents."
echo "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
echo "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
echo "$name version $appNewVersion installed!"
fi
else
echo "$name version $appNewVersion already found. Perfect!"
fi
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
exit 95
fi
# MARK: Configure and display swiftDialog
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1

View File

@@ -0,0 +1,69 @@
#!/bin/zsh
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# MARK: Arguments/Parameters
# Parameter 4: path to the swiftDialog command file
dialog_command_file=${4:-"/var/tmp/dialog.log"}
# Parameter 5: message displayed over the progress bar
message=${5:-"Self Service Progress"}
# Parameter 6: path or URL to an icon
icon=${6:-"/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"}
# see Dan Snelson's advice on how to get a URL to an icon in Self Service
# https://rumble.com/v119x6y-harvesting-self-service-icons.html
# MARK: Constants
dialogApp="/Library/Application Support/Dialog/Dialog.app"
# MARK: Functions
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
# MARK: sanity checks
# check minimal macOS requirement
if [[ $(sw_vers -buildVersion ) < "20A" ]]; then
echo "This script requires at least macOS 11 Big Sur."
exit 98
fi
# check we are running as root
if [[ $DEBUG -eq 0 && $(id -u) -ne 0 ]]; then
echo "This script should be run as root"
exit 97
fi
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
exit 95
fi
# MARK: Configure and display swiftDialog
# display first screen
open -a "$dialogApp" --args \
--title none \
--icon "$icon" \
--message "$message" \
--mini \
--progress 100 \
--position bottomright \
--movable \
--commandfile "$dialog_command_file"
# give everything a moment to catch up
sleep 0.1

48
MDM/Jamf/ReadMe.md Normal file
View File

@@ -0,0 +1,48 @@
# Display Installomator Progress with SwiftDialog in Jamf
Installomator 10 has functionality to communicate with [Bart Reardon's swiftDialog](https://github.com/bartreardon/swiftDialog). When you set the `DIALOG_CMD_FILE` variable Installomator will write progress for downloads and installation (with pkgs) to the command file which allows swiftDialog to display the progress.
However, you have to launch and setup swiftDialog to display a window with a progress bar before Installomator launches and also make sure swiftDialog quits after Installomator has run. This may seem complex at first but allows to configure swiftDialog just for your case without needing to modify the Installomator script.
Here are some example script that would run before and after Installomator to display a swiftDialog window and quit the process after. Since Jamf Pro executes scripts in alphanumerical order, the names are chosen accordingly, to ensure proper order.
## Setup in Jamf Pro
To show Installomator progress with swiftDialog from a Jamf Policy, you require three scripts:
- `00_Prepare_SwiftDialog.sh`: Configures and displays the swiftDialog window
- `Installomator.sh`: (v10 or higher)
- `zz_Quit_SwiftDialog.sh`: quits swiftDialog
Add these three scripts to your Jamf Pro and create a policy with these three scripts. The names are chosen that the script appear in the correct order. If you rename the scripts in Jamf Pro, this may disrupt the order and the workflow will not work anymore. The "Priority" of the scripts in the policy should all be the same value.
The different scripts require a set of parameters. We will use the `googlechromepkg` label as an example.
`00_Prepare_SwiftDialog.sh`
Parameter 4: `/var/tmp/dialog.log` (Path to the swiftDialog command file)
Parameter 5: `Installing Google Chrome...` (text shown in the swiftDialog window above the progress bar)
Parameter 6: Path to or URL for an icon in swiftDialog. This can be a path on the client or a URL. See Dan Snelson's advice on how to get icon URLs for Self Service icons: https://rumble.com/v119x6y-harvesting-self-service-icons.html
`Installomator.sh`
Parameter 4: `googlechromepkg` (the label to install)
Parameter 5: `DIALOG_CMD_FILE=/var/tmp/dialog.log` (the swiftDialog command file, this has to be the same value as parameter 4 in the previous script)
Parameter 6: `NOTIFY=silent` (disable Installomator notifications, optional)
You can add more configurations to the Installomator script when needed.
`zz_Quit_SwiftDialog`
Parameter 4: `/var/tmp/dialog.log` (the swiftDialog command file, this has to be the same value as parameter 4 in the first script)
Then setup the remainder of the Jamf Policy to your needs. This works best with Self Service policies.
When you run the policy, the first script will configure and display swiftDialog. Installomator.sh will download and install the app while writing the proper update commands to the file set in `DIALOG_CMD_FILE`. The final script will quit swiftDialog.
![](SelfServiceProgress.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

57
MDM/Jamf/zz_Quit_SwiftDialog.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/zsh
# MARK: Arguments/Parameters
# Parameter 4: path to the swiftDialog command file
dialog_command_file=${4:-"/var/tmp/dialog.log"}
# MARK: Constants
dialogApp="/Library/Application Support/Dialog/Dialog.app"
dialogUpdate() {
# $1: dialog command
local dcommand="$1"
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> "$dialog_command_file"
echo "Dialog: $dcommand"
fi
}
# check minimal macOS requirement
if [[ $(sw_vers -buildVersion ) < "20A" ]]; then
echo "This script requires at least macOS 11 Big Sur."
exit 98
fi
# check we are running as root
if [[ $DEBUG -eq 0 && $(id -u) -ne 0 ]]; then
echo "This script should be run as root"
exit 97
fi
# check for Swift Dialog
if [[ ! -d $dialogApp ]]; then
echo "Cannot find dialog at $dialogApp"
exit 95
fi
# close and quit dialog
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
# pause a moment
sleep 0.5
dialogUpdate "quit:"
# let everything catch up
sleep 0.5
# just to be safe
killall "Dialog"
# the killall command above will return error when Dialog is already quit
# but we don't want that to register as a failure in Jamf, so always exit 0
exit 0

View File

@@ -1,100 +0,0 @@
#!/bin/zsh
# Specific settings in Addigy to configure Custom Software for installomator.
# Addigy has 3 parts to fill out for this, Installation script, Condition, and Removal steps (see RemoveInstallomator.sh).
# Mark: Installation script
# Just click “Add” to autogenerate the installer script line by clicking the “Add”-button next to the Installer PKG, replace with first line below
/usr/sbin/installer -pkg "/Library/Addigy/ansible/packages/Installomator (0.7.0)/Installomator-0.7.0.pkg" -target /
# Installation using Installomator
what="supportapp xink textmate microsoftedge wwdc keka vlc " # enter the software to installed separated with spaces
# To be used as a script sent out from a MDM.
# Fill the variable "what" above with labels separated by space " ".
# Script will loop through these labels and exit with number of errors.
######################################################################
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Count errors
errorCount=0
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
for item in $what; do
#echo $item
${destFile} ${item} LOGO=addigy NOTIFY=silent BLOCKING_PROCESS_ACTION=quit_kill #INSTALL=force
if [ $? != 0 ]; then
# Error handling
echo "[$(DATE)] Error installing ${item}. Exit code $?"
let errorCount++
fi
done
echo
echo "Errors: $errorCount"
echo "[$(DATE)][LOG-END]"
caffexit $errorCount
# Mark: Conditions
# Install on success
# Remember to fill out the correct “TARGET_VERSION” and “PKG_ID”, and click "Install on succes".
PKG_ID="com.scriptingosx.Installomator"
TARGET_VERSION="8.0"
vercomp () {
if [[ $1 == $2 ]]; then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)); do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++)); do
if [[ -z ${ver2[i]} ]]; then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]})); then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]})); then
return 2
fi
done
return 0
}
INSTALLED_VERSION="$(pkgutil --pkg-info $PKG_ID | grep -i "^version" | awk '{print $2}')"
echo "Current Version: ${INSTALLED_VERSION}"
vercomp ${TARGET_VERSION} ${INSTALLED_VERSION}
COMP=$? # 0 means the same, 1 means TARGET is newer, 2 means INSTALLED is newer
echo "COMPARISON: ${COMP}"
if [ "${COMP}" -eq 1 ]; then
echo "Installed version is older than ${TARGET_VERSION}."
exit 0
else
echo "Installed version is the same or newer than ${TARGET_VERSION}."
exit 1
fi

View File

@@ -1,73 +0,0 @@
PKG_ID="com.scriptingosx.Installomator"
TARGET_VERSION="8.0"
URLDOWNLOAD="%MosyleCDNFile:blah-blah-blah%"
######################################################################
# Installation using Installomator (enter the software to install separated with spaces in the "what"-variable)
what="handbrake theunarchiver microsoftoffice365"
# Covered by Mosyle Catalog: "brave firefox googlechrome microsoftedge microsoftteams signal sublimetext vlc webex zoom" among others
######################################################################
## Mark: Code here
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Mark: Condition for Installomator installation
INSTALLED_VERSION="$(pkgutil --pkg-info $PKG_ID 2>/dev/null | grep -i "^version" | awk '{print $2}')"
echo "Current Version: ${INSTALLED_VERSION}"
if [[ "$TARGET_VERSION" != "$INSTALLED_VERSION" ]]; then
TMPDIR=$(mktemp -d )
if ! cd "$TMPDIR"; then
echo "error changing directory $TMPDIR"
caffexit 98
fi
NAME=$TMPDIR/$(date +%s).pkg
if ! curl -fsL "$URLDOWNLOAD" -o "$NAME"; then
echo "error downloading $URLDOWNLOAD to $NAME."
caffexit 97
fi
installer -pkg "$NAME" -target /
rm -rf "$TMPDIR"
else
echo "Installomator version $INSTALLED_VERSION already installed!"
fi
# Mark: Start Installomator label(s) installation
# Count errors
errorCount=0
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
for item in $what; do
#echo $item
${destFile} ${item} LOGO=mosyle NOTIFY=all BLOCKING_PROCESS_ACTION=tell_user #NOTIFY=silent BLOCKING_PROCESS_ACTION=quit_kill #INSTALL=force
if [ $? != 0 ]; then
# Error handling
echo "[$(DATE)] Error installing ${item}. Exit code $?"
let errorCount++
fi
done
echo
echo "Errors: $errorCount"
echo "[$(DATE)][LOG-END]"
caffexit $errorCount

View File

@@ -1,42 +0,0 @@
#!/bin/bash
# Installation using Installomator
# Example of installing software using valuesfromarguments to install a custom software
what="valuesfromarguments" # enter the software to install
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid"
pkill caffeinate
exit $1
}
# Verify that Installomator has been installed
destFile="/usr/local/Installomator/Installomator.sh"
if [ ! -e "${destFile}" ]; then
echo "Installomator not found here:"
echo "${destFile}"
echo "Exiting."
caffexit 99
fi
${destFile} valuesfromarguments \
name=\"Zoho\ WorkDrive\" \
type=dmg \
downloadURL=https://files-accl.zohopublic.com/public/wdbin/download/46f971e4fc4a32b68ad5d7dade38a7d2 \
appNewVersion=2.6.25 \
expectedTeamID=TZ824L8Y37 \
BLOCKING_PROCESS_ACTION=quit \
NOTIFY=all
# ${destFile} ${what} BLOCKING_PROCESS_ACTION=ignore NOTIFY=silent
if [ $? != 0 ]; then
# This is currently not working in Mosyle, that will ignore script errors. Please request support for this from Mosyle!
echo "Error installing ${what}. Exit code $?"
caffexit $?
fi
echo "[$(DATE)][LOG-END]"
caffexit 0

View File

@@ -0,0 +1,13 @@
#!/bin/sh
# Mark: Addigy Condition on condition file
# Install on success
conditionFile="/var/db/.Progress1stDone"
if [ -e "$conditionFile" ]; then
echo "$conditionFile exists. Exiting."
exit 1
else
echo "$conditionFile not found. Continue…"
exit 0
fi

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# PREVENT Progress 1st swiftDialog from running
# DESCRIPTION
# Will create the file to prevent Progress 1st swiftDialog from running.
# Only for MDM solutions (like Addigy and Microsoft) that have conditions for runnning scripts and do not offer an enrollment event for runnning the script.
# By runninng this script, the file will be created on the client, that will prevent Progress 1st swiftDialog from runnning.
# This is a great help for implementing Progress 1st swiftDialog in a running solution, where the command below have to be run on currently enrolled devices, and then Progress 1st swiftDialog can be assigned to all machines, and will run only on newly enrolled devices.
/usr/bin/touch "/var/db/.Progress1stDone"

399
MDM/Progress 1st swiftDialog.sh Executable file
View File

@@ -0,0 +1,399 @@
#!/bin/sh
# Progress 1st with swiftDialog (auto installation at enrollment)
instance="" # Name of used instance
LOGO="" # "appstore", "jamf", "mosyleb", "mosylem", "addigy", "microsoft", "ws1"
apps=(
"swiftDialog,/usr/local/bin/dialog"
"dockutil,/usr/local/bin/dockutil"
"desktoppr,/usr/local/bin/desktoppr"
"SupportApp,/Applications/Support.app"
"Xink,/Applications/Xink.app"
"Apple NewYork Font,/Library/Fonts/NewYork.ttf"
"Apple SF Pro Font,/Library/Fonts/SF-Pro.ttf"
"Apple SF Mono Font,/Library/Fonts/SF-Mono-Bold.otf"
"Apple SF Compact Font,/Library/Fonts/SF-Compact.ttf"
"Zoho WorkDrive TrueSync,/Applications/Zoho WorkDrive TrueSync.app"
"TextMate,/Applications/TextMate.app"
"Sublime Text,/Applications/Sublime Text.app"
"1Password,/Applications/1Password 7.app"
"Mactracker,/Applications/Mactracker.app"
"WWDC,/Applications/WWDC.app"
"The Unarchiver,/Applications/The Unarchiver.app"
"Keka,/Applications/Keka.app"
"Brave,/Applications/Brave Browser.app"
"Firefox,/Applications/Firefox.app"
"Microsoft AutoUpdate,/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app"
"Microsoft Edge,/Applications/Microsoft Edge.app"
"Microsoft Teams,/Applications/Microsoft Teams.app"
"Microsoft Excel,/Applications/Microsoft Excel.app"
"Microsoft OneNote,/Applications/Microsoft OneNote.app"
"Microsoft Outlook,/Applications/Microsoft Outlook.app"
"Microsoft PowerPoint,/Applications/Microsoft PowerPoint.app"
"Microsoft Word,/Applications/Microsoft Word.app"
"Microsoft OneDrive,/Applications/OneDrive.app"
)
# Dialog display settings, change as desired
title="Installing Apps and other software"
message="Please wait while we download and install the needed software."
endMessage="Installation complete! Please reboot to activate FileVault."
displayEndMessageDialog=1 # Should endMessage be shown as a dialog? (0|1)
errorMessage="A problem was encountered setting up this Mac. Please contact IT."
######################################################################
# Progress 1st Dialog
#
# Showing installation progress using swiftDialog
# No customization below…
######################################################################
# Complete script meant for running via MDM on device enrollment. This will download
# and install Dialog on the fly before opening Dialog.
#
# Log: /private/var/log/InstallationProgress.log
# This file prevents script from running again on Addigy and Microsoft Endpoint (Intune):
# "/var/db/.Progress1stDone"
#
# Display a Dialog with a list of applications and indicate when theyve been installed
# Useful when apps are deployed at random, perhaps without local logging.
# Applies to Mosyle App Catalog installs, VPP app installs, Installomator installs etc.
# The script watches the existence of files in the file system, so that is used to show progress.
#
# Requires Dialog v1.9.1 or later (will be installed) https://github.com/bartreardon/swiftDialog
#
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Based on the work by Adam Codega:
# https://github.com/acodega/dialog-scripts
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
# List of apps/installs to process in “apps” array.
# Provide the display name as you prefer and the path to the app/file. ex:
# "Google Chrome,/Applications/Google Chrome.app"
# A comma separates the display name from the path. Do not use commas in your display name text.
#
# Tip: Check for something like print drivers using the pkg receipt, like:
# "Konica-Minolta drivers,/var/db/receipts/jp.konicaminolta.print.package.C759.plist"
# Or fonts, like:
# "Apple SF Pro Font,/Library/Fonts/SF-Pro.ttf"
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
# v. 9.2.2 : 2022-06-17 : Improved Dialog installation. Check 1.1.1.1 for internet connection.
# v. 9.2 : 2022-05-19 : Not using GitHub api for download of Dialog, show a dialog when finished to make message more important. Now universal script for all supported MDMs based on LOGO variable.
# v. 9.0 : 2022-05-16 : Based on acodegas work, I have added progress bar, changed logging and use another log-location, a bit more error handling for Dialog download, added some "|| true"-endings to some lines to not make them fail in Addigy, and some more.
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Check before running
case $LOGO in
addigy|microsoft)
conditionFile="/var/db/.Progress1stDone"
# Addigy and Microsoft Endpoint Manager (Intune) need a check for a touched file
if [ -e "$conditionFile" ]; then
echo "$LOGO setup detected"
echo "$conditionFile exists, so we exit."
exit 0
else
echo "$conditionFile not found, so we continue…"
fi
;;
esac
# Mark: Constants and logging
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
log_message="$instance: Progress 1st with Dialog, v$scriptVersion"
label="P1st-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
function printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
exit 90
fi
# Location of dialog and dialog command file
dialogApp="/usr/local/bin/dialog"
dialog_command_file="/var/tmp/dialog.log"
counterFile="/var/tmp/Progress1st.plist"
# Counters
progress_index=0
step_progress=0
defaults write $counterFile step -int 0
progress_total=${#apps[@]}
printlog "Total watched installations: $progress_total"
# Using LOGO variable to specify MDM and shown logo
case $LOGO in
appstore)
# Apple App Store on Mac
if [[ $(sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
;;
jamf)
# Jamf Pro
LOGO_PATH="/Library/Application Support/JAMF/Jamf.app/Contents/Resources/AppIcon.icns"
;;
mosyleb)
# Mosyle Business
LOGO_PATH="/Applications/Self-Service.app/Contents/Resources/AppIcon.icns"
;;
mosylem)
# Mosyle Manager (education)
LOGO_PATH="/Applications/Manager.app/Contents/Resources/AppIcon.icns"
;;
addigy)
# Addigy
LOGO_PATH="/Library/Addigy/macmanage/MacManage.app/Contents/Resources/atom.icns"
;;
microsoft)
# Microsoft Endpoint Manager (Intune)
LOGO_PATH="/Library/Intune/Microsoft Intune Agent.app/Contents/Resources/AppIcon.icns"
;;
ws1)
# Workspace ONE (AirWatch)
LOGO="/Applications/Workspace ONE Intelligent Hub.app/Contents/Resources/AppIcon.icns"
;;
esac
if [[ ! -a "${LOGO_PATH}" ]]; then
printlog "ERROR in LOGO_PATH '${LOGO_PATH}', setting Mac App Store."
if [[ $(/usr/bin/sw_vers -buildVersion) > "19" ]]; then
LOGO_PATH="/System/Applications/App Store.app/Contents/Resources/AppIcon.icns"
else
LOGO_PATH="/Applications/App Store.app/Contents/Resources/AppIcon.icns"
fi
fi
printlog "LOGO: $LOGO LOGO_PATH: $LOGO_PATH"
# Mark: Functions
# execute a dialog command
echo "" > $dialog_command_file || true
function dialog_command(){
printlog "Dialog-command: $1"
echo "$1" >> $dialog_command_file || true
}
function appCheck(){
dialog_command "listitem: $(echo "$app" | cut -d ',' -f1): wait"
while [ ! -e "$(echo "$app" | cut -d ',' -f2)" ]; do
sleep 2
done
dialog_command "progresstext: Install of “$(echo "$app" | cut -d ',' -f1)” complete"
dialog_command "listitem: $(echo "$app" | cut -d ',' -f1): ✅"
progress_index=$(defaults read $counterFile step)
progress_index=$(( progress_index + 1 ))
defaults write $counterFile step -int $progress_index
dialog_command "progress: $progress_index"
printlog "at item number $progress_index"
}
# Notify the user using AppleScript
function displayDialog(){
if [[ "$currentUser" != "" ]]; then
launchctl asuser $currentUserID sudo -u $currentUser osascript -e "button returned of (display dialog \"$message\" buttons {\"OK\"} default button \"OK\" with icon POSIX file \"$LOGO_PATH\")" || true
fi
}
# Mark: Code
name="Dialog"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg w. app version check
gitusername="bartreardon"
gitreponame="swiftDialog"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="PWA5E9TQ59"
destFile="/Library/Application Support/Dialog/Dialog.app"
versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
printlog "${name} version: $currentInstalledVersion"
destFile="/usr/local/bin/dialog"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion}"
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
while [ "$(pgrep -l "Setup Assistant")" != "" ]; do
printlog "Setup Assistant Still Running. PID $setupAssistantProcess."
sleep 1
done
printlog "Out of Setup Assistant."
while [ "$(pgrep -l "Finder")" = "" ]; do
printlog "Finder process not found. Assuming device is at login screen. PID $finderProcess"
sleep 1
done
printlog "Finder is running…"
currentUser=$(stat -f "%Su" /dev/console)
currentUserID=$(id -u "$currentUser")
printlog "Logged in user is $currentUser with ID $currentUserID"
# set icon based on whether computer is a desktop or laptop
#hwType=$(system_profiler SPHardwareDataType | grep "Model Identifier" | grep "Book" || true)
#if [ "$hwType" != "" ]; then
# LOGO_PATH="SF=laptopcomputer.and.arrow.down,weight=thin,colour1=#51a3ef,colour2=#5154ef"
#else
# LOGO_PATH="SF=desktopcomputer.and.arrow.down,weight=thin,colour1=#51a3ef,colour2=#5154ef"
#fi
dialogCMD="$dialogApp -p --title \"$title\" \
--message \"$message\" \
--icon \"$LOGO_PATH\" \
--progress $progress_total \
--button1text \"Please Wait\" \
--button1disabled"
# create the list of apps
listitems=""
for app in "${apps[@]}"; do
listitems="$listitems --listitem '$(echo "$app" | cut -d ',' -f1)'"
done
# final command to execute
dialogCMD="$dialogCMD $listitems"
printlog "$dialogCMD"
# Launch dialog and run it in the background sleep for a second to let thing initialise
printlog "About to launch Dialog."
eval "$dialogCMD" &
sleep 2
(for app in "${apps[@]}"; do
#step_progress=$(( 1 + progress_index ))
#dialog_command "progress: $step_progress"
sleep 0.5
appCheck &
done
wait)
# Mark: Finishing
# Prevent re-run of script if conditionFile is set
if [[ ! -z "$conditionFile" ]]; then
printlog "Touching condition file so script will not run again"
touch "$conditionFile" || true
printlog "$(ls -al "$conditionFile" || true)"
fi
# all done. close off processing and enable the "Done" button
printlog "Finalizing."
dialog_command "progresstext: $endMessage"
dialog_command "progress: complete"
dialog_command "button1text: Done"
dialog_command "button1: enable"
if [[ $displayEndMessageDialog -eq 1 ]]; then
message="$endMessage"
displayDialog &
fi
sleep 1
printlog $(rm -fv $dialog_command_file || true)
printlog $(rm -fv $counterFile || true)
printlog "Ending"

83
MDM/README.md Normal file
View File

@@ -0,0 +1,83 @@
# Scripts for use with MDM
These example scripts are meant for use with MDM to run __Installomator__ and process installs. Examples are also included which use swiftDialog to provide user feedback and dockutil to add app icons to the dock.
There are basically two ways to use Installomator with MDM. The _“Jamf way”_ is where, through the MDM admin interface, your upload the Installomator script to a policy, and you provide additional parameters in the policy configuration like which app to install. The _“other way”_ to use Installomator is by having the MDM install Installomator locally on the computer, just once, and then on subsequent runs the MDM runs a script which calls Installomator and provides the parameters.
Examples of MDMs which use the “other way” are Mosyle Manager/Mosyle Business, Addigy, and Microsoft Endpoint Manager (Intune).
The scripts utilizing __swiftDialog__ require version 10 of __Installomator__. If Installomator version 9 is installed, it will set `NOTIFY=all` and use the traditional __Installomator__ notifications for showing progress, where as on version 10 it will be `NOTIFY=silent` as __swiftDialog__ is used instead.
## Abbreviations used in script names
- SS — Self Service — scripts designed for use through a Self Service catalog
- VFA — valuesfromarguments — a custom label call to Installomator. When using an MDM and the "other way", you can use these scripts to provide the label variables to Installomator for custom labels.
## Condition scripts
Scripts with the `condition` suffix are for use with MDMs like Addigy, where a script is run to determine if the rest of the policy should run.
## Prevention scripts
The `Installomator 1st` and `Progress 1st` scripts are meant to run automatically upon device enrollment. They check for the existance of a file, `/var/db/.Installomator1stDone`, to determine whether the computer has already been deployed. You can run the prevention scripts on existing Macs to ensure the 1st scripts won't inadvertently run on them.
## "Jamf" folder
This folder has Jamf specific examples using __swiftDialog__ as part of the Installomator installation. Perfect for use with Jamf Self Service. Separate [ReadMe-file](Jamf/ReadMe.md) in this folder.
# Scripts to install prerequisites
Use these scripts to handle installing Installomator itself. Additionally, you may want to install swiftDialog manually instead of having Installomator install it.
- `install Installomator direct.sh` — can be run at enrollment and as maintenance at any time to install __Installomator__.
- `install swiftDialog direct.sh` — can be used at enrollment and as maintenance at any time to install __swiftDialog__.
Once Installomator has been installed, __dockutil__ can be installed by Installomator, using this script:
- `App-install/App service Auto-install.sh` — This script uses pre-installed installomator to install __dockutil__.
# Enrollment scripts
For enrollment purposes, some 1st-scripts has been created. One runs silently, another is using __DEPNotify__ to show progress and feedback:
- `Installomator 1st Auto-install DEPNotify.sh` — will install __DEPNotify__ first, start that up, and change progress on the installation bar at each installed label. Very good for Addigy an Microsoft.
- `Installomator 1st Auto-install.sh` — runnning silently installing Installomator labels in the given order. Can be used in combination with the Progress-script.
- `Progress 1st swiftDialog.sh` — It will install __swiftDialog__ and start that up with a list of software it will look for. It will look for an installed file/folder in the file system for each item. This is great if some apps are being installed outside of Installomator, like by Apple Apps & Books, and then this script can show when it has been installed.
There are also Self Service versions of the above.
## “App-install”-folder
- App browser-security Auto-install.sh
- App browser-security SS.sh
- App normal Auto-install.sh
- App normal SS.sh
- App service Auto-install.sh
- App VFA.sh
Here you can use scripts for Self Service (SS) or for Auto-install. There will be a difference in how many notifications will be used and maybe handling of blocking processes.
`browser-security`: For an app like a web browser, youll want the install performed right away, so there isnt a deferral option.
`normal`: The user can defer/skip the update.
`service`: These are apps where we dont need to ask the user to allow the update. Menu bar apps and utilities would fall under this category.
## “App-install SS with swiftDialog and dockutil”-folder
- App browser-security SS.sh
- App normal SS multi-app.sh
- App normal SS.sh
- App service SS.sh
- App VFA SS github.sh
- App VFA SS.sh
These scripts are similar to the App-install folder but also utilize __swiftDialog__ to show user feedback and installation status, and they also have an option to use __dockutil__ to add the installed software to the Dock.
# App-update
A common requested behavior is to only update an app if it is already installed. These script verifies if the app is already installed before runnning Installomator.
- App browser-security Auto-install.sh
- App normal Auto-install.sh

View File

@@ -0,0 +1,17 @@
#!/bin/sh
# Mark: Addigy Condition
# Install on success
gitusername="Installomator"
gitreponame="Installomator"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
destFile="/usr/local/Installomator/Installomator.sh"
if [[ ! -e "${destFile}" || "$(${destFile} version)" != "$appNewVersion" ]]; then
#echo "Let's install…"
exit 0
else
#echo "No need!"
exit 1
fi

View File

@@ -0,0 +1,150 @@
#!/bin/sh
######################################################################
# Installation of Installomator
#
# No customization below…
######################################################################
# This script can be used to install Installomator directly from GitHub.
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
# v. 9.2.2 : 2022-06-17 : Check 1.1.1.1 for internet connection.
# v. 9.2 : 2022-05-19 : Built in installer for Installlomator. Universal script.
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Mark: Constants, logging and caffeinate
log_message="Installomator install, v$scriptVersion"
label="Inst-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
exit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
name="Installomator"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg with destFile
gitusername="Installomator"
gitreponame="Installomator"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="JME5BW3F3R"
destFile="/usr/local/Installomator/Installomator.sh"
currentInstalledVersion="$(${destFile} version 2>/dev/null || true)"
printlog "${destFile} version: $currentInstalledVersion"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion} ..."
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
caffexit 0

View File

@@ -0,0 +1,20 @@
#!/bin/sh
# Mark: Addigy Condition
# Install on success
gitusername="bartreardon"
gitreponame="swiftDialog"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
destFile="/Library/Application Support/Dialog/Dialog.app"
versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
#echo "Let's install…"
exit 0
else
#echo "No need!"
exit 1
fi

152
MDM/install swiftDialog direct.sh Executable file
View File

@@ -0,0 +1,152 @@
#!/bin/sh
######################################################################
# Installation of swiftDialog
#
# No customization below…
######################################################################
# This script can be used to install swiftDialog directly from GitHub.
######################################################################
#
# This script made by Søren Theilgaard
# https://github.com/Theile
# Twitter and MacAdmins Slack: @theilgaard
#
# Some functions and code from Installomator:
# https://github.com/Installomator/Installomator
#
######################################################################
scriptVersion="9.6"
# v. 9.6 : 2022-11-15 : GitHub API call is first, only try alternative if that fails.
# v. 9.5 : 2022-09-21 : change of GitHub download
# v. 9.4 : 2022-09-14 : downloadURL can fall back on GitHub API.
# v. 9.3 : 2022-08-29 : Logging changed for current version. Improved installation with looping if it fails, so it can try again. Improved GitHub handling.
# v. 9.2.2 : 2022-06-17 : Check 1.1.1.1 for internet connection.
# v. 9.2 : 2022-05-19 : Built in installer for Installlomator. Universal script.
######################################################################
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Mark: Constants, logging and caffeinate
log_message="Dialog install, v$scriptVersion"
label="Dialog-v$scriptVersion"
log_location="/private/var/log/Installomator.log"
printlog(){
timestamp=$(date +%F\ %T)
if [[ "$(whoami)" == "root" ]]; then
echo "$timestamp :: $label : $1" | tee -a $log_location
else
echo "$timestamp :: $label : $1"
fi
}
printlog "[LOG-BEGIN] ${log_message}"
# Internet check
if [[ "$(nc -z -v -G 10 1.1.1.1 53 2>&1 | grep -io "succeeded")" != "succeeded" ]]; then
printlog "ERROR. No internet connection, we cannot continue."
exit 90
fi
# No sleeping
/usr/bin/caffeinate -d -i -m -u &
caffeinatepid=$!
caffexit () {
kill "$caffeinatepid" || true
pkill caffeinate || true
printlog "[LOG-END] Status $1"
exit $1
}
name="Dialog"
printlog "$name check for installation"
# download URL, version and Expected Team ID
# Method for GitHub pkg w. app version check
gitusername="bartreardon"
gitreponame="swiftDialog"
#printlog "$gitusername $gitreponame"
filetype="pkg"
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API failed, trying failover."
#downloadURL="https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
#printlog "$downloadURL"
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
#printlog "$appNewVersion"
expectedTeamID="PWA5E9TQ59"
destFile="/Library/Application Support/Dialog/Dialog.app"
versionKey="CFBundleShortVersionString" #CFBundleVersion
currentInstalledVersion="$(defaults read "${destFile}/Contents/Info.plist" $versionKey || true)"
printlog "${name} version: $currentInstalledVersion"
destFile="/usr/local/bin/dialog"
if [[ ! -e "${destFile}" || "$currentInstalledVersion" != "$appNewVersion" ]]; then
printlog "$name not found or version not latest."
printlog "${destFile}"
printlog "Installing version ${appNewVersion}"
# Create temporary working directory
tmpDir="$(mktemp -d || true)"
printlog "Created working directory '$tmpDir'"
# Download the installer package
printlog "Downloading $name package version $appNewVersion from: $downloadURL"
installationCount=0
exitCode=9
while [[ $installationCount -lt 3 && $exitCode -gt 0 ]]; do
curlDownload=$(curl -Ls "$downloadURL" -o "$tmpDir/$name.pkg" || true)
curlDownloadStatus=$(echo $?)
if [[ $curlDownloadStatus -ne 0 ]]; then
printlog "error downloading $downloadURL, with status $curlDownloadStatus"
printlog "${curlDownload}"
exitCode=1
else
printlog "Download $name succes."
# Verify the download
teamID=$(spctl -a -vv -t install "$tmpDir/$name.pkg" 2>&1 | awk '/origin=/ {print $NF }' | tr -d '()' || true)
printlog "Team ID for downloaded package: $teamID"
# Install the package if Team ID validates
if [ "$expectedTeamID" = "$teamID" ] || [ "$expectedTeamID" = "" ]; then
printlog "$name package verified. Installing package '$tmpDir/$name.pkg'."
pkgInstall=$(installer -verbose -dumplog -pkg "$tmpDir/$name.pkg" -target "/" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $pkgInstallStatus -ne 0 ]]; then
printlog "ERROR. $name package installation failed."
printlog "${pkgInstall}"
exitCode=2
else
printlog "Installing $name package succes."
exitCode=0
fi
else
printlog "ERROR. Package verification failed for $name before package installation could start. Download link may be invalid."
exitCode=3
fi
fi
((installationCount++))
printlog "$installationCount time(s), exitCode $exitCode"
if [[ $installationCount -lt 3 ]]; then
if [[ $exitCode -gt 0 ]]; then
printlog "Sleep a bit before trying download and install again. $installationCount time(s)."
printlog "Remove $(rm -fv "$tmpDir/$name.pkg" || true)"
sleep 2
fi
else
printlog "Download and install of $name succes."
fi
done
# Remove the temporary working directory
printlog "Deleting working directory '$tmpDir' and its contents."
printlog "Remove $(rm -Rfv "${tmpDir}" || true)"
# Handle installation errors
if [[ $exitCode != 0 ]]; then
printlog "ERROR. Installation of $name failed. Aborting."
caffexit $exitCode
else
printlog "$name version $appNewVersion installed!"
fi
else
printlog "$name version $appNewVersion already found. Perfect!"
fi
caffexit 0

151
MDM/swiftdialog_example.sh Executable file
View File

@@ -0,0 +1,151 @@
#!/bin/zsh
# runs through a list of Installomator items
# and displays status using Swift Dialog
#
# dependencies:
# - Swift Dialog: https://github.com/bartreardon/swiftDialog
# - Installomator: https://github.com/Installomator/Installomator
# this script will install both if they are not yet present
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# MARK: Variables
# set to 1 to not require root and not actually do any changes
# set to 0 for production
if [[ $1 == "NODEBUG" ]]; then
DEBUG=0
else
DEBUG=1
fi
# the label to install:
label="googlechromepkg"
# MARK: Constants
scriptDir=$(dirname ${0:A})
repoDir=$(dirname $scriptDir)
# if [[ $DEBUG -eq 1 ]]; then
installomator="$repoDir/utils/assemble.sh"
# else
# installomator="/usr/local/Installomator/Installomator.sh"
# fi
dialog="/usr/local/bin/dialog"
if [[ DEBUG -eq 0 ]]; then
dialog_command_file="/var/tmp/dialog.log"
else
dialog_command_file="$HOME/dialog.log"
fi
# MARK: Functions
dialogUpdate() {
# $1: dialog command
local dcommand=$1
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> $dialog_command_file
echo "Dialog: $dcommand"
fi
}
progressUpdate() {
# $1: progress text (optional)
local text=$1
itemCounter=$((itemCounter + 1))
dialogUpdate "progress: $itemCounter"
if [[ -n $text ]]; then
dialogUpdate "progresstext: $text"
fi
}
startItem() {
local description=$1
echo "Starting Item: $description"
dialogUpdate "listitem: $description: wait"
progressUpdate $description
}
cleanupAndExit() {
# kill caffeinate process
if [[ -n $caffeinatePID ]]; then
echo "killing caffeinate..."
kill $caffeinatePID
fi
# clean up tmp dir
if [[ -n $tmpDir && -d $tmpDir ]]; then
echo "removing tmpDir $tmpDir"
rm -rf $tmpDir
fi
}
# MARK: sanity checks
# check minimal macOS requirement
if [[ $(sw_vers -buildVersion ) < "20" ]]; then
echo "This script requires at least macOS 11 Big Sur."
exit 98
fi
# check we are running as root
if [[ $DEBUG -eq 0 && $(id -u) -ne 0 ]]; then
echo "This script should be run as root"
exit 97
fi
# check for installomator
if [[ ! -x $installomator ]]; then
echo "Cannot find Installomator at $installomator"
exit 96
fi
# check for Swift Dialog
if [[ ! -x $dialog ]]; then
echo "Cannot find dialog at $dialog"
exit 95
fi
# MARK: Setup
# No sleeping
caffeinate -dimsu & caffeinatePID=$!
# trap exit for cleanup
trap cleanupAndExit EXIT
# display first screen
$dialog --title "Installing $label" \
--message "" \
--hideicon \
--mini \
--progress 100 \
--position bottomright \
--ontop \
--movable \
--commandfile $dialog_command_file & dialogPID=$!
sleep 0.1
$installomator $label \
DIALOG_CMD_FILE="$dialog_command_file" \
DEBUG=$DEBUG
# clean up UI
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Done"
sleep 0.5
dialogUpdate "quit:"

185
MDM/swiftdialog_list.sh Executable file
View File

@@ -0,0 +1,185 @@
#!/bin/zsh
# runs through a list of Installomator items
# and displays status using Swift Dialog
#
# dependencies:
# - Swift Dialog: https://github.com/bartreardon/swiftDialog
# - Installomator: https://github.com/Installomator/Installomator
# this script will install both if they are not yet present
export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# MARK: Variables
# set to 1 to not require root and not actually do any changes
# set to 0 for production
if [[ $1 == "NODEBUG" ]]; then
DEBUG=0
else
DEBUG=1
fi
# list of Installomator labels
items=(
"firefoxpkg|Firefox"
"error|Expected Error"
"googlechromepkg|Google Chrome"
)
# MARK: Constants
scriptDir=$(dirname ${0:A})
repoDir=$(dirname $scriptDir)
# if [[ $DEBUG -eq 1 ]]; then
installomator="$repoDir/utils/assemble.sh"
# else
# installomator="/usr/local/Installomator/Installomator.sh"
# fi
dialog="/usr/local/bin/dialog"
if [[ DEBUG -eq 0 ]]; then
dialog_command_file="/var/tmp/dialog.log"
else
dialog_command_file="$HOME/dialog.log"
fi
# MARK: Functions
dialogUpdate() {
# $1: dialog command
local dcommand=$1
if [[ -n $dialog_command_file ]]; then
echo "$dcommand" >> $dialog_command_file
echo "Dialog: $dcommand"
fi
}
progressUpdate() {
# $1: progress text (optional)
local text=$1
itemCounter=$((itemCounter + 1))
dialogUpdate "progress: $itemCounter"
if [[ -n $text ]]; then
dialogUpdate "progresstext: $text"
fi
}
startItem() {
local description=$1
echo "Starting Item: $description"
dialogUpdate "listitem: $description: wait"
progressUpdate $description
}
installomator() {
# $1: label
# $2: description
local label=$1
local description=$2
$installomator $label \
DIALOG_CMD_FILE=${(q)dialog_command_file} \
DIALOG_LIST_ITEM_NAME=${(q)description} \
DEBUG=$DEBUG \
LOGGING=DEBUG
}
cleanupAndExit() {
# kill caffeinate process
if [[ -n $caffeinatePID ]]; then
echo "killing caffeinate..."
kill $caffeinatePID
fi
# clean up tmp dir
if [[ -n $tmpDir && -d $tmpDir ]]; then
echo "removing tmpDir $tmpDir"
rm -rf $tmpDir
fi
}
# MARK: sanity checks
# check minimal macOS requirement
if [[ $(sw_vers -buildVersion ) < "20" ]]; then
echo "This script requires at least macOS 11 Big Sur."
exit 98
fi
# check we are running as root
if [[ $DEBUG -eq 0 && $(id -u) -ne 0 ]]; then
echo "This script should be run as root"
exit 97
fi
# check for installomator
if [[ ! -x $installomator ]]; then
echo "Cannot find Installomator at $installomator"
exit 96
fi
# check for Swift Dialog
if [[ ! -x $dialog ]]; then
echo "Cannot find dialog at $dialog"
exit 95
fi
# MARK: Setup
# No sleeping
caffeinate -dimsu & caffeinatePID=$!
# trap exit for cleanup
trap cleanupAndExit EXIT
# setup first list
itemCount=$((${#items} + 1))
listitems=( )
for item in $items; do
label=$(cut -d '|' -f 1 <<< $item)
description=$(cut -d '|' -f 2 <<< $item)
listitems+=( "--listitem" ${description} )
done
# display first screen
$dialog --title "More Software" \
--icon "SF=gear" \
--message "We are downloading and installing some extra Apps..." \
--progress $itemCount \
"${listitems[@]}" \
--button1disabled \
--big \
--ontop \
--liststyle compact \
--width 700 \
--commandfile $dialog_command_file & dialogPID=$!
sleep 0.1
itemCounter=0
for item in $items; do
label=$(cut -d '|' -f 1 <<< $item)
description=$(cut -d '|' -f 2 <<< $item)
startItem $description
installomator $label $description
done
# clean up UI
dialogUpdate "progress: complete"
dialogUpdate "progresstext: Finished"
dialogUpdate "button1: enable"
dialogUpdate "button1text: Done"

View File

@@ -1,8 +1,12 @@
# Note: The main repo is a beta version
Please locate “Releases” on the right, and download the latest 9.2 release (either pkg or zip) for a supported release.
# Installomator
_The one installer script to rule them all._
![](https://img.shields.io/github/v/release/scriptingosx/Installomator)&nbsp;![](https://img.shields.io/github/downloads/scriptingosx/Installomator/latest/total)&nbsp;![](https://img.shields.io/badge/macOS-10.14%2B-success)&nbsp;![](https://img.shields.io/github/license/scriptingosx/Installomator)
![](https://img.shields.io/github/v/release/Installomator/Installomator)&nbsp;![](https://img.shields.io/github/downloads/Installomator/Installomator/latest/total)&nbsp;![](https://img.shields.io/badge/macOS-10.14%2B-success)&nbsp;![](https://img.shields.io/github/license/Installomator/Installomator)
This script is in the “we find it useful, it is working for us” stage.
@@ -12,13 +16,13 @@ We have put a lot of work into making it stable and safe, but we cannot - of cou
## Authors
Intallomator was original inspired by the download scripts from William Smith and Sander Schram, and created by:
Armin Briegel - @scriptingosx
Intallomator was originally inspired by the download scripts from William Smith and Sander Schram, and created by:
- [Armin Briegel - @scriptingosx](https://github.com/scriptingosx)
Later on a few more contributers came on the project:
Isaac Ordonez - @issacatmann
Søren Theilgaard - @Theile
Adam Codega - @acodega
Later on a few more members came on the project:
- Isaac Ordonez - @issacatmann
- [Søren Theilgaard - @Theile](https://github.com/Theile)
- [Adam Codega - @acodega](https://github.com/acodega)
And with numerous contributions from many others.
@@ -93,7 +97,7 @@ At some point, in 2018, Armin got frustrated at the number of scripts he was mai
So Armin made the version for Jamf Pro but universally for any MDM to adopt.
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on. the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
Søren looked at this, and wanted this approach to work in Mosyle and Addigy, and for these solutions we need Installomator to be locally installed on the Mac, and then the MDM can call this script from their scripts features. For some time Søren had a version of Installomator that was supplied with a notarized pkg, so it could be deployed as part of DEP or however was needed.
This has now been merged into Installomator, and with contributions of Isaac and Adam, new features and labels have been added more frequently.

View File

@@ -3,28 +3,29 @@ autoload is-at-least
installedOSversion=$(sw_vers -productVersion)
if ! is-at-least 10.14 $installedOSversion; then
printlog "Installomator requires at least macOS 10.14 Mojave."
printlog "Installomator requires at least macOS 10.14 Mojave." ERROR
exit 98
fi
# MARK: argument parsing
if [[ $# -eq 0 ]]; then
if [[ -z $label ]]; then # check if label is set inside script
printlog "no label provided, printing labels"
printlog "no label provided, printing labels" REQ
grep -E '^[a-z0-9\_-]*(\)|\|\\)$' "$0" | tr -d ')|\' | grep -v -E '^(broken.*|longversion|version|valuesfromarguments)$' | sort
#grep -E '^[a-z0-9\_-]*(\)|\|\\)$' "${labelFile}" | tr -d ')|\' | grep -v -E '^(broken.*|longversion|version|valuesfromarguments)$' | sort
exit 0
fi
elif [[ $1 == "/" ]]; then
# jamf uses sends '/' as the first argument
printlog "shifting arguments for Jamf"
printlog "shifting arguments for Jamf" REQ
shift 3
fi
while [[ -n $1 ]]; do
if [[ $1 =~ ".*\=.*" ]]; then
# if an argument contains an = character, send it to eval
printlog "setting variable from argument $1"
printlog "setting variable from argument $1" INFO
eval $1
else
# assume it's a label
@@ -96,31 +97,41 @@ currentUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ { print
# MARK: check for root
if [[ "$(whoami)" != "root" && "$DEBUG" -eq 0 ]]; then
# not running as root
cleanupAndExit 6 "not running as root, exiting"
cleanupAndExit 6 "not running as root, exiting" ERROR
fi
# check Swift Dialog presence and version
DIALOG_CMD="/usr/local/bin/dialog"
if [[ ! -x $DIALOG_CMD ]]; then
# Swift Dialog is not installed, clear cmd file variable to ignore
printlog "SwiftDialog is not installed, clear cmd file var"
DIALOG_CMD_FILE=""
fi
# MARK: labels in case statement
case $label in
longversion)
# print the script version
printlog "Installomater: version $VERSION ($VERSIONDATE)"
printlog "Installomater: version $VERSION ($VERSIONDATE)" REQ
exit 0
;;
valuesfromarguments)
if [[ -z $name ]]; then
printlog "need to provide 'name'"
printlog "need to provide 'name'" ERROR
exit 1
fi
if [[ -z $type ]]; then
printlog "need to provide 'type'"
printlog "need to provide 'type'" ERROR
exit 1
fi
if [[ -z $downloadURL ]]; then
printlog "need to provide 'downloadURL'"
printlog "need to provide 'downloadURL'" ERROR
exit 1
fi
if [[ -z $expectedTeamID ]]; then
printlog "need to provide 'expectedTeamID'"
printlog "need to provide 'expectedTeamID'" ERROR
exit 1
fi
;;

View File

@@ -1,6 +1,7 @@
wickrme)
# credit: Søren Theilgaard (@theilgaard)
# Label not working, haven't found a solution
name="WickrMe"
printlog "Label for $name broken in test" WARN
type="dmg"
downloadURL=$( curl -fs https://me-download.wickr.com/api/download/me/download/mac | tr '"' '\n' | grep -e '^https://' )
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )

View File

@@ -1,6 +1,7 @@
wickrpro)
# credit: Søren Theilgaard (@theilgaard)
# Label not working, haven't found a solution
name="WickrPro"
printlog "Label for $name broken in test" WARN
type="dmg"
downloadURL=$( curl -fs https://me-download.wickr.com/api/download/pro/download/mac | tr '"' '\n' | grep -e '^https://' )
appNewVersion=$( echo ${downloadURL} | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g' )

View File

@@ -14,13 +14,18 @@ cleanupAndExit() { # $1 = exit code, $2 message, $3 level
printlog "Debugging enabled, Deleting tmpDir output was:\n$deleteTmpOut" DEBUG
fi
# If we closed any processes, reopen the app again
reopenClosedProcess
if [[ -n $2 && $1 -ne 0 ]]; then
printlog "ERROR: $2" $3
updateDialog "fail" "Error ($1; $2)"
else
printlog "$2" $3
updateDialog "success" ""
fi
printlog "################## End Installomator, exit code $1 \n\n" REQ
printlog "################## End Installomator, exit code $1 \n" REQ
# if label is wrong and we wanted name of the label, then return ##################
if [[ $RETURN_LABEL_NAME -eq 1 ]]; then
1=0 # If only label name should be returned we exit without any errors
@@ -59,9 +64,12 @@ displaynotification() { # $1: message $2: title
message=${1:-"Message"}
title=${2:-"Notification"}
manageaction="/Library/Application Support/JAMF/bin/Management Action.app/Contents/MacOS/Management Action"
hubcli="/usr/local/bin/hubcli"
if [[ -x "$manageaction" ]]; then
"$manageaction" -message "$message" -title "$title"
elif [[ -x "$hubcli" ]]; then
"$hubcli" notify -t "$title" -i "$message" -c "Dismiss"
else
runAsUser osascript -e "display notification \"$message\" with title \"$title\""
fi
@@ -97,7 +105,7 @@ printlog(){
curl -s -X POST https://http-intake.logs.datadoghq.com/v1/input -H "Content-Type: text/plain" -H "DD-API-KEY: $datadogAPI" -d "${log_priority} : $mdmURL : Installomator-${label} : ${VERSIONDATE//-/} : $SESSION : ${logmessage}" > /dev/null
done <<< "$log_message"
fi
# Extra spaces
space_char=""
if [[ ${#log_priority} -eq 3 ]]; then
@@ -154,14 +162,22 @@ downloadURLFromGit() { # $1 git user name, $2 git repo name
fi
if [ -n "$archiveName" ]; then
downloadURL=$(curl --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \
| awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }")
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$archiveName\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*$archiveName")" == "" ]]; then
printlog "GitHub API not returning URL, trying https://github.com/$gitusername/$gitreponame/releases/latest."
#downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*$archiveName" | head -1)"
fi
else
downloadURL=$(curl --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" \
| awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
downloadURL=$(curl -sfL "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | awk -F '"' "/browser_download_url/ && /$filetype\"/ { print \$4; exit }")
if [[ "$(echo $downloadURL | grep -ioE "https.*.$filetype")" == "" ]]; then
printlog "GitHub API not returning URL, trying https://github.com/$gitusername/$gitreponame/releases/latest."
#downloadURL=https://github.com$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)
downloadURL="https://github.com$(curl -sfL "$(curl -sfL "https://github.com/$gitusername/$gitreponame/releases/latest" | tr '"' "\n" | grep -i "expanded_assets" | head -1)" | tr '"' "\n" | grep -i "^/.*\/releases\/download\/.*\.$filetype" | head -1)"
fi
fi
if [ -z "$downloadURL" ]; then
cleanupAndExit 9 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
cleanupAndExit 14 "could not retrieve download URL for $gitusername/$gitreponame" ERROR
else
echo "$downloadURL"
return 0
@@ -174,9 +190,10 @@ versionFromGit() {
gitusername=${1?:"no git user name"}
gitreponame=${2?:"no git repo name"}
appNewVersion=$(curl --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g')
#appNewVersion=$(curl -L --silent --fail "https://api.github.com/repos/$gitusername/$gitreponame/releases/latest" | grep tag_name | cut -d '"' -f 4 | sed 's/[^0-9\.]//g')
appNewVersion=$(curl -sLI "https://github.com/$gitusername/$gitreponame/releases/latest" | grep -i "^location" | tr "/" "\n" | tail -1 | sed 's/[^0-9\.]//g')
if [ -z "$appNewVersion" ]; then
printlog "could not retrieve version number for $gitusername/$gitreponame"
printlog "could not retrieve version number for $gitusername/$gitreponame" WARN
appNewVersion=""
else
echo "$appNewVersion"
@@ -197,6 +214,16 @@ xpath() {
fi
}
# from @Pico: https://macadmins.slack.com/archives/CGXNNJXJ9/p1652222365989229?thread_ts=1651786411.413349&cid=CGXNNJXJ9
getJSONValue() {
# $1: JSON string OR file path to parse (tested to work with up to 1GB string and 2GB file).
# $2: JSON key path to look up (using dot or bracket notation).
printf '%s' "$1" | /usr/bin/osascript -l 'JavaScript' \
-e "let json = $.NSString.alloc.initWithDataEncoding($.NSFileHandle.fileHandleWithStandardInput.readDataToEndOfFile$(/usr/bin/uname -r | /usr/bin/awk -F '.' '($1 > 18) { print "AndReturnError(ObjC.wrap())" }'), $.NSUTF8StringEncoding)" \
-e 'if ($.NSFileManager.defaultManager.fileExistsAtPath(json)) json = $.NSString.stringWithContentsOfFileEncodingError(json, $.NSUTF8StringEncoding, ObjC.wrap())' \
-e "const value = JSON.parse(json.js)$([ -n "${2%%[.[]*}" ] && echo '.')$2" \
-e 'if (typeof value === "object") { JSON.stringify(value, null, 4) } else { value }'
}
getAppVersion() {
# modified by: Søren Theilgaard (@theilgaard) and Isaac Ordonez
@@ -220,19 +247,34 @@ getAppVersion() {
fi
fi
# get app in /Applications, or /Applications/Utilities, or find using Spotlight
if [[ -d "/Applications/$appName" ]]; then
# get app in targetDir, /Applications, or /Applications/Utilities
if [[ -d "$targetDir/$appName" ]]; then
applist="$targetDir/$appName"
elif [[ -d "/Applications/$appName" ]]; then
applist="/Applications/$appName"
# if [[ $type =~ '^(dmg|zip|tbz|app.*)$' ]]; then
# targetDir="/Applications"
# fi
elif [[ -d "/Applications/Utilities/$appName" ]]; then
applist="/Applications/Utilities/$appName"
# if [[ $type =~ '^(dmg|zip|tbz|app.*)$' ]]; then
# targetDir="/Applications/Utilities"
# fi
else
applist=$(mdfind "kind:application $appName" -0 )
# applist=$(mdfind "kind:application $appName" -0 )
printlog "name: $name, appName: $appName"
applist=$(mdfind "kind:application AND name:$name" -0 )
# printlog "App(s) found: ${applist}" DEBUG
# applist=$(mdfind "kind:application AND name:$appName" -0 )
fi
if [[ -z applist ]]; then
printlog "No previous app found" DEBUG
if [[ -z $applist ]]; then
printlog "No previous app found" WARN
else
printlog "App(s) found: ${applist}" DEBUG
printlog "App(s) found: ${applist}" INFO
fi
# if [[ $type =~ '^(dmg|zip|tbz|app.*)$' ]]; then
# printlog "targetDir for installation: $targetDir" INFO
# fi
appPathArray=( ${(0)applist} )
@@ -248,17 +290,21 @@ getAppVersion() {
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"
printlog "Replacing App Store apps, no matter the version" WARN
appversion=0
else
cleanupAndExit 1 "App previously installed from App Store, and we respect that" ERROR
if [[ $DIALOG_CMD_FILE != "" ]]; then
updateDialog "wait" "Already installed from App Store. Not replaced."
sleep 4
fi
cleanupAndExit 23 "App previously installed from App Store, and we respect that" ERROR
fi
fi
else
printlog "could not determine location of $appName"
printlog "could not determine location of $appName" WARN
fi
else
printlog "could not find $appName"
printlog "could not find $appName" WARN
fi
}
@@ -385,7 +431,7 @@ reopenClosedProcess() {
processuser=$(ps aux | grep -i "${appName}" | grep -vi "grep" | awk '{print $1}')
printlog "Reopened ${appName} as $processuser"
else
printlog "App not closed, so no reopen." DEBUG
printlog "App not closed, so no reopen." INFO
fi
}
@@ -395,11 +441,12 @@ installAppWithPath() { # $1: path to app to install in $targetDir
# check if app exists
if [ ! -e "$appPath" ]; then
cleanupAndExit 8 "could not find: $appPath" DEBUG
cleanupAndExit 8 "could not find: $appPath" ERROR
fi
# verify with spctl
printlog "Verifying: $appPath" INFO
updateDialog "wait" "Verifying..."
printlog "App size: $(du -sh "$appPath")" DEBUG
appVerify=$(spctl -a -vv "$appPath" 2>&1 )
appVerifyStatus=$(echo $?)
@@ -427,10 +474,16 @@ installAppWithPath() { # $1: path to app to install in $targetDir
printlog "notifying"
displaynotification "$message" "No update for $name!"
fi
cleanupAndExit 0 "No new version to install" INFO
if [[ $DIALOG_CMD_FILE != "" ]]; then
updateDialog "wait" "Latest version already installed..."
sleep 2
fi
cleanupAndExit 0 "No new version to install" REG
else
printlog "Using force to install anyway."
fi
elif [[ -z $appversion ]]; then
printlog "Installing $name version $appNewVersion on versionKey $versionKey."
else
printlog "Downloaded version of $name is $appNewVersion on versionKey $versionKey (replacing version $appversion)."
fi
@@ -446,7 +499,7 @@ installAppWithPath() { # $1: path to app to install in $targetDir
printlog "notifying"
displaynotification "$message" "Error updating $name!"
fi
cleanupAndExit 6 "Installed macOS is too old for this app." INFO
cleanupAndExit 15 "Installed macOS is too old for this app." ERROR
fi
fi
@@ -467,7 +520,7 @@ installAppWithPath() { # $1: path to app to install in $targetDir
# remove existing application
if [ -e "$targetDir/$appName" ]; then
printlog "Removing existing $targetDir/$appName" DEBUG
printlog "Removing existing $targetDir/$appName" WARN
deleteAppOut=$(rm -Rfv "$targetDir/$appName" 2>&1)
tempName="$targetDir/$appName"
tempNameLength=$((${#tempName} + 10))
@@ -478,16 +531,21 @@ installAppWithPath() { # $1: path to app to install in $targetDir
# copy app to /Applications
printlog "Copy $appPath to $targetDir"
if ! ditto "$appPath" "$targetDir/$appName"; then
cleanupAndExit 7 "Error while copying" ERROR
copyAppOut=$(ditto -v "$appPath" "$targetDir/$appName" 2>&1)
copyAppStatus=$(echo $?)
deduplicatelogs "$copyAppOut"
printlog "Debugging enabled, App copy output was:\n$logoutput" DEBUG
if [[ $copyAppStatus -ne 0 ]] ; then
#if ! ditto "$appPath" "$targetDir/$appName"; then
cleanupAndExit 7 "Error while copying:\n$logoutput" ERROR
fi
# set ownership to current user
if [[ "$currentUser" != "loginwindow" && $SYSTEMOWNER -ne 1 ]]; then
printlog "Changing owner to $currentUser"
printlog "Changing owner to $currentUser" WARN
chown -R "$currentUser" "$targetDir/$appName"
else
printlog "No user logged in or SYSTEMOWNER=1, setting owner to root:wheel"
printlog "No user logged in or SYSTEMOWNER=1, setting owner to root:wheel" WARN
chown -R root:wheel "$targetDir/$appName"
fi
@@ -500,7 +558,7 @@ installAppWithPath() { # $1: path to app to install in $targetDir
deduplicatelogs "$CLIoutput"
if [ $CLIstatus -ne 0 ] ; then
cleanupAndExit 3 "Error installing $mountname/$CLIInstaller $CLIArguments error:\n$logoutput" ERROR
cleanupAndExit 16 "Error installing $mountname/$CLIInstaller $CLIArguments error:\n$logoutput" ERROR
else
printlog "Succesfully ran $mountname/$CLIInstaller $CLIArguments" INFO
fi
@@ -517,7 +575,7 @@ mountDMG() {
dmgmountStatus=$(echo $?)
dmgmount=$(echo $dmgmountOut | tail -n 1 | cut -c 54- )
deduplicatelogs "$dmgmountOut"
if [[ $dmgmountStatus -ne 0 ]] ; then
#if ! dmgmount=$(echo 'Y'$'\n' | hdiutil attach "$tmpDir/$archiveName" -nobrowse -readonly | tail -n 1 | cut -c 54- ); then
cleanupAndExit 3 "Error mounting $tmpDir/$archiveName error:\n$logoutput" ERROR
@@ -526,7 +584,7 @@ mountDMG() {
cleanupAndExit 3 "Error accessing mountpoint for $tmpDir/$archiveName error:\n$logoutput" ERROR
fi
printlog "Debugging enabled, dmgmount output was:\n$logoutput" DEBUG
printlog "Mounted: $dmgmount" INFO
}
@@ -538,12 +596,13 @@ installFromDMG() {
installFromPKG() {
# verify with spctl
printlog "Verifying: $archiveName"
updateDialog "wait" "Verifying..."
printlog "File list: $(ls -lh "$archiveName")" DEBUG
printlog "File type: $(file "$archiveName")" DEBUG
spctlOut=$(spctl -a -vv -t install "$archiveName" 2>&1 )
spctlStatus=$(echo $?)
printlog "spctlOut is $spctlOut" DEBUG
teamID=$(echo $spctlOut | awk -F '(' '/origin=/ {print $2 }' | tr -d '()' )
# Apple signed software has no teamID, grab entire origin instead
if [[ -z $teamID ]]; then
@@ -551,7 +610,7 @@ installFromPKG() {
fi
deduplicatelogs "$spctlOut"
if [[ $spctlStatus -ne 0 ]] ; then
#if ! spctlout=$(spctl -a -vv -t install "$archiveName" 2>&1 ); then
cleanupAndExit 4 "Error verifying $archiveName error:\n$logoutput" ERROR
@@ -585,7 +644,11 @@ installFromPKG() {
printlog "notifying"
displaynotification "$message" "No update for $name!"
fi
cleanupAndExit 0 "No new version to install" INFO
if [[ $DIALOG_CMD_FILE != "" ]]; then
updateDialog "wait" "Latest version already installed..."
sleep 2
fi
cleanupAndExit 0 "No new version to install" REQ
else
printlog "Using force to install anyway."
fi
@@ -605,8 +668,29 @@ installFromPKG() {
# install pkg
printlog "Installing $archiveName to $targetDir"
pkgInstall=$(installer -verbose -dumplog -pkg "$archiveName" -tgt "$targetDir" 2>&1)
pkgInstallStatus=$(echo $?)
if [[ $DIALOG_CMD_FILE != "" ]]; then
# pipe
pipe="$tmpDir/installpipe"
# initialise named pipe for installer output
initNamedPipe create $pipe
# run the pipe read in the background
readPKGInstallPipe $pipe "$DIALOG_CMD_FILE" & installPipePID=$!
printlog "listening to output of installer with pipe $pipe and command file $DIALOG_CMD_FILE on PID $installPipePID" DEBUG
pkgInstall=$(installer -verboseR -pkg "$archiveName" -tgt "$targetDir" 2>&1 | tee $pipe)
pkgInstallStatus=$pipestatus[1]
# because we are tee-ing the output, we want the pipe status of the first command in the chain, not the most recent one
killProcess $installPipePID
else
pkgInstall=$(installer -verbose -dumplog -pkg "$archiveName" -tgt "$targetDir" 2>&1)
pkgInstallStatus=$(echo $?)
fi
sleep 1
pkgEndTime=$(date "+$LogDateFormat")
pkgInstall+=$(echo "\nOutput of /var/log/install.log below this line.\n")
@@ -659,27 +743,28 @@ installPkgInDmg() {
if [[ -z $pkgName ]]; then
# find first file ending with 'pkg'
findfiles=$(find "$dmgmount" -iname "*.pkg" -type f -maxdepth 1 )
printlog "Found pkg(s):\n$findfiles" DEBUG
filearray=( ${(f)findfiles} )
if [[ ${#filearray} -eq 0 ]]; then
cleanupAndExit 20 "couldn't find pkg in dmg $archiveName" ERROR
fi
archiveName="${filearray[1]}"
printlog "found pkg: $archiveName"
else
if ls "$tmpDir/$pkgName" ; then
archiveName="$tmpDir/$pkgName"
if [[ -s "$dmgmount/$pkgName" ]] ; then # was: $tmpDir
archiveName="$dmgmount/$pkgName"
else
# try searching for pkg
findfiles=$(find "$tmpDir" -iname "$pkgName")
findfiles=$(find "$dmgmount" -iname "$pkgName") # was: $tmpDir
printlog "Found pkg(s):\n$findfiles" DEBUG
filearray=( ${(f)findfiles} )
if [[ ${#filearray} -eq 0 ]]; then
cleanupAndExit 20 "couldn't find pkg “$pkgName” in zip $archiveName" ERROR
cleanupAndExit 20 "couldn't find pkg “$pkgName” in dmg $archiveName" ERROR
fi
# it is now safe to overwrite archiveName for installFromPKG
archiveName="${filearray[1]}"
printlog "found pkg: $archiveName"
fi
fi
printlog "found pkg: $archiveName"
# installFromPkgs
installFromPKG
@@ -694,9 +779,10 @@ installPkgInZip() {
if [[ -z $pkgName ]]; then
# find first file ending with 'pkg'
findfiles=$(find "$tmpDir" -iname "*.pkg" -type f -maxdepth 2 )
printlog "Found pkg(s):\n$findfiles" DEBUG
filearray=( ${(f)findfiles} )
if [[ ${#filearray} -eq 0 ]]; then
cleanupAndExit 20 "couldn't find pkg in zip $archiveName" ERROR
cleanupAndExit 21 "couldn't find pkg in zip $archiveName" ERROR
fi
# it is now safe to overwrite archiveName for installFromPKG
archiveName="${filearray[1]}"
@@ -709,7 +795,7 @@ installPkgInZip() {
findfiles=$(find "$tmpDir" -iname "$pkgName")
filearray=( ${(f)findfiles} )
if [[ ${#filearray} -eq 0 ]]; then
cleanupAndExit 20 "couldn't find pkg “$pkgName” in zip $archiveName" ERROR
cleanupAndExit 21 "couldn't find pkg “$pkgName” in zip $archiveName" ERROR
fi
# it is now safe to overwrite archiveName for installFromPKG
archiveName="${filearray[1]}"
@@ -732,7 +818,7 @@ installAppInDmgInZip() {
findfiles=$(find "$tmpDir" -iname "*.dmg" -maxdepth 2 )
filearray=( ${(f)findfiles} )
if [[ ${#filearray} -eq 0 ]]; then
cleanupAndExit 20 "couldn't find dmg in zip $archiveName" ERROR
cleanupAndExit 22 "couldn't find dmg in zip $archiveName" ERROR
fi
archiveName="$(basename ${filearray[1]})"
# it is now safe to overwrite archiveName for installFromDMG
@@ -770,13 +856,13 @@ runUpdateTool() {
printlog "Error running $updateTool, Procceding with normal installation. Exit Status: $updateStatus Error:\n$logoutput" WARN
return 1
if [[ $type == updateronly ]]; then
cleanupAndExit 77 "No Download URL Set, this is an update only application and the updater failed" WARN
cleanupAndExit 77 "No Download URL Set, this is an update only application and the updater failed" ERROR
fi
elif [[ $updateStatus -eq 0 ]]; then
printlog "Debugging enabled, update tool output was:\n$logoutput" DEBUG
fi
else
printlog "couldn't find $updateTool, continuing normally"
printlog "couldn't find $updateTool, continuing normally" WARN
return 1
fi
return 0
@@ -784,7 +870,8 @@ runUpdateTool() {
finishing() {
printlog "Finishing..."
sleep 10 # wait a moment to let spotlight catch up
sleep 3 # wait a moment to let spotlight catch up
getAppVersion
if [[ -z $appversion ]]; then
@@ -793,7 +880,7 @@ finishing() {
message="Installed $name, version $appversion"
fi
printlog "$message"
printlog "$message" REQ
if [[ $currentUser != "loginwindow" && ( $NOTIFY == "success" || $NOTIFY == "all" ) ]]; then
printlog "notifying"
@@ -832,3 +919,113 @@ hasDisplaySleepAssertion() {
return 1
}
initNamedPipe() {
# create or delete a named pipe
# commands are "create" or "delete"
local cmd=$1
local pipe=$2
case $cmd in
"create")
if [[ -e $pipe ]]; then
rm $pipe
fi
# make named pipe
mkfifo -m 644 $pipe
;;
"delete")
# clean up
rm $pipe
;;
*)
;;
esac
}
readDownloadPipe() {
# reads from a previously created named pipe
# output from curl with --progress-bar. % downloaded is read in and then sent to the specified log file
local pipe=$1
local log=${2:-$DIALOG_CMD_FILE}
# set up read from pipe
while IFS= read -k 1 -u 0 char; do
if [[ $char =~ [0-9] ]]; then
keep=1
fi
if [[ $char == % ]]; then
updateDialog $progress "Downloading..."
progress=""
keep=0
fi
if [[ $keep == 1 ]]; then
progress="$progress$char"
fi
done < $pipe
}
readPKGInstallPipe() {
# reads from a previously created named pipe
# output from installer with -verboseR. % install status is read in and then sent to the specified log file
local pipe=$1
local log=${2:-$DIALOG_CMD_FILE}
local appname=${3:-$name}
while read -k 1 -u 0 char; do
if [[ $char == % ]]; then
keep=1
fi
if [[ $char =~ [0-9] && $keep == 1 ]]; then
progress="$progress$char"
fi
if [[ $char == . && $keep == 1 ]]; then
updateDialog $progress "Installing..."
progress=""
keep=0
fi
done < $pipe
}
killProcess() {
# will silently kill the specified PID
builtin kill $1 2>/dev/null
}
updateDialog() {
local state=$1
local message=$2
local listitem=${3:-$DIALOG_LIST_ITEM_NAME}
local cmd_file=${4:-$DIALOG_CMD_FILE}
local progress=""
if [[ $state =~ '^[0-9]' \
|| $state == "reset" \
|| $state == "increment" \
|| $state == "complete" \
|| $state == "indeterminate" ]]; then
progress=$state
fi
# when to cmdfile is set, do nothing
if [[ $cmd_file == "" ]]; then
return
fi
if [[ $listitem == "" ]]; then
# no listitem set, update main progress bar and progress text
if [[ $progress != "" ]]; then
echo "progress: $progress" >> $cmd_file
fi
if [[ $message != "" ]]; then
echo "progresstext: $message" >> $cmd_file
fi
else
# list item has a value, so we update the progress and text in the list
if [[ $progress != "" ]]; then
echo "listitem: title: $listitem, statustext: $message, progress: $progress" >> $cmd_file
else
echo "listitem: title: $listitem, statustext: $message, status: $state" >> $cmd_file
fi
fi
}

View File

@@ -7,7 +7,7 @@ label="" # if no label is sent to the script, this will be used
# 2020-2021 Installomator
#
# inspired by the download scripts from William Smith and Sander Schram
#
#
# Contributers:
# Armin Briegel - @scriptingosx
# Isaac Ordonez - @issacatmann
@@ -23,7 +23,7 @@ export PATH=/usr/bin:/bin:/usr/sbin:/sbin
# set to 0 for production, 1 or 2 for debugging
# while debugging, items will be downloaded to the parent directory of this script
# also no actual installation will be performed
# debug mode 1 will download to the directory the script is run in, but will not check the version
# debug mode 1 will download to the directory the script is run in, but will not check the version
# debug mode 2 will download to the temp directory, check for blocking processes, check the version, but will not install anything or remove the current version
DEBUG=1
@@ -34,7 +34,6 @@ NOTIFY=success
# - silent no notifications
# - all all notifications (great for Self Service installation)
# behavior when blocking processes are found
BLOCKING_PROCESS_ACTION=tell_user
# options:
@@ -80,6 +79,8 @@ LOGO=appstore
# - mosyleb Mosyle Business
# - mosylem Mosyle Manager (Education)
# - addigy Addigy
# - microsoft Microsoft Endpoint Manager (Intune)
# - ws1 Workspace ONE (AirWatch)
# 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 have to be escaped).
@@ -138,6 +139,26 @@ IGNORE_DND_APPS=""
# IGNORE_DND_APPS="firefox,Google Chrome,Safari,Microsoft Edge,Opera,Amphetamine,caffeinate"
# Swift Dialog integration
# These variables will allow Installomator to communicate progress with Swift Dialog
# https://github.com/bartreardon/swiftDialog
# This requires Swift Dialog 2.11.2 or higher.
DIALOG_CMD_FILE=""
# When this variable is set, Installomator will write Swift Dialog commands to this path.
# Installomator will not launch Swift Dialog. The process calling Installomator will have
# launch and configure Swift Dialog to listen to this file.
# See `MDM/swiftdialog_example.sh` for an example.
DIALOG_LIST_ITEM_NAME=""
# When this variable is set, progress for downloads and installs will be sent to this
# listitem.
# When the variable is unset, progress will be sent to Swift Dialog's main progress bar.
# NOTE: How labels work
# Each workflow label needs to be listed in the case statement below.
@@ -183,7 +204,7 @@ IGNORE_DND_APPS=""
# How we get version number from app. Possible values:
# - CFBundleShortVersionString
# - CFBundleVersion
# Not all software titles uses fields the same.
# Not all software titles uses fields the same.
# See Opera label.
#
# - appCustomVersion(){}: (optional function)
@@ -237,7 +258,7 @@ IGNORE_DND_APPS=""
# - updateToolArguments:
# When Installomator detects an existing installation of the application,
# and the updateTool variable is set
# $updateTool $updateArguments
# $updateTool $updateArguments
# Will be run instead of of downloading and installing a complete new version.
# Use this when the updateTool does differential and optimized downloads.
# e.g. msupdate on various Microsoft labels
@@ -252,7 +273,7 @@ IGNORE_DND_APPS=""
# We need to define `name` for the installed app (to be version checked), as well as
# `installerTool` for the installer app (if named differently than `name`. Installomator
# will add the path to the folder/disk image with the binary, and it will be called like this:
`$CLIInstaller $CLIArguments`
# $CLIInstaller $CLIArguments
# For most installations `CLIInstaller` should contain the `installerTool` for the CLI call
# (if its the same).
# We can support a whole range of other software titles by implementing this.

View File

@@ -0,0 +1,15 @@
1password8)
name="1Password 8"
appName="1Password.app"
type="zip"
if [[ $(arch) == "arm64" ]]; then
archiveName="1Password-latest-aarch64.zip"
downloadURL="https://downloads.1password.com/mac/1Password-latest-aarch64.zip"
elif [[ $(arch) == "i386" ]]; then
archiveName="1Password-latest-x86_64.zip"
downloadURL="https://downloads.1password.com/mac/1Password-latest-x86_64.zip"
fi
expectedTeamID="2BUA8C4S2C"
blockingProcesses=( "1Password Extension Helper" "1Password 7" "1Password" "1Password (Safari)" "1PasswordNativeMessageHost" "1PasswordSafariAppExtension" )
#forcefulQuit=YES
;;

View File

@@ -0,0 +1,9 @@
1passwordcli)
name="1Password CLI"
type="pkg"
#packageID="com.1password.op"
downloadURL=$(curl -fs https://app-updates.agilebits.com/product_history/CLI | grep -m 1 -i op_apple_universal | cut -d'"' -f 2)
appNewVersion=$(echo $downloadURL | sed -E 's/.*\/[a-zA-Z_]*([0-9.]*)\..*/\1/g')
appCustomVersion(){ /usr/local/bin/op -v }
expectedTeamID="2BUA8C4S2C"
;;

View File

@@ -0,0 +1,7 @@
abetterfinderrename11)
name="A Better Finder Rename 11"
type="dmg"
downloadURL="https://www.publicspace.net/download/ABFRX11.dmg"
appNewVersion=$(curl -fs "https://www.publicspace.net/app/signed_abfr11.xml" | xpath '(//rss/channel/item/enclosure/@sparkle:version)' 2>/dev/null | cut -d '"' -f 2)
expectedTeamID="7Y9KW4ND8W"
;;

View File

@@ -0,0 +1,9 @@
acroniscyberprotectconnect|\
remotix)
name="Acronis Cyber Protect Connect"
type="dmg"
downloadURL="https://go.acronis.com/AcronisCyberProtectConnect_ForMac"
versionKey="CFBundleVersion"
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.dmg/\1/g')
expectedTeamID="ZU2TV78AA6"
;;

View File

@@ -0,0 +1,11 @@
acroniscyberprotectconnectagent|\
remotixagent)
name="Acronis Cyber Protect Connect Agent"
type="pkg"
#packageID="com.nulana.rxagentmac"
downloadURL="https://go.acronis.com/AcronisCyberProtectConnect_AgentForMac"
versionKey="CFBundleVersion"
appNewVersion=$(curl -fsIL "${downloadURL}" | grep -i "^location" | sed -E 's/.*\/[a-zA-Z]*-[0-9.]*-([0-9.]*)\.pkg/\1/g')
expectedTeamID="H629V387SY"
blockingProcesses=( NONE )
;;

View File

@@ -0,0 +1,8 @@
adobeacrobatprodc)
name="Adobe Acrobat Pro DC"
type="pkgInDmg"
downloadURL="https://trials.adobe.com/AdobeProducts/APRO/Acrobat_HelpX/osx10/Acrobat_DC_Web_WWMUI.dmg"
expectedTeamID="JQ525L2MZD"
blockingProcesses=( "Acrobat Pro DC" )
Company="Adobe"
;;

View File

@@ -1,17 +1,24 @@
adobecreativeclouddesktop)
name="Adobe Creative Cloud"
#appName="Install.app"
appName="Install.app"
type="dmg"
if [[ $(arch) == "arm64" ]]; then
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*macarm64.*dmg" | cut -d '"' -f1 | head -1)
elif [[ $(arch) == "i386" ]]; then
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*osx10.*dmg" | cut -d '"' -f1 | head -1)
if pgrep -q "Adobe Installer"; then
printlog "Adobe Installer is running, not a good time to update." WARN
printlog "################## End $APPLICATION \n\n" INFO
exit 75
fi
#downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o "https*.*dmg" | head -1)
appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2)
if [[ "$(arch)" == "arm64" ]]; then
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*macarm64.*dmg' | head -1 | cut -d '"' -f1)
else
downloadURL=$(curl -fs "https://helpx.adobe.com/download-install/kb/creative-cloud-desktop-app-download.html" | grep -o 'https.*osx10.*dmg' | head -1 | cut -d '"' -f1)
fi
#appNewVersion=$(curl -fs "https://helpx.adobe.com/creative-cloud/release-note/cc-release-notes.html" | grep "mandatory" | head -1 | grep -o "Version *.* released" | cut -d " " -f2)
appNewVersion=$(echo $downloadURL | grep -o '[^x]*$' | cut -d '.' -f 1 | sed 's/_/\./g')
targetDir="/Applications/Utilities/Adobe Creative Cloud/ACC/"
installerTool="Install.app"
CLIInstaller="Install.app/Contents/MacOS/Install"
CLIArguments=(--mode=silent)
expectedTeamID="JQ525L2MZD"
blockingProcesses=( "Creative Cloud" )
Company="Adobe"
;;

View File

@@ -0,0 +1,27 @@
adobereaderdc-install)
name="Adobe Acrobat Reader DC"
type="pkgInDmg"
printlog "Changing IFS for Adobe Reader" INFO
SAVEIFS=$IFS
IFS=$'\n'
versions=( $( curl -s https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/index.html | grep -Eo "[0-9]+\.[0-9]+\.[0-9]+"| head -n 30) )
local version
for version in $versions; do
version="${version//.}"
printlog "trying version: $version" INFO
local httpstatus=$(curl -X HEAD -s "https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg" --write-out "%{http_code}")
printlog "HTTP status for Adobe Reader full installer URL https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg is $httpstatus" DEBUG
if [[ "${httpstatus}" == "200" ]]; then
downloadURL="https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/${version}/AcroRdrDC_${version}_MUI.dmg"
unset httpstatus
break
fi
done
unset version
IFS=$SAVEIFS
appNewVersion=$i
expectedTeamID="JQ525L2MZD"
blockingProcesses=( "AdobeReader" )
Company="Adobe"
PatchName="AcrobatReader"
;;

View File

@@ -1,9 +1,44 @@
adobereaderdc-update)
name="Adobe Acrobat Reader DC"
type="pkgInDmg"
downloadURL=$(adobecurrent=`curl --fail --silent https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.'` && echo http://ardownload.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDCUpd"$adobecurrent"_MUI.dmg)
if [[ -d "/Applications/Adobe Acrobat Reader DC.app" ]]; then
printlog "Found /Applications/Adobe Acrobat Reader DC.app"
mkdir -p "/Library/Application Support/Adobe/Acrobat/11.0"
defaults write "/Library/Application Support/Adobe/Acrobat/11.0/com.adobe.Acrobat.InstallerOverrides.plist" ReaderAppPath "/Applications/Adobe Acrobat Reader DC.app"
if ! defaults read "/Applications/Adobe Acrobat Reader DC.app/Contents/Resources/AcroLocale.plist" ; then
printlog "Missing locale data, this will cause the updater to fail. Deleting Adobe Acrobat Reader DC.app and installing fresh." WARN
rm -Rf "/Applications/Adobe Acrobat Reader DC.app"
if [[ $1 == "/" ]]; then
printlog "Running through Jamf: $0." INFO
$0 $1 $2 $3 adobereaderdc-install ${5} ${6} ${7} ${8} ${9} ${10} ${11}
else
printlog "Installomator running locally: $0." INFO
$0 adobereaderdc-install ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11}
fi
fi
fi
adobecurrent=$(curl -sL https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.')
if [[ "${adobecurrent}" != <-> ]]; then
printlog "Got an invalid response for the Adobe Reader Current Version: ${adobecurrent}" ERROR
printlog "################## End $APPLICATION \n\n" INFO
exit 50
fi
downloadURL=$(echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDCUpd"$adobecurrent"_MUI.dmg)
reader_preinstall() {
if pgrep -a "AdobeReader" >/dev/null 2>&1; then
printlog "AdobeReader is still running, forcefully killing." WARN
killall AdobeReader
fi
}
preinstall="reader_preinstall"
updateTool="/usr/local/bin/RemoteUpdateManager"
updateToolArguments=( --productVersions=RDR )
appNewVersion=$(curl -s https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt)
#appNewVersion=$(curl -s -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)" https://get.adobe.com/reader/ | grep ">Version" | sed -E 's/.*Version 20([0-9.]*)<.*/\1/g') # credit: Søren Theilgaard (@theilgaard)
updateToolLog="/Users/$currentUser/Library/Logs/RemoteUpdateManager.log"
updateToolLogDateFormat="%m/%d/%y %H:%M:%S"
expectedTeamID="JQ525L2MZD"
blockingProcesses=( "AdobeReader" )
Company=Adobe
PatchName=AcrobatReader
PatchSkip="YES"
;;

View File

@@ -3,7 +3,8 @@ adobereaderdc-install)
name="Adobe Acrobat Reader DC"
type="pkgInDmg"
packageID="com.adobe.acrobat.DC.reader.app.pkg.MUI"
downloadURL=$(curl --silent --fail -H "Sec-Fetch-Site: same-origin" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: en-US;q=0.9,en;q=0.8" -H "DNT: 1" -H "Sec-Fetch-Mode: cors" -H "X-Requested-With: XMLHttpRequest" -H "Referer: https://get.adobe.com/reader/enterprise/" -H "Accept: */*" "https://get.adobe.com/reader/webservices/json/standalone/?platform_type=Macintosh&platform_dist=OSX&platform_arch=x86-32&language=English&eventname=readerotherversions" | grep -Eo '"download_url":.*?[^\]",' | head -n 1 | cut -d \" -f 4)
#downloadURL=$(curl --silent --fail -H "Sec-Fetch-Site: same-origin" -H "Accept-Encoding: gzip, deflate, br" -H "Accept-Language: en-US;q=0.9,en;q=0.8" -H "DNT: 1" -H "Sec-Fetch-Mode: cors" -H "X-Requested-With: XMLHttpRequest" -H "Referer: https://get.adobe.com/reader/enterprise/" -H "Accept: */*" "https://get.adobe.com/reader/webservices/json/standalone/?platform_type=Macintosh&platform_dist=OSX&platform_arch=x86-32&language=English&eventname=readerotherversions" | grep -Eo '"download_url":.*?[^\]",' | head -n 1 | cut -d \" -f 4)
downloadURL=$(adobecurrent=`curl --fail --silent https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt | tr -d '.'` && echo https://ardownload2.adobe.com/pub/adobe/reader/mac/AcrobatDC/"$adobecurrent"/AcroRdrDC_"$adobecurrent"_MUI.dmg)
appNewVersion=$(curl -s https://armmf.adobe.com/arm-manifests/mac/AcrobatDC/reader/current_version.txt)
#appNewVersion=$(curl -s -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15)" https://get.adobe.com/reader/ | grep ">Version" | sed -E 's/.*Version 20([0-9.]*)<.*/\1/g') # credit: Søren Theilgaard (@theilgaard)
expectedTeamID="JQ525L2MZD"

View File

@@ -0,0 +1,12 @@
amazoncorretto8jdk)
name="Amazon Corretto 8 JDK"
type="pkg"
if [[ $(arch) == "arm64" ]]; then
downloadURL="https://corretto.aws/downloads/latest/amazon-corretto-8-aarch64-macos-jdk.pkg"
appNewVersion=$(curl -s https://raw.githubusercontent.com/corretto/corretto-8/develop/CHANGELOG.md | grep "## Corretto version" | head -n 1 | awk '{ print $4; exit}')
elif [[ $(arch) == "i386" ]]; then
downloadURL="https://corretto.aws/downloads/latest/amazon-corretto-8-x64-macos-jdk.pkg"
appNewVersion=$(curl -s https://raw.githubusercontent.com/corretto/corretto-8/develop/CHANGELOG.md | grep "## Corretto version" | head -n 1 | awk '{ print $4; exit}')
fi
expectedTeamID="94KV3E626L"
;;

View File

@@ -0,0 +1,13 @@
androidstudio)
name="Android Studio"
type="dmg"
if [[ $(arch) == arm64 ]]; then
downloadURL=$(curl -fsL "https://developer.android.com/studio#downloads" | grep -i arm.dmg | head -2 | grep -o -i -E "https.*" | cut -d '"' -f1)
appNewVersion=$( echo "${downloadURL}" | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*$/\1/' )
elif [[ $(arch) == i386 ]]; then
downloadURL=$(curl -fsL "https://developer.android.com/studio#downloads" | grep -i mac.dmg | head -2 | grep -o -i -E "https.*" | cut -d '"' -f1)
appNewVersion=$( echo "${downloadURL}" | head -1 | sed 's/^.*[^0-9]\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*$/\1/' )
fi
expectedTeamID="EQHXZ8M8AV"
blockingProcesses=( androidstudio )
;;

View File

@@ -1,7 +1,7 @@
appcleaner)
# credit: Tadayuki Onishi (@kenchan0130)
name="AppCleaner"
type="zip"
downloadURL=$(curl -fs https://freemacsoft.net/appcleaner/Updates.xml | xpath '//rss/channel/*/enclosure/@url' 2>/dev/null | tr " " "\n" | sort | tail -1 | cut -d '"' -f 2)
downloadURL=$(curl -fs https://freemacsoft.net/appcleaner/Updates.xml | xpath '//rss/channel/item[last()]/enclosure/@url' 2>/dev/null | tr " " "\n" | sort | tail -1 | cut -d '"' -f 2)
appNewVersion=$(curl -fsL "https://freemacsoft.net/appcleaner/Updates.xml" | xpath '//rss/channel/item[last()]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f 2)
expectedTeamID="X85ZX835W9"
;;

View File

@@ -0,0 +1,10 @@
archiwareb2go)
name="P5 Workstation"
type="pkgInDmg"
packageID="com.archiware.presstore"
appNewVersion=$(curl -sf https://www.archiware.com/download-p5 | grep -m 1 "ARCHIWARE P5 Version" | sed "s|.*Version \(.*\) -.*|\\1|")
downloadURL=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo https://p5-downloads.s3.amazonaws.com/awpst"$appNrVersion"-darwin.dmg)
pkgName=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo P5-Workstation-"$appNrVersion"-Install.pkg)
expectedTeamID="5H5EU6F965"
# blockingProcesses=( nsd )
;;

View File

@@ -0,0 +1,10 @@
archiwarepst)
name="P5"
type="pkgInDmg"
packageID="com.archiware.presstore"
appNewVersion=$(curl -sf https://www.archiware.com/download-p5 | grep -m 1 "ARCHIWARE P5 Version" | sed "s|.*Version \(.*\) -.*|\\1|")
downloadURL=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo https://p5-downloads.s3.amazonaws.com/awpst"$appNrVersion"-darwin.dmg)
pkgName=$(appNrVersion=`sed 's/[^0-9]//g' <<< $appNewVersion` && echo P5-"$appNrVersion"-Install.pkg)
expectedTeamID="5H5EU6F965"
# blockingProcesses=( nsd )
;;

View File

@@ -0,0 +1,7 @@
atextlegacy)
# credit: Gabe Marchan (gabemarchan.com - @darklink87)
name="aText"
type="dmg"
downloadURL="https://trankynam.com/atext/downloads/aTextLegacy.dmg"
expectedTeamID="KHEMQ2FD9E"
;;

View File

@@ -1,7 +1,13 @@
audacity)
name="Audacity"
type="dmg"
downloadURL=$(downloadURLFromGit audacity audacity)
if [[ $(arch) == "arm64" ]]; then
archiveName="audacity-macOS-[0-9.]*-arm64.dmg"
downloadURL=$(downloadURLFromGit audacity audacity)
elif [[ $(arch) == "i386" ]]; then
archiveName="audacity-macOS-[0-9.]*-x86_64.dmg"
downloadURL=$(downloadURLFromGit audacity audacity)
fi
appNewVersion=$(versionFromGit audacity audacity)
expectedTeamID="AWEYX923UX"
;;

View File

@@ -0,0 +1,10 @@
autodeskfusion360admininstall)
name="Autodesk Fusion 360 Admin Install"
type="pkg"
packageID="com.autodesk.edu.fusion360"
downloadURL="https://dl.appstreaming.autodesk.com/production/installers/Autodesk%20Fusion%20360%20Admin%20Install.pkg"
appNewVersion=$(curl -fs "https://dl.appstreaming.autodesk.com/production/97e6dd95735340d6ad6e222a520454db/73e72ada57b7480280f7a6f4a289729f/full.json" | sed -E 's/.*build-version":"([[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+).*/\1/g')
expectedTeamID="XXKJ396S2Y"
appName="Autodesk Fusion 360.app"
blockingProcesses=( "Autodesk Fusion 360" "Fusion 360" )
;;

View File

@@ -3,5 +3,5 @@ awsvpnclient)
type="pkg"
downloadURL="https://d20adtppz83p9s.cloudfront.net/OSX/latest/AWS_VPN_Client.pkg"
expectedTeamID="94KV3E626L"
appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4)
#appNewVersion=$(curl -is "https://beta2.communitypatch.com/jamf/v1/ba1efae22ae74a9eb4e915c31fef5dd2/patch/AWSVPNClient" | grep currentVersion | tr ',' '\n' | grep currentVersion | cut -d '"' -f 4)
;;

View File

@@ -0,0 +1,14 @@
axurerp10)
name="Axure RP 10"
type="dmg"
if [[ $(arch) == "arm64" ]]; then
downloadURL="https://d3uii9pxdigrx1.cloudfront.net/AxureRP-Setup-arm64.dmg"
elif [[ $(arch) == "i386" ]]; then
downloadURL="https://d3uii9pxdigrx1.cloudfront.net/AxureRP-Setup.dmg"
fi
appNewVersion=$( curl -sL https://www.axure.com/release-history | grep -Eo '[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}\.[0-9]{1,4}' -m 1 )
expectedTeamID="HUMW6UU796"
versionKey="CFBundleVersion"
appName="Axure RP 10.app"
blockingProcesses=( "Axure RP 10" )
;;

View File

@@ -0,0 +1,8 @@
bitrix24)
name="Bitrix24"
type="dmg"
archiveName="bitrix24_desktop.dmg"
downloadURL="https://dl.bitrix24.com/b24/bitrix24_desktop.dmg"
expectedTeamID="5B3T3A994N"
blockingProcesses=( "Bitrix24" )
;;

View File

@@ -1,7 +1,11 @@
blender)
name="blender"
type="dmg"
downloadURL=$(redirect=$(curl -sfL https://www.blender.org/download/ | sed 's/.*href="//' | sed 's/".*//' | grep .dmg) && curl -sfL "$redirect" | sed 's/.*href="//' | sed 's/".*//' | grep -m1 .dmg)
if [[ $(arch) == "arm64" ]]; then
downloadURL=$(curl -sfL "https://www.blender.org/download/" | xmllint --html --format - 2>/dev/null | grep -o "https://.*blender.*arm64.*.dmg" | sed '2p;d' | sed 's/www.blender.org\/download/download.blender.org/g')
elif [[ $(arch) == "i386" ]]; then
downloadURL=$(curl -sfL "https://www.blender.org/download/" | xmllint --html --format - 2>/dev/null | grep -o "https://.*blender.*x64.*.dmg" | sed '2p;d' | sed 's/www.blender.org\/download/download.blender.org/g')
fi
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)-.*/\1/g' )
expectedTeamID="68UA947AUU"
;;

View File

@@ -0,0 +1,12 @@
bluejeanswithaudiodriver)
name="BlueJeans"
type="pkg"
if [[ $(arch) == "arm64" ]]; then
downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeans.*Installer.*arm.*.pkg" )
elif [[ $(arch) == "i386" ]]; then
downloadURL=$(curl -fs "https://www.bluejeans.com/downloads" | xmllint --html --format - 2>/dev/null | grep -o "https://.*BlueJeansInstaller.*x86.*.dmg" | sed 's/dmg/pkg/g')
fi
appNewVersion=$(echo $downloadURL | cut -d '/' -f6)
choiceChangesXML='<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><array><dict><key>attributeSetting</key><integer>1</integer><key>choiceAttribute</key><string>selected</string><key>choiceIdentifier</key><string>com.tatvikmohit.BlueJeans-Audio</string></dict></array></plist>'
expectedTeamID="HE4P42JBGN"
;;

View File

@@ -2,5 +2,6 @@ boxtools)
name="Box Tools"
type="pkg"
downloadURL="https://box-installers.s3.amazonaws.com/boxedit/mac/currentrelease/BoxToolsInstaller.pkg"
packageID="com.box.boxtools.installer.boxedit"
expectedTeamID="M683GB7CPW"
;;

View File

@@ -0,0 +1,7 @@
calcservice)
name="CalcService"
type="zip"
downloadURL="$(curl -fs -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" "https://www.devontechnologies.com/support/download" | tr '"' "\n" | grep -o "http.*download.*.zip" | grep -i calcservice | head -1)"
appNewVersion="$(echo $downloadURL | sed -E 's/.*\/([0-9.]*)\/.*/\1/g')"
expectedTeamID="679S2QUWR8"
;;

View File

@@ -1,6 +1,8 @@
camtasia)
name="Camtasia 2020"
camtasia|\
camtasia2021)
name="Camtasia 2021"
type="dmg"
downloadURL=https://download.techsmith.com/camtasiamac/releases/Camtasia.dmg
downloadURL=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep -A 3 "Camtasia (Mac) 2021" | sed 's/.*href="//' | sed 's/".*//' | grep .dmg)
appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep "Camtasia (Mac) 2021" | sed -e 's/.*Camtasia (Mac) //' -e 's/<\/td>.*//')
expectedTeamID="7TQL462TU8"
;;

View File

@@ -0,0 +1,7 @@
camtasia2019)
name="Camtasia 2019"
type="dmg"
downloadURL=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep -A 3 "Camtasia (Mac) 2019" | sed 's/.*href="//' | sed 's/".*//' | grep .dmg)
appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep "Camtasia (Mac) 2019" | sed -e 's/.*Camtasia (Mac) //' -e 's/<\/td>.*//')
expectedTeamID="7TQL462TU8"
;;

View File

@@ -0,0 +1,7 @@
camtasia2020)
name="Camtasia 2020"
type="dmg"
downloadURL=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep -A 3 "Camtasia (Mac) 2020" | sed 's/.*href="//' | sed 's/".*//' | grep .dmg)
appNewVersion=$(curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15" -fs "https://support.techsmith.com/hc/en-us/articles/360004908652-Desktop-Product-Download-Links" | grep "Camtasia (Mac) 2020" | sed -e 's/.*Camtasia (Mac) //' -e 's/<\/td>.*//')
expectedTeamID="7TQL462TU8"
;;

View File

@@ -0,0 +1,7 @@
carboncopycloner)
name="Carbon Copy Cloner"
type="zip"
downloadURL=$(curl -fsIL "https://bombich.com/software/download_ccc.php?v=latest" | grep -i ^location | sed -E 's/.*(https.*\.zip).*/\1/g')
appNewVersion=$(sed -E 's/.*-([0-9.]*)\.zip/\1/g' <<< $downloadURL | sed 's/\.[^.]*$//')
expectedTeamID="L4F2DED5Q7"
;;

View File

@@ -0,0 +1,7 @@
charles)
name="Charles"
type="dmg"
appNewVersion=$(curl -fs https://www.charlesproxy.com/download/latest-release/ | sed -nE 's/.*version.*value="([^"]*).*/\1/p')
downloadURL="https://www.charlesproxy.com/assets/release/$appNewVersion/charles-proxy-$appNewVersion.dmg"
expectedTeamID="9A5PCU4FSD"
;;

View File

@@ -0,0 +1,11 @@
chronoagent)
name="ChronoAgent"
type="pkgInDmg"
# packageID="com.econtechnologies.preference.chronoagent"
# versionKey="CFBundleVersion"
# None of the above can read out the installed version
releaseURL="https://www.econtechnologies.com/UC/updatecheck.php?prod=ChronoAgent&lang=en&plat=mac&os=10.14.1&hw=i64&req=1&vers=#"
appNewVersion=$(curl -sf $releaseURL | sed -r 's/.*VERSION=([^<]+).*/\1/')
downloadURL="https://downloads.econtechnologies.com/CA_Mac_Download.dmg"
expectedTeamID="9U697UM7YX"
;;

View File

@@ -0,0 +1,8 @@
chronosync)
name="ChronoSync"
type="pkgInDmg"
releaseURL="https://www.econtechnologies.com/UC/updatecheck.php?prod=ChronoSync&lang=en&plat=mac&os=10.14.1&hw=i64&req=1&vers=#"
appNewVersion=$(curl -sf $releaseURL | sed -r 's/.*VERSION=([^<]+).*/\1/')
downloadURL="https://downloads.econtechnologies.com/CS4_Download.dmg"
expectedTeamID="9U697UM7YX"
;;

View File

@@ -3,6 +3,6 @@ citrixworkspace)
name="Citrix Workspace"
type="pkgInDmg"
downloadURL="https:"$(curl -s -L "https://www.citrix.com/downloads/workspace-app/mac/workspace-app-for-mac-latest.html#ctx-dl-eula-external" | grep "dmg?" | sed "s/.*rel=.\(.*\)..id=.*/\1/") # http://downloads.citrix.com/18823/CitrixWorkspaceApp.dmg?__gda__=1605791892_edc6786a90eb5197fb226861a8e27aa8
appNewVersion=$(curl -fs https://www.citrix.com/downloads/workspace-app/mac/workspace-app-for-mac-latest.html | grep "<p>Version" | head -1 | cut -d " " -f1 | cut -d ";" -f2 | cut -d "." -f 1-3)
appNewVersion=$(curl -fs https://www.citrix.com/downloads/workspace-app/mac/workspace-app-for-mac-latest.html | grep "<p>Version" | head -1 | awk '{print $2}' | cut -d "." -f 1-3)
expectedTeamID="S272Y5R93J"
;;

View File

@@ -1,7 +1,8 @@
clevershare2)
name="Clevershare"
type="dmg"
downloadURL=$(curl -fs https://www.clevertouch.com/eu/clevershare2g | grep -i -o -E "https.*Mac.*\.dmg")
appNewVersion=$( echo "${downloadURL}" | sed -E 's/.*\/[a-zA-Z-]*_Mac\.([0-9.]*)\.[0-9]*\.dmg$/\1/g' )
printlog "Label for $name broken in test" ERROR
downloadURL=$(curl -fs https://www.clevertouch.com/eu/clevershare2g | grep -i -o -E "https.*notarized.*\.dmg")
appNewVersion=$(echo "${downloadURL}" | sed -E 's/.*\/([0-9.]*)\/[0-9]*\/.*\.dmg$/\1/')
expectedTeamID="P76M9BE8DQ"
;;

View File

@@ -1,7 +1,7 @@
clickshare)
# credit: Søren Theilgaard (@theilgaard)
name="ClickShare"
type="appInDmgInZip"
downloadURL=https://www.barco.com$(curl -fs "https://www.barco.com/en/clickshare/app" | grep -E -o '(\/\S*Download\?FileNumber=R3306192\S*ShowDownloadPage=False)' | tail -1)
downloadURL="https://www.barco.com$( curl -fs "https://www.barco.com/en/clickshare/app" | grep -A6 -i "macos" | grep -i "FileNumber" | tr '"' "\n" | grep -i "FileNumber" )"
appNewVersion="$(eval "$( echo $downloadURL | sed -E 's/.*(MajorVersion.*BuildVersion=[0-9]*).*/\1/' | sed 's/&amp//g' )" ; ((MajorVersion++)) ; ((MajorVersion--)); ((MinorVersion++)) ; ((MinorVersion--)); ((PatchVersion++)) ; ((PatchVersion--)); ((BuildVersion++)) ; ((BuildVersion--)); echo "${MajorVersion}.${MinorVersion}.${PatchVersion}-b${BuildVersion}")"
expectedTeamID="P6CDJZR997"
;;

View File

@@ -0,0 +1,7 @@
clipy)
name="Clipy"
type="dmg"
downloadURL=$(downloadURLFromGit Clipy Clipy)
appNewVersion=$(versionFromGit Clipy Clipy)
expectedTeamID="BBCHAJ584H"
;;

9
fragments/labels/clue.sh Normal file
View File

@@ -0,0 +1,9 @@
clue)
#For personal use and students
name="Clue"
type="dmg"
downloadURL=$(curl -fsL https://clue.no/en/download | grep "For personal use and students:" | sed 's/.*href="//' | sed 's/".*//')
appNewVersion="$(echo "${downloadURL}" | sed -E 's/.*Clue*([0-9.]*)\..*/\1/g')"
versionKey="CFBundleVersion"
expectedTeamID="3NX6B9TB2F"
;;

View File

@@ -0,0 +1,9 @@
cluefull)
#For companies and schools
name="Clue"
type="dmg"
downloadURL=$(curl -fsL https://clue.no/en/download | grep "For companies and schools:" | sed 's/.*href="//' | sed 's/".*//')
appNewVersion="$(echo "${downloadURL}" | sed -E 's/.*Clue*([0-9.]*)\F.*/\1/g')"
versionKey="CFBundleVersion"
expectedTeamID="3NX6B9TB2F"
;;

View File

@@ -0,0 +1,7 @@
cocoapods)
name="CocoaPods"
type="bz2"
downloadURL="$(downloadURLFromGit CocoaPods CocoaPods-app)"
appNewVersion="$(versionFromGit CocoaPods CocoaPods-app)"
expectedTeamID="AX2Q2BH2XR"
;;

View File

@@ -0,0 +1,7 @@
coconutbattery)
name="coconutBattery"
type="zip"
downloadURL="https://coconut-flavour.com/downloads/coconutBattery_latest.zip"
appNewVersion=$(curl -fs https://www.coconut-flavour.com/coconutbattery/ | grep "<title>" | sed -e 's/.*coconutBattery \(.*\) - by coconut-flavour.co.*/\1/')
expectedTeamID="R5SC3K86L5"
;;

View File

@@ -1,7 +1,7 @@
coderunner)
# credit: Erik Stam (@erikstam)
name="CodeRunner"
type="zip"
downloadURL="https://coderunnerapp.com/download"
appNewVersion=$(curl -fsIL ${downloadURL} | grep -i "^location" | cut -d " " -f2 | sed -E 's/.*CodeRunner-([0-9.]*).zip/\1/')
expectedTeamID="R4GD98AJF9"
;;

View File

@@ -1,5 +1,5 @@
colourcontrastanalyser)
name="Colour Contrast Analyser (CCA)"
name="Colour Contrast Analyser"
type="dmg"
downloadURL=$(downloadURLFromGit ThePacielloGroup CCAe)
appNewVersion=$(versionFromGit ThePacielloGroup CCAe)

View File

@@ -0,0 +1,7 @@
craftmanagerforsketch)
name="CraftManager"
type="zip"
downloadURL="https://craft-assets.invisionapp.com/CraftManager/production/CraftManager.zip"
appNewVersion=$(curl -fs https://craft-assets.invisionapp.com/CraftManager/production/appcast.xml | xpath '//rss/channel/item[1]/enclosure/@sparkle:shortVersionString' 2>/dev/null | cut -d '"' -f2)
expectedTeamID="VRXQSNCL5W"
;;

View File

@@ -0,0 +1,7 @@
cricutdesignspace)
name="Cricut Design Space"
type="dmg"
appNewVersion=$(getJSONValue "$(curl -fsL https://s3-us-west-2.amazonaws.com/staticcontent.cricut.com/a/software/osx-native/latest.json)" "rolloutVersion")
downloadURL=$(getJSONValue $(curl -fsL "https://apis.cricut.com/desktopdownload/InstallerFile?shard=a&operatingSystem=osxnative&fileName=CricutDesignSpace-Install-v${appNewVersion}.dmg") "result")
expectedTeamID="25627ZFVT7"
;;

View File

@@ -1,6 +1,12 @@
cryptomator)
name="Cryptomator"
type="dmg"
if [[ $(arch) == "arm64" ]]; then
archiveName="Cryptomator-[0-9.]*-arm64.dmg"
elif [[ $(arch) == "i386" ]]; then
archiveName="Cryptomator-[0-9.]*.dmg"
fi
downloadURL=$(downloadURLFromGit cryptomator cryptomator)
appNewVersion=$(versionFromGit cryptomator cryptomator)
expectedTeamID="YZQJQUHA3L"

View File

@@ -0,0 +1,11 @@
cytoscape)
name="Cytoscape"
#appName="Cytoscape Installer.app"
type="dmg"
downloadURL="$(downloadURLFromGit cytoscape cytoscape)"
appNewVersion="$(versionFromGit cytoscape cytoscape)"
installerTool="Cytoscape Installer.app"
CLIInstaller="Cytoscape Installer.app/Contents/MacOS/JavaApplicationStub"
CLIArguments=(-q)
expectedTeamID="35LDCJ33QT"
;;

View File

@@ -1,7 +1,7 @@
dangerzone)
name="Dangerzone"
type="dmg"
downloadURL="$(downloadURLFromGit firstlookmedia dangerzone)"
appNewVersion="$(versionFromGit firstlookmedia dangerzone)"
downloadURL="$(downloadURLFromGit freedomofpress dangerzone)"
appNewVersion="$(versionFromGit freedomofpress dangerzone)"
expectedTeamID="N9B95FDWH4"
;;

Some files were not shown because too many files have changed in this diff Show More