xcode – 通过productbuild和pkgbuild进行文件所有权修改

xcode – 通过productbuild和pkgbuild进行文件所有权修改,第1张

概述我正在为Mac OS 10.8.4上的 Java应用程序创建一个安装程序.该应用程序运行正常,我可以安装它,而不是一个zip文件.我可以使用productbuild或pkgbuild创建一个.pkg安装程序.我也可以成功安装任一安装程序.pkg文件,但由于两个打包程序都将数据目录及其从属文件和子目录的所有权从用户更改为root,因此该应用程序无法正常运行.我将此数据目录安装在.app包的Res​​ 我正在为Mac OS 10.8.4上的 Java应用程序创建一个安装程序.该应用程序运行正常,我可以安装它,而不是一个zip文件.我可以使用productbuild或pkgbuild创建一个.pkg安装程序.我也可以成功安装任一安装程序.pkg文件,但由于两个打包程序都将数据目录及其从属文件和子目录的所有权从用户更改为root,因此该应用程序无法正常运行.我将此数据目录安装在.app包的Res​​ources目录中,并且程序首次执行时,将数据目录移动到/ Users / user / library / Application Support.我尝试使用 – 所有权保留和 – 所有权保留 – 其他选项与pkgbuild无效.我能够正确安装和执行的唯一方法是通过zip文件,因为它只剩下文件所有权.这是我使用的pkgbuild命令:

pkgbuild – 所有权保留–component ./myApp.app ./myApp-installer.pkg

我的问题是:

>如何强制pkgbuild尊重我的 – 所有权保留选项?
>是否可以构建一个单独的仅数据的包,具有用户所有权并发往用户区域,并通过pkgbuild的–synthesize选项将其与可执行程序包进行合并?如果是的话,有人可以告诉我如何构建这样的数据包?

解决方法 我知道这是相当老的,我只是回答,以防其他人需要答案.
我通常做的是,我有一个shell脚本,为我创建.pkg文件.在该脚本中,我在打包之前设置所有文件的权限和所有权.这是一个例子:
name="PKGfilename"IDENTIFIER="com.pkg.APPname"VERSION="1.0.0"INSTALL_LOCATION="PATH_TO_WHERE_THE_fileS_SHOulD_BE_copIED_ON_USERS_MACHINE"ROOT_LOCATION="PATH_TO_WHERE_fileS_ARE_ON_YOUR_MASCHINE"# Remove any unwanted .DS_Store files.find "$ROOT_LOCATION" -name '*.DS_Store' -type f -delete# put any command for changing the ownership or permissions herechmod -R +r "$ROOT_LOCATION"# Build package./usr/bin/pkgbuild \    --root "$ROOT_LOCATION" \    --install-location "$INSTALL_LOCATION" \    --IDentifIEr "$IDENTIFIER" \    --version "$VERSION" \    "$name.pkg"

将其保存在像create-my-package.sh这样的文件中,并在命令行中运行.

总结

以上是内存溢出为你收集整理的xcode – 通过productbuild和pkgbuild进行文件所有权修改全部内容,希望文章能够帮你解决xcode – 通过productbuild和pkgbuild进行文件所有权修改所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存