我有小牛10.9.4。我使用pkgbuild和productbuild创建了一个平面软件包,并尝试安装它。一切正常,UI表示该软件包已成功安装,日志未显示任何错误。除非未安装该软件包。我搜索了文件,但在系统中的任何位置都找不到它们,因此指定位置存在问题。禁用Gatakeeper并没有帮助。在命令行中使用安装程序不会安装软件包,也不会显示任何问题。

同样,“ pkgbuild --analyze”产生一个空的属性列表。

我从互联网上下载了MacPorts软件包(.pkg),并尝试安装它。

我没有安装bundle-stype包的问题。

最佳答案

今天,在测试我pkgbuild的几个平面软件包的安装时遇到了相同的问题:
/ Library / System和/ usr的内容已正确安装,但/ Applications中什么都没有!

多亏了一个工作包,我才知道必须指定一个“空” component.plist才能使安装程序正常工作...



这是用pkgbuild --analyze生成的component.plist

工作包:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>


非工作包:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
        <dict>
                <key>BundleHasStrictIdentifier</key>
                <true/>
                <key>BundleIsRelocatable</key>
                <true/>
                <key>BundleIsVersionChecked</key>
                <true/>
                <key>BundleOverwriteAction</key>
                <string>upgrade</string>
                <key>RootRelativeBundlePath</key>
                <string>Applications/MyApp.app</string>
        </dict>
</array>
</plist>




在pkgbuild组件时使用--component-plist指定工作的component.plist可以达到目的:现在所有.pkg都能正常工作

10-06 14:03
查看更多