Posted on 04-02-2018 01:44 PM
I am new to using Jamf. I have been creating update packages for Chrome and Firefox using Composer. I drag and drop the .dmg file into Composer, then build the file into a .pkg. Once the .pkg has been created, I upload the file to my deployment server. However, the updates fail or when it works the .pkg file is in the Root folder and not in the Applications folder on the MacBook. How do I put the .pkg file in the Applications folder instead of Root? What did do wrong or missed?
Posted on 04-02-2018 02:10 PM
This is what I do:
That's what I do and it works.
Posted on 04-02-2018 02:36 PM
As detailed above, you can't use DMG files from vendors "as is" in Jamf Pro. This is a common misconception a lot of newcomers run into. Those DMGs usually have the .app at the top level of the mounted disk image and when a DMG is deployed through Jamf Pro, it uses the folder structure to determine where the contents should go on the destination disk, which is why it's ending up where it does - the .app is at the root of the mounted disk, so it ends up in the root of the drive.
You need to either go through the process outlined above, or use a script/utility to take those DMGs and create valid .PKG installers from the included app bundle in them.
Here are 2 examples of such utilities:
Rich Trouton's Simple Package Creator
My App Packager
There may be others, but they are likely all doing the same general thing under the hood.
Posted on 04-02-2018 02:53 PM
+1 for App Packager, have used it for years
Posted on 04-03-2018 04:22 AM
The best ideas are above but I’ll add some background.
A “Jamf-friendly” dmg file should ultimately be a mirror of the Mac’s file tree for your additions. For example if you are adding a script to the Scripts folder in Library, I would expect to see a Library folder inside your dmg with a Scripts folder inside. Inside that Scripts folder would be the script itself that you wish to add. Same for an app in Applications.
A pkg is similar but it (unlike a dmg) would allow you to run a script before or after the installation of your package and it would work if you just gave it directly to an end user to install.