I need to create an installer that is quite a bit different than the standard installer. Before purchasing composer, I'd like to see if it can create what I need it to do.
My installer is for Photoshop scripts. They do not install directly in the apps folder. They install under the Photoshop Scripts Folder. I have several scripts that share a common sub-folder under the scripts folder. until recently, I had been using photoshop scripting for the istallers which worked great. However, with the latest Photoshop CC 2015.5 release, the Mac admin user has read only privilegdes to the script folder so the installer scripts no longer work (it win't prompt the user to sign for the changes either).
Here is what I need for the installer to do. Can composer do the following?
It needs to be able to create a new sub-folder and under that sub-folder underneath the Photoshop read only scripts folder. Even if it asks for an admin username and password that is fine.
I have several different scripts that install into this same sub-folder. If the user already has one of my scripts installed, the installer needs to be smart enough to see the sub-folder is already present and to not erase it or anything in it. It would then just copy the new script contents into the same sub-folder without deleting the other script.
If the user runs the installer for updating a script it would need to delete the contents for the script they are installing and re-install that script. It would only delete the files and folder for the script that was being updated but not any of the others that may be in the same top sub-folder.
This is exactly how I have my Photoshop script installers set up to run and I'm hoping to find a replacement solution. Any advice would be appreciated.........
Apple installers (which Composer builds) will use an 'overlay' type of install. So files in your installer package would replace items on the disk already. If a folder is there with items in it, your items will be added to that folder (replacing any items with the same name).
If you would like different functionality, installers support scripts either before or after the items are installed.
Also note, that you can create installer packages like this via command line instead of purchasing Composer. Composer just makes it easier to do.
pkgbuild --root /Users/myname/Desktop/craptodealwith/installThisStuff --identifier "edu.school.IT.PackageName.pkg" --version "1.0" --install-location "/" --scripts /Users/myname/Desktop/craptodealwith/Scripts PackageName.pkg
That command will take the 'installThisStuff' folder, and create an installer where it overlays onto the root of the hard drive. So if I had 'Applications/ToddIsCool.app' folder in my installThisStuff folder, then the app ToddIsCool would be copied to Applications on the target drive. Any scripts in the Scripts folder would be added to the package as well. It'll need to be executable and named postinstall, of course.
Thanks for the response. After looking into it some more, I figured out that since I'm not currently an Apple Identified developer, the pkg won't run for people unless they modified there security preferences. I guess I will need to apply to be "Identified" if I want my Photoshop scripts installed through a pkg. For now, I think that I will just modify how my scripts folders are installed so they each get there own folder. I can then distribute a compressed dmg for each scripts to people can do a drag and drop install from the dmg. Since they will be in their own folders, the installers won't conflict with each other. That seems like the easiest solution.