Abd*_*aly 16 macos installer packagemaker
我有一个应用程序,我需要创建一个安装程序,并且所有安装程序需要做的(除了复制应用程序)运行的脚本(或可执行文件)不是应用程序本身的一部分.有关如何做到这一点的任何帮助?我在" 需求"选项卡中看到"脚本结果" 操作," 操作"选项卡中还有" 预安装操作",其中包含" 打开文件"操作.这些中的任何一个都可以完成这项工作,还是我应该在其
epa*_*tel 21
这是一个很好的操作方法
在安装过程中可以启动7种类型的脚本:
InstallationCheck: 此脚本在安装过程开始时启动(甚至在"身份验证"步骤之前).它可用于检查可以在此计算机上安装Package.
VolumeCheck: 此脚本在"选择目标"步骤中启动.它用于确定可以安装包的卷.
预检: 此脚本在用户单击"安装"按钮后立即启动.
preinstall/preupgrade: 如果有预检脚本,则在预检脚本之后启动此脚本(在单个软件包安装的情况下); 否则只需在用户点击"安装"按钮后.
如您所见,这里有两种类型的脚本.从未安装Package时启动预安装(从Installer.app的角度来看),在安装Package时启动预升级.要确定是否已安装Package,Installer.app将查看以下目录的内容:/ Library/Receipts.如果其中有一个名为PackageName.pkg的文件,则已经安装了Package,否则它是第一次安装.
postinstall/postupgrade: 安装包中的文件后启动此脚本.请参阅(预安装/预升级)以查看启动了哪一个.
postflight: 此脚本在postinstall/postupgrade脚本之后或安装包时启动.
我只是设法将Shell脚本包含在我使用PackageMaker创建的包中.我需要在安装后将我的应用程序添加到登录项中,因此我调用了一个脚本postflight.sh并将其放入文件夹中.(它似乎适用于任何位置)
然后在我的包中,我有应用程序.在内容,包:应用程序中,在"脚本"选项卡中,我选择了postflight.sh"Postflight"部分.而已.
我的postflight.sh开始
#!/bin/bash
Run Code Online (Sandbox Code Playgroud)
然后它有一些脚本将应用程序放入登录项目.当我没有那个时,我可以制作包,但安装失败了.希望这是有帮助的.
| 归档时间: |
|
| 查看次数: |
26369 次 |
| 最近记录: |