标签: productbuild

使OS X安装程序包像Pro-Xcode Developer ID一样准备好pkg

注意:这仅适用于OS X Installer程序包,提交到Mac App Store的程序包遵循不同的规则.

由于Mountain Lion的Gatekeeper,我终于不得不把我的PackageMaker构建脚本放在谷仓后面并拍摄它.PackageMaker已经从Xcode中删除并转移到"Xcode的辅助工具"中,所以希望它很快就会被遗忘.

现在的问题是我怎么用pkgbuild,productbuildpkgutil来代替它?

xcode packagemaker productbuild pkgbuild

177
推荐指数
2
解决办法
15万
查看次数

如何禁用表格"是否要将安装程序移动到废纸篓?" 安装完成后

我使用pkgbuild productbuild来构建安装程序.但是,安装在OS X 10.12 Sierra上,安装完成后,我会看到"您是否要将安装程序移动到废纸篓?要将此包和磁盘映像保留在当前位置.请单击"保留".

我想禁用该表.怎么做?

有没有人有关于这种新行为的更多信息?

是否要将安装程序移至废纸篓?

installer operating-system productbuild pkgbuild macos-sierra

14
推荐指数
0
解决办法
789
查看次数

OSX .pkg安装程序有时不会安装.app文件

我的Java应用程序有一个启动器,它是一个.app和一个与它捆绑在一起的帮助应用程序.

我正在尝试使用以下命令使用背景图像制作.pkg安装程序:

pkgbuild --root "./Temp"  --identifier "com.company.id" --install-location "/Applications" --sign "signature" "temp.pkg"
productbuild  --package-path "temp.pkg" --distribution "./Distribution.xml" --package-path "./Temp" --resources "./Resources" --sign "installer signature"  "$FINAL_PKG"
Run Code Online (Sandbox Code Playgroud)

当我查看./Temp目录时,两个.app文件夹都存在,当我解构.pkg时:

pkgutil --expand "temp.pkg" "temp"

我看到.app文件夹,但有时从pkg安装时,其中一个.app文件夹不显示.它们似乎总是在第一次安装时出现,但是在多次安装和删除应用程序的机器上(如在测试和开发机器上),其中一个.app文件夹最终不会显示.我想知道这里会发生什么?

最初我们将帮助应用程序作为主应用程序放在一个单独的目录中,在这种情况下,帮助应用程序有时不会安装,但主应用程序总是会安装.接下来,我们尝试将帮助应用程序放在主应用程序中,然后这是第一次工作,但下次我尝试从安装程序安装主应用程序不在那里!

macos installer productbuild pkgbuild

11
推荐指数
2
解决办法
7205
查看次数

通过productbuild和pkgbuild修改文件所有权

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

pkgbuild --ownership preserve --component ./myApp.app ./myApp-installer.pkg

我的问题是:

  1. 我如何强制pkgbuild兑现我的 - 所有权保留选项?

  2. 是否可以构建一个具有用户所有权并且发往用户区域的单独的仅数据包,并通过pkgbuild的--synthesize选项将其与可执行包合并?如果有,有人可以告诉我如何构建这样一个仅限数据的包吗?

xcode productbuild pkgbuild

10
推荐指数
1
解决办法
1153
查看次数

从Mountain Lion到Lion或Snow leopard制作OS X安装程序包

我按照教程打包我的Mac应用程序.

这些包分两步生成:

  1. 首先,我生成一个临时包pkgbuild.它只包含二进制文件

    pkgbuild --root ${ROOT} --scripts ${SCRIPTS} --identifier myapp \
             --version ${VERSION} --install-location ${INSTALL_DIR} %PKG%
    
    Run Code Online (Sandbox Code Playgroud)

    其中%PKG%是临时包文件名Distribution.xml.

  2. 然后我生成一个包含前一个tmp包,一个Distribution.xml,背景图像等的包productbuild:

    productbuild --distribution ${DIST_FILE} --package-path ${PKG_PATH} \
                 --resources ${RESOURCES} ~/myapp.pkg'
    
    Run Code Online (Sandbox Code Playgroud)

Distribution.xml 看起来像这样:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<installer-gui-script minSpecVersion="1">
    <title>MyApp</title>
    <options hostArchitectures="x86_64"/>
    <options customize="never" rootVolumeOnly="true"/>
    <welcome file="Welcome.rtf"/>
    <license file="license.rtf"/>
    <background file="background.png" scaling="proportional" alignment="bottomleft"/>
    <os-version min="10.6.6"/>
    <options customize="never" require-scripts="false"/>
    <product id="myapp" version="%VERSION%" />
    <choices-outline>
        <line choice="default">
            <line choice="myapp"/>
        </line>
    </choices-outline>
    <choice id="default"/>
    <choice …
Run Code Online (Sandbox Code Playgroud)

macos packaging productbuild pkgbuild

10
推荐指数
1
解决办法
3761
查看次数

Mac应用商店productbuild

Apple 关于向Mac App Store提交应用程序文档包含使用命令productbuild的示例,来自/ Developer/usr/bin /.

productbuild \
--component build/Release/Sample.app /Applications \
--sign "3rd Party Mac Developer Installer: Name1 Name2" \
--product product_definition.plist Sample.pkg
Run Code Online (Sandbox Code Playgroud)

当我在我的示例应用程序上运行此命令时,我收到错误:

productbuild:error:在"product_definition.plist"中找不到产品定义plist.

什么是product_definition.plist,它应该来自哪里,应该包含哪些内容,以及应该使用什么工具来创建这个plist?

macos installer package mac-app-store productbuild

8
推荐指数
1
解决办法
7934
查看次数

禁用使用productbuild创建的安装程序中的"更改安装位置..."按钮

我想在安装程序中禁用"更改安装位置..."按钮(下面的屏幕截图).我正在尝试使用macOSX 10.8上的pkgbuild和productbuild创建安装程序.首先,我使用pkgbuild创建两个.pkg文件.

pkgbuild --root myApp --component-plist myApp.plist --scripts appScripts --identifier com.myapp.coreapp --version 1.0.00 --install-location /Applications --ownership preserve
pkgbuild --root myBr --component-plist myBr.plist --scripts brScripts --identifier com.myapp.browser --version 1.0.00 --install-location /Library/Internet\ Plug-Ins --ownership preserve
Run Code Online (Sandbox Code Playgroud)

在上面的plists中,我使用的BundleIsRelocatable假的.

然后我使用productbuild来创建最终的安装程序包.

productbuild --distribution dist.xml --resources res inst.pkg
Run Code Online (Sandbox Code Playgroud)

在dist.xml,我已经尝试了所有组合domainsrootVolumeOnly,但我仍然不能禁用"更改安装位置..."按钮.

有人可以帮忙吗?非常感谢.

在此输入图像描述

macos productbuild pkgbuild

7
推荐指数
1
解决办法
3012
查看次数

安装时忽略产品构建路径

我有一个用 Qt 构建的 OSX 应用程序。它经过协同设计,打包适合 macstore,并已获得 Apple 批准,可以在 mac store 中销售。

尽管安装后,它会安装到打包过程中它所在的位置,而不是 /Applications。

或者,我正在创建该文件的 .dmg 包,我可以将其安装到 /Applications 中。

在构建过程结束时,我运行以下命令:

codesign --force --deep --verify MyApp.app/ --entitlements ${INSTDIR}/Entitlements.plist -s "3rd Party Mac Developer Application: Company Name"
productbuild --component MyApp.app /Applications --sign "3rd Party Mac Developer Installer: Company Name" MyApp.pkg
Run Code Online (Sandbox Code Playgroud)

其结果是 pkg,我尝试通过安装程序安装它:

$ sudo installer -store -pkg MyApp.pkg -target /
installer: Note: running installer as an admin user (instead of root) gives better Mac App Store fidelity
installer: MyApp.pkg has valid signature for …
Run Code Online (Sandbox Code Playgroud)

macos qt productbuild

7
推荐指数
1
解决办法
2652
查看次数

如何使用 productbuild 在 MacOS Mojave pkg 安装程序中设置背景图像?

我正在productbuild为 MacOS Mojave 创建 .pkg 安装程序。我已阅读Distribution.xml 文件架构参考。我成功地使用它来包含自定义欢迎。因此,当我运行时,我知道我的资源路径被正确使用:

productbuild --resources ./res --sign "$PKG_SIGN_ID" --distribution Distribution.xml foo.pkg

但我似乎无法创建自定义背景图像。我尝试过各种 jpg 和 png 图像。

我已经阅读了这个问题和答案,我已经尝试过en.lproj在我的资源目录中有和没有子目录。

Distribution.xml最终看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<installer-gui-script minSpecVersion="1">
<background file="background.jpg" mime-type="image/jpeg" scaling="tofit"/>
<welcome file="welcome.html"/>
<title>My App</title>
    <pkg-ref id="com.foo.myapp"/>
    <options customize="never" require-scripts="false"/>
    <choices-outline>
        <line choice="default">
            <line choice="com.foo.myapp"/>
        </line>
    </choices-outline>
    <choice id="default"/>
    <choice id="com.foo.myapp" visible="false">
        <pkg-ref id="com.foo.myapp"/>
    </choice>
    <pkg-ref id="com.foo.myapp" version="1.0" onConclusion="none">foo.pkg</pkg-ref>
</installer-gui-script>
Run Code Online (Sandbox Code Playgroud)

这不再可能与莫哈韦沙漠有关吗?

macos productbuild macos-mojave

7
推荐指数
1
解决办法
975
查看次数

pkgbuild 与 Productbuild 之间有什么区别?

我正在尝试为 macOS (Monterey) 上的 CLI 创建一个 .pkg 安装程序。我遇到过pkgbuildproductbuild

它们已经安装在我的 mac 上。

我在哪里可以阅读有关这些 CLI 功能的更多信息?(不仅仅是如何使用)。

两者有什么区别?


我从这个堆栈溢出线程中遇到了它们: Making macOS Installer Packages which are Developer ID ready

macos xcode command-line-interface productbuild pkgbuild

7
推荐指数
1
解决办法
2130
查看次数