Page 1 of 1

Making a installer package for distribution

Posted: Tue Jun 27, 2017 9:09 pm
by plantenkennis
I want to share my experience with making a installer package for an app, made with FiveMac. There are a few steps you need to take if you want to distribute your app to other users. I use this constants
An app is actually a folder with other folders in it. If you rightclick on the app you can choose 'show Package Content'. There are the next folders in the app:
  • Contents
    • folder: MacOs (the actual app)
      folder: Resources (here you can put all files you need with your app)
      File: info.plist
You need to follow these steps
  • make a copy.ch file where you can make your databases folders in the $USER folder and move the databases from Users/shared to $USER/DatabaseFolder (see example below)
    put this file in your app in the folder 'Resources'
    In your app check if your folder $USER/DatabaseFolder exists
    If the folder is not there call the copy.ch in your code with TaskExec( "/bin/sh", ResPath()+"/copy.sh", )

Code: Select all

mkdir /Users/$USER/plantenkennis
mkdir /Users/$USER/plantenkennis/databases
# now move the files from  users/shared/Plantenkennis to /users/$user/Plantenkennis

mv /Users/shared/plantenkennis/databases/*.dbf /Users/$USER/plantenkennis/databases
mv /Users/shared/plantenkennis/databases/*.dbt /Users/$USER/plantenkennis/databases


With Packages you can't put your databases in the $USER folder, only in the Users/shared folder. That is why you have to copy them the first time your user starts the app.

To distribute your app via the web, you need te sign your package with a certificate. You can get a certificate from Apple if you have a developer account. There are different certificates and you need a Mac Production Developer certificate.

Once you have this certificate you can sign your package withe the next command:
productsign --sign 'Your certificate' YourPackage.pkg YourPackageSigned.pkg
Hope these steps are useful for others, if you have any questions, please ask

Re: Making a installer package for distribution

Posted: Wed Jun 28, 2017 2:13 pm
by Antonio Linares
René,

many thanks for sharing this info with all of us :-)