一切都在10.5上工作,但现在我的PackageMaker安装项目已经破解。我已经在几天内解决了一个问题,而且
为了缩小问题范围,我已经达到了这一点:
preinstall
脚本#!/bin.sh exit 0
运行以上操作...并通过以下错误消息(如时钟工作
)观察它失败Sep 14 15:09:45 manoa installd[5620]: PackageKit: ----- Begin install -----
Sep 14 15:09:45 manoa installd[5620]: PackageKit: request=PKInstallRequest <1 packages, destination=/>
Sep 14 15:09:45 manoa installd[5620]: PackageKit: packages=(\n "PKLeopardPackage <file://localhost/Users/stu/Desktop/asdf.pkg>"\n)
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Extracting /Users/stu/Desktop/asdf.pkg (destination=/var/folders/Hb/HbXJFyEpFaupt5QyLN-pTk+++TI/-Tmp-/PKInstallSandbox-tmp/Root/~, uid=501)
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Executing script "./preinstall" in /private/tmp/PKInstallSandbox.cmlS2H/Scripts/test.test.5year_header.pkg.PFrHNB
Sep 14 15:09:46 manoa installd[5620]: PackageKit: *** launch path not accessible
Sep 14 15:09:46 manoa installd[5620]: PackageKit: Install Failed: PKG: pre-install scripts for "test.test.5year_header.pkg"\nError Domain=PKInstallErrorDomain Code=112 UserInfo=0x100149430 "An error occurred while running scripts from the package “asdf”." {\n NSFilePath = "./preinstall";\n NSLocalizedDescription = "An error occurred while running scripts from the package \U201casdf\U201d.";\n NSURL = "file://localhost/Users/stu/Desktop/asdf.pkg";\n PKInstallPackageIdentifier = "test.test.5year_header.pkg";\n}
Sep 14 15:09:46 manoa Installer[5614]: install:didFailWithError:Error Domain=PKInstallErrorDomain Code=112 UserInfo=0x1195917c0 "An error occurred while running scripts from the package “asdf”."
Sep 14 15:09:46 manoa Installer[5614]: Install failed: The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.
Sep 14 15:09:47 manoa Installer[5614]: IFDInstallController 144040 state = 7
Sep 14 15:09:47 manoa Installer[5614]: Displaying 'Install Failed' UI.
Sep 14 15:09:47 manoa Installer[5614]: 'Install Failed' UI displayed message:'The Installer encountered an error that caused the installation to fail. Contact the software manufacturer for assistance.'.
/private/tmp/PKInstallSandbox.cmlS2H/Scripts/test.test.5year_header.pkg.PFrHNB/
中没有文件,这让我觉得问题出在PackageMaker上,而不是我。但我是OS X软件安装世界的新手,所以仍有疑虑。
那么,问题: OS X 10.6上的PackageMaker是否已打开预安装脚本?或者是否有一些我不明白的预安装脚本要求?
答案 0 :(得分:5)
我遇到了同样的问题,设置脚本的可执行权限为我解决了这个问题!
pkgutil --expand my.pkg my
chmod +x my/inner.pkg/Scripts/preinstall
pkgutil --flatten my my-fixed.pkg
中找到此解决方案
答案 1 :(得分:2)
“无法访问启动路径”可能与哪些软件正在压缩和/或解压缩PKG有关。
所以,我遇到的问题是我的postflight脚本没有运行并导致我的PKG失败。查看安装程序日志(要查看此操作有问题的PKG,然后菜单项'Window&gt;安装程序日志'并从下拉菜单中选择'显示所有日志')我在尝试时看到了可怕的“启动路径无法访问”运行脚本(由PackageMaker重命名为'postflight')。
问题只出现在我客户的系统上。这是一个真正的难题,因为我的两台Mac测试机都没有运行PKG的问题,它们的环境似乎与客户的机器相同。
然后,在赛门铁克网站上的一篇不起眼的帖子中,我看到有人发现此问题与PKG的压缩和/或解压缩方式有关。
果然。我的客户正在从DropBox下载PKG,而DropBox正在压缩它的方式损坏了PKG中的内容。
解决方法是让我在上传到DropBox之前将PKG压缩到我的系统上,然后一切顺利运行。
答案 2 :(得分:0)
我遇到了同样的问题。检查脚本的第一行。在我的情况下,!
丢失了
来自#!/bin/sh