mirror of
https://github.com/mtan93/Installomator.git
synced 2026-03-09 05:11:59 +00:00
Compare commits
100 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d4e22379e | ||
|
|
fc01e2f8de | ||
|
|
4283329b25 | ||
|
|
2e207f6982 | ||
|
|
b99d3b50f4 | ||
|
|
c669250d8c | ||
|
|
76a38cdffc | ||
|
|
c53e49d406 | ||
|
|
125fadd4f4 | ||
|
|
53f043ede5 | ||
|
|
3530130b48 | ||
|
|
71fe13b311 | ||
|
|
2c613803b5 | ||
|
|
edff222adc | ||
|
|
4a124f2151 | ||
|
|
977e46d33f | ||
|
|
5bfeddbecf | ||
|
|
0dd63eae75 | ||
|
|
dff5b8c61a | ||
|
|
57da0331bf | ||
|
|
96c998413f | ||
|
|
933c51e00f | ||
|
|
cd9247360a | ||
|
|
a0d93f1799 | ||
|
|
138301f61e | ||
|
|
901f99459a | ||
|
|
f653833dc2 | ||
|
|
eb802b9a95 | ||
|
|
04a2c74dd8 | ||
|
|
4d49e51789 | ||
|
|
2e07291c60 | ||
|
|
5c5dadfe9b | ||
|
|
bd49d7ca97 | ||
|
|
3d4c1b45c9 | ||
|
|
961816236f | ||
|
|
be0f0a9cd0 | ||
|
|
22bd79af0e | ||
|
|
912a0e0046 | ||
|
|
5059673fc7 | ||
|
|
8a56d05a8a | ||
|
|
65d8996118 | ||
|
|
ef27dfde6d | ||
|
|
e81c8114b4 | ||
|
|
d84ce01eb5 | ||
|
|
09d0230256 | ||
|
|
c65df61524 | ||
|
|
5dff7ee718 | ||
|
|
555a7631b9 | ||
|
|
9c96b5a764 | ||
|
|
2ddbd2ab1e | ||
|
|
ec7e479372 | ||
|
|
a32b5fc0a2 | ||
|
|
2d1777ca6e | ||
|
|
37b36c8c13 | ||
|
|
9508357243 | ||
|
|
c99aabccbb | ||
|
|
a4df3399b4 | ||
|
|
7438aa403c | ||
|
|
965cf310e4 | ||
|
|
da5f99639a | ||
|
|
65f5c57772 | ||
|
|
42ec528870 | ||
|
|
7f264733a7 | ||
|
|
0a96de8449 | ||
|
|
7d6f4db736 | ||
|
|
adf34cb6f3 | ||
|
|
8544796b75 | ||
|
|
315398b3fc | ||
|
|
1bc4847402 | ||
|
|
0124a7fed1 | ||
|
|
ea2d4d47e5 | ||
|
|
56e38de821 | ||
|
|
d191b23a50 | ||
|
|
246ce74f4e | ||
|
|
39d3dfceac | ||
|
|
65d0d64127 | ||
|
|
201edabfd0 | ||
|
|
8c96d9e263 | ||
|
|
54218459a2 | ||
|
|
4c7edc2ddd | ||
|
|
5f469e0dc5 | ||
|
|
eed3681118 | ||
|
|
b4c987317a | ||
|
|
5a605172b1 | ||
|
|
51baa0636b | ||
|
|
9e42ec21f2 | ||
|
|
4c23c453b0 | ||
|
|
9e4b67efed | ||
|
|
44a4c05df6 | ||
|
|
892f715dbf | ||
|
|
7e40dc1e36 | ||
|
|
decc5274f0 | ||
|
|
ee91690a0d | ||
|
|
127866750e | ||
|
|
9e2221f943 | ||
|
|
85dcfc70bd | ||
|
|
d0fc403323 | ||
|
|
ca57ff9de6 | ||
|
|
8b1298a148 | ||
|
|
3ca4dce814 |
28
CHANGELOG.md
Normal file
28
CHANGELOG.md
Normal file
@@ -0,0 +1,28 @@
|
||||
## v0.4 - 2020-10-19
|
||||
|
||||
- you can now set script variables as an argument in the form `VARIABLE=value`. More detail on this in the README file, 'Configuration from Arguments.' (#26, #50, #72, and #73)
|
||||
- change `downloadFromGit` to match file types better (#58)
|
||||
- implemented a workaround for changed behavior of `xpath` in Big Sur (#80)
|
||||
- added an option `prompt_user_the_kill` to `BLOCKING_PROCESS_ACTION` which will kill the process after the third unsuccessful attempt to quit (#78, thanks Patrick Atoon @raptor399)
|
||||
- added several new labels for total of 116
|
||||
|
||||
|
||||
## v0.3 - 2020-07-23
|
||||
|
||||
- added several new labels for total of 98
|
||||
- removed the powershell labels, since the installer is not notarized
|
||||
- when run without any arguments, the script now lists all labels
|
||||
- changed how zips are expanded because this was broken on Mojave
|
||||
- improved logging in some statements
|
||||
- several more minor improvements
|
||||
|
||||
## v0.2 - 2020-06-09
|
||||
|
||||
- many fixes for broken URLs and other bugs
|
||||
- the `pkgInDmg` and `pkgInZip` now search for a pkg file in the archive in case the file name varies with the version
|
||||
- notification on successful installation can be suppressed with the `NOTIFY` variable
|
||||
- Apple signed installers and apps that don’t have a Team ID are verified correctly now
|
||||
improved logging
|
||||
- several new applications: count increased from 62 in 0.1 to 87 in 0.2
|
||||
|
||||
## v0.1 - 2020-05-12
|
||||
1881
Installomator.sh
1881
Installomator.sh
File diff suppressed because it is too large
Load Diff
33
Labels.txt
33
Labels.txt
@@ -1,19 +1,35 @@
|
||||
1password7
|
||||
8x8
|
||||
adobereaderdc
|
||||
adobereaderdc-install
|
||||
adobereaderdc-update
|
||||
airserver
|
||||
alfred
|
||||
amazonworkspaces
|
||||
apparency
|
||||
appcleaner
|
||||
aquaskk
|
||||
atom
|
||||
autodmg
|
||||
autopkgr
|
||||
aviatrix
|
||||
bbedit
|
||||
bettertouchtool
|
||||
boxdrive
|
||||
brave
|
||||
camtasia
|
||||
citrixworkspace
|
||||
code42
|
||||
coderunner
|
||||
cyberduck
|
||||
depnotify
|
||||
desktoppr
|
||||
detectxswift
|
||||
dialpad
|
||||
discord
|
||||
docker
|
||||
dropbox
|
||||
egnyte
|
||||
eraseinstall
|
||||
firefox
|
||||
firefoxesrpkg
|
||||
@@ -26,11 +42,14 @@ googlejapaneseinput
|
||||
grandperspective
|
||||
handbrake
|
||||
icons
|
||||
istatmenus
|
||||
iterm2
|
||||
jamfmigrator
|
||||
jamfpppcutility
|
||||
jamfreenroller
|
||||
karabinerelements
|
||||
keepassxc
|
||||
krisp
|
||||
malwarebytes
|
||||
microsoftautoupdate
|
||||
microsoftcompanyportal
|
||||
@@ -50,15 +69,15 @@ microsoftskypeforbusiness
|
||||
microsoftteams
|
||||
microsoftword
|
||||
netnewswire
|
||||
nomad
|
||||
omnifocus3
|
||||
omnigraffle7
|
||||
openvpnconnect
|
||||
pacifist
|
||||
plisteditpro
|
||||
postman
|
||||
powershell
|
||||
powershell-lts
|
||||
privileges
|
||||
r
|
||||
resiliosynchome
|
||||
ringcentralapp
|
||||
ringcentralmeetings
|
||||
@@ -66,8 +85,13 @@ royaltsx
|
||||
santa
|
||||
sfsymbols
|
||||
signal
|
||||
sizeup
|
||||
skitch
|
||||
slack
|
||||
snagit2020
|
||||
sonos
|
||||
sonoss1
|
||||
sonoss2
|
||||
sourcetree
|
||||
spotify
|
||||
sublimetext
|
||||
@@ -76,12 +100,17 @@ swiftruntimeforcommandlinetools
|
||||
teamviewer
|
||||
textmate
|
||||
things
|
||||
torbrowser
|
||||
tunnelbear
|
||||
tunnelblick
|
||||
umbrellaroamingclient
|
||||
virtualbox
|
||||
visualstudiocode
|
||||
vlc
|
||||
vscodium
|
||||
webexmeetings
|
||||
webexteams
|
||||
whatsapp
|
||||
wwdcformac
|
||||
yubikeymanagerqt
|
||||
zoom
|
||||
|
||||
63
README.md
63
README.md
@@ -10,6 +10,20 @@ Your production and deployment environment will be different, please test thorou
|
||||
|
||||
I have put a lot of work into making it stable and safe, but I cannot - of course - make _any_ promises that it won't break in some not yet encountered edge case.
|
||||
|
||||
## Support and Contributing
|
||||
|
||||
Discussion, support and advice around Installomator happens in the `#installomator` channel in the [MacAdmins Slack](https:/macadmins.org). Go there for support questions.
|
||||
|
||||
Do not create an issue just when you have a questions, but do file an issue or pull request for bugs or wrong behavior. When in doubt, ask in the above Slack channel.
|
||||
|
||||
If you have added a new label, then please file a pull request. (and Thank you!)
|
||||
|
||||
## More reading
|
||||
|
||||
There are a few interesting post on Installomator on my weblog:
|
||||
|
||||
- [Introducing Installomator](https://scriptingosx.com/2020/05/introducing-installomator/)
|
||||
- [Using Installomator with Jamf Pro](https://scriptingosx.com/2020/06/using-installomator-with-jamf-pro/) by Mischa van der Bent
|
||||
|
||||
## Background
|
||||
|
||||
@@ -97,12 +111,12 @@ There is a debug mode and one other setting that can be controlled with variable
|
||||
As of this writing, Installomator knows how to download and install more than 50 different applications. You can add more by adding a block to the _long_ `case` statement starting on line 160. Some of them are more elaborate, but most of them just need this information:
|
||||
|
||||
```
|
||||
googlechrome)
|
||||
name="Google Chrome"
|
||||
type="dmg"
|
||||
downloadURL="https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg"
|
||||
expectedTeamID="EQHXZ8M8AV"
|
||||
;;
|
||||
googlechrome)
|
||||
name="Google Chrome"
|
||||
type="dmg"
|
||||
downloadURL="https://dl.google.com/chrome/mac/stable/GGRO/googlechrome.dmg"
|
||||
expectedTeamID="EQHXZ8M8AV"
|
||||
;;
|
||||
```
|
||||
|
||||
When you know how to extract these pieces of information from the application and/or download, then you can add an application to Installomator.
|
||||
@@ -211,12 +225,12 @@ The `NOTIFY` variable controls the notifications shown to the user. As of now, t
|
||||
The script requires four pieces of information to download and install an application:
|
||||
|
||||
```
|
||||
spotify)
|
||||
name="Spotify"
|
||||
type="dmg"
|
||||
downloadURL="https://download.scdn.co/Spotify.dmg"
|
||||
expectedTeamID="2FNC3A47ZF"
|
||||
;;
|
||||
spotify)
|
||||
name="Spotify"
|
||||
type="dmg"
|
||||
downloadURL="https://download.scdn.co/Spotify.dmg"
|
||||
expectedTeamID="2FNC3A47ZF"
|
||||
;;
|
||||
```
|
||||
|
||||
The four required variables are
|
||||
@@ -244,7 +258,7 @@ The 10-character Developer Team ID with which the application or pkg is signed a
|
||||
- Applications (in dmgs or zips)
|
||||
`spctl -a -vv /Applications/BBEdit.app`
|
||||
|
||||
- Pkgs
|
||||
- Installation Packages (pkg)
|
||||
`spctl -a -vv -t install ~/Downloads/desktoppr-0.2.pkg`
|
||||
|
||||
|
||||
@@ -291,6 +305,27 @@ Depending on the application or pkg there are a few more variables you can or ne
|
||||
- `updateToolRunAsCurrentUser`:
|
||||
When this variable is set (any value), `$updateTool` will be run as the current user. Default is unset and
|
||||
|
||||
### Configuration from Arguments
|
||||
|
||||
You can provide a configuration variable, such as `DEBUG` or `NOTIFY` as an argument in the form `VAR=value`. For example:
|
||||
|
||||
```
|
||||
./Installomator.sh desktoppr DEBUG=0 NOTIFY=silent
|
||||
```
|
||||
|
||||
Providing variables this way will override any variables set in the script.
|
||||
|
||||
You can even provide _all_ the variables necessary for download and installation. Of course, without a label the argument parsing will fail, so I created a special label `valuesfromarguments` which only checks if the four required values are present:
|
||||
|
||||
```
|
||||
./Installomator.sh name=desktoppr type=pkg downloadURL=https://github.com/scriptingosx/desktoppr/releases/download/v0.3/desktoppr-0.3.pkg expectedTeamID=JME5BW3F3R valuesfromarguments
|
||||
```
|
||||
|
||||
The order of the variables and label is not relevant. But, when you provide more than one label, all but the _last_ label will be ignored.
|
||||
|
||||
Providing all the variables this way might be useful for certain downloads that have a customized URL for each vendor/customer (like customized TeamView or Watchman Monitoring) or are local downloads.
|
||||
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
### What if the latest version of the app is already installed?
|
||||
@@ -337,5 +372,5 @@ But it is not suited as a client install automation tool.
|
||||
|
||||
### Why don't you just use brew?
|
||||
|
||||
Read the explanation for `autopkg`, pretty much the same applies for `brew`, i.e. While it is useful on a single Mac, it is a un-manageable mess when you think about deploying and managing on a fleet of computers.
|
||||
Read the explanation for `autopkg`, pretty much the same applies for `brew`, i.e. while it is useful on a single Mac, it is a un-manageable mess when you think about deploying and managing on a fleet of computers.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user