是否在Snow Leopard上安装了预安装脚本的PackageMaker安装?

时间:2009-09-14 13:14:43

标签: osx-snow-leopard packagemaker

一切都在10.5上工作,但现在我的PackageMaker安装项目已经破解。我已经在几天内解决了一个问题,而且

  • Snow Leopard(OS X 10.6.1)破坏了PackageMaker安装
  • 我缺乏非常非常基本的知识知识

为了缩小问题范围,我已经达到了这一点:

  1. 创建新的PackageMaker安装
  2. 让它将jpeg图像安装到我的家庭指南
  3. 定义无效的preinstall脚本
  4.     #!/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是否已打开预安装脚本?或者是否有一些我不明白的预安装脚本要求

3 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,设置脚本的可执行权限为我解决了这个问题!

pkgutil --expand my.pkg my 
chmod +x my/inner.pkg/Scripts/preinstall 
pkgutil --flatten my my-fixed.pkg 

this thread at golang-nuts groups

中找到此解决方案

答案 1 :(得分:2)

“无法访问启动路径”可能与哪些软件正在压缩和/或解压缩PKG有关。

所以,我遇到的问题是我的postflight脚本没有运行并导致我的PKG失败。查看安装程序日志(要查看此操作有问题的PKG,然后菜单项'Window&gt;安装程序日志'并从下拉菜单中选择'显示所有日志')我在尝试时看到了可怕的“启动路径无法访问”运行脚本(由PackageMaker重命名为'postflight')。

问题只出现在我客户的系统上。这是一个真正的难题,因为我的两台Mac测试机都没有运行PKG的问题,它们的环境似乎与客户的机器相同。

然后,在赛门铁克网站上的一篇不起眼的帖子中,我看到有人发现此问题与PKG的压缩和/或解压缩方式有关。

果然。我的客户正在从DropBox下载PKG,而DropBox正在压缩它的方式损坏了PKG中的内容。

解决方法是让我在上传到DropBox之前将PKG压缩到我的系统上,然后一切顺利运行。

答案 2 :(得分:0)

我遇到了同样的问题。检查脚本的第一行。在我的情况下,!丢失了 来自#!/bin/sh