2015-03-13 32 views
2

当我尝试使用我的.app打包来创建Mac安装程序并运行安装程序时,它会为我创建一个文件夹在我的/ Applications文件夹中命名为“Contents”,而不是“bundle app”。从应用程序包中打包Mac安装程序在/ Applications中安装文件夹“Contents”,而不是捆绑软件本身

我已经测试与PKGBUILD + productbuild:

pkgbuild --component "./myapp.app" --version 1 --install-location /Applications component.pkg 
productbuild --package-path "component.pkg" --distribution "./Distribution.xml" --package-path "./Temp" --resources "./Resources" --sign mycert "myapp.pkg" 

而只是productbuild:

productbuild --component "./myapp.app" /Applications -s mycert myapp.pkg 

在这两种情况下,我运行安装程序,一切似乎都不错,但在应用程序文件夹我请参阅“内容”(即应用程序包的内容)

我已经尝试使用“./myapp.app/”也在--component属性中,甚至在“/Applications/myapp.app”中添加了“/Applications/myapp.app” --install -location

回答

0
pkgbuild --component "./myapp.app" --version 1 --install-location /Applications component.pkg 

随着--component标志,你应该给您的包存在的目录路径。您不应该将路径指定为应用程序包名称。 如果要捆绑./TestDir/myapp.app中的内容,则应该提供路径为./TestDir,并且该目录中的所有内容都将被捆绑。

pkgbuild --component "./TestDir" --version 1 --install-location /Applications component.pkg 

使用目标根/tmp/Sample.dst的全部内容构建包Sample.pkg。

pkgbuild --identifier com.sample.pkg.app --root /tmp/Sample.dst Sample.pkg 
+0

PKGBUILD:在./TestDir PKGBUILD添加组件:错误:路径 “./TestDir” 不是(使用目标路径 “”) – FlamingMoe 2015-04-06 08:58:11

+0

确定一个有效的束分量。你可以尝试--root而不是--component。它将使用目标根目录的全部内容来构建软件包。 – 2015-04-06 09:07:59

0

由于Vikram声明pkgbuild不应捆绑“.app”,而是只查找该目录中的“内容”。

如果您的唯一目标是更改为安装软件包的目录,则可以指定替代安装位置。

pkgbuild --component "./myapp.app" --version 1 --install-location /Applications/myapp.app component.pkg 
相关问题