使用productbuild创建的pkg未安装在Applications/

问题描述 投票:0回答:1

在 Mac OSX 中,当我使用

productbuild
创建包时,它会创建(正如您在下面看到的它的使用方式),给出目标
/Applications
。但它永远不会安装在该位置。我也尝试过其他路径,但没有运气。

_CreateInstaller:
  Creating installer package

  /usr/bin/productbuild --component /Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.app /Applications /Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.pkg 

Done Building Project "/Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.Mac.csproj" (default targets).
Done Building Project "/Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.Mac.sln" (Build target(s)).

Build succeeded.

指导我解决这个问题?

macos visual-studio package productbuild
1个回答
0
投票

如果使用 Productbuild 创建的包未按预期将应用程序安装在

/Applications
目录中,您可以检查一些内容并尝试看看可能出了什么问题。以下是一些故障排除步骤:

检查包装内容

确保应用程序正确包含在包中:

  • 打开您创建的.pkg 文件并检查内容。你可以做的
    右键单击 .pkg 文件并选择“显示包”
    内容。确保脚本和有效负载部分存在
    并正确配置。

验证路径

确认您在命令中提供的路径正确:

  • 确保指定 /Applications 时不带任何尾随 斜杠或拼写错误。
  • 您可能还想暂时尝试使用不同的位置 看看它是否有效(如 /tmp/MyApp),只是为了确认包是否有效 一般来说。

检查权限

确保您拥有在

/Applications
安装应用程序所需的权限:

  • 使用具有管理权限的帐户安装软件包 权限或使用 sudo 运行安装程序。

安装体验

当您尝试安装该软件包时会发生什么?

  • 检查安装过程中是否有错误信息 过程。
  • 使用命令行安装以获得更详细的输出:

sudo installer -pkg /path/to/MyApp.pkg -target /

检查安装程序

确保分发 XML 文件不会更改预期的安装目标:

  • 如果您使用分发文件,请确保它正确指定 安装位置。重新访问分发设置 文件。

检查安装冲突

有时,以前安装的应用程序或多个版本的应用程序可能会产生冲突:

  • 检查 MyApp 是否已存在于 /Applications 中。如果是,请尝试 删除它并重新安装。
  • 查看控制台日志(应用程序 > 实用程序 > 控制台) 安装与失败相关的任何消息。

干净构建

如果以上方法均不起作用,请尝试清理您的构建环境:

  • 删除所有旧的包文件或临时缓存并重建您的 项目完全。

手动测试打包工具

测试您使用的可执行文件和打包工具是否正常运行:

安装后运行

pkgutil --pkg-info <package-id>
检查包。 确保 Mac 不会因安全设置而阻止安装。 参考命令示例 确保您的命令正确并反映了预期的安装目标:

/usr/bin/productbuild --component "/Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.app" "/Applications" "/Users/anoopvaidya/Documents/Projects/DesktopClient/MyApp.pkg"

使用基本示例进行验证

要验证您的构建过程,请使用一个简单的应用程序并尝试打包并安装它。如果有效,则您的应用程序配置可能存在需要调整的特定问题。

最后注意事项

如果执行这些步骤后仍然遇到问题,请考虑检查 Apple 开发者论坛或更新您的开发工具(Xcode、命令行工具等),因为有时环境异常会导致无法解释的行为。

© www.soinside.com 2019 - 2024. All rights reserved.