首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Mac中的pkg文件打开安装后的应用程序

从Mac中的pkg文件打开安装后的应用程序
EN

Stack Overflow用户
提问于 2016-02-25 05:23:37
回答 5查看 7.2K关注 0票数 3

我从SampleApp.app 7.1中创建了一个XCode文件,并将其转换为pkg文件,并使用product命令对其进行签名,运行良好。但是现在的问题是,当我安装pkg时,应用程序不会在安装后自动启动。我是否需要在我的命令中包括任何其他参数才能使这一工作发挥作用?下面是我用来创建和签名pkg的命令。

代码语言:javascript
复制
productbuild --component SampleApp.app /Applications SampleApp.pkg

productsign --sign "Developer ID Installer: xxxxx" SampleApp.pkg SampleApp_signed.pkg

编辑

我也尝试过添加一个postinstall脚本,但这似乎不起作用,我不确定我的脚本或命令是否有问题

代码语言:javascript
复制
pkgbuild --root SampleApp.app --identifier com.companyname.SampleApp --scripts startup.sh --install-location /Applications/SampleApp.app SampleApp.pkg

productsign --sign "Developer ID Installer: xxxxx" SampleApp.pkg SampleApp_signed.pkg

我的startup.sh文件

代码语言:javascript
复制
#!/bin/bash

open -a /Applications/SampleApp.app

exit 0
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-02-25 07:15:53

通常,您会创建一个postinstall脚本,并将其包含在--scripts选项中。

-脚本-路径

脚本路径的内容被添加到产品存档中,供发行版中的system.run()命令使用。这仅适用于针对OS安装程序应用程序的产品存档。

因此,postinstall的一个(非常)基本示例可以通过以下方式启动应用程序:

代码语言:javascript
复制
#!/bin/sh

open /path/to/your/app
exit 0
票数 0
EN

Stack Overflow用户

发布于 2017-03-17 06:47:21

我必须在sudo脚本中使用postinstall才能让它正常工作:

代码语言:javascript
复制
#!/bin/sh

sudo open -a 'appName'

exit 0
票数 2
EN

Stack Overflow用户

发布于 2018-02-13 13:44:41

正如桑塔努卡拉尔在评论中提到的:

  1. 非扩展可执行文件放入文件夹中,并确保它必须命名为、预安装postinstall

注:不是,而是 postinstall**!**

  1. chmod 755chmod a+x应用于文件的预安装和/或后置。
  2. 无需在pkgBuild命令中提及脚本的完整路径。将包含后置脚本的文件夹指向--scripts参数。

就像--scripts "./Scripts/",而不是 --scripts "./Scripts/postinstall"

最后,在脚本中使用open "$2/App Name.app/"更安全,因为$2是安装位置,并且传递给postinstall脚本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35619036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档