7

我想在安装程序中禁用“更改安装位置...”按钮(如下截图)。我正在尝试在 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

在上面的 plists 中,我使用BundleIsRelocatableas false

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

productbuild --distribution dist.xml --resources res inst.pkg

在 dist.xml 中,我已经尝试了所有的组合以及domainsrootVolumeOnly但我仍然无法禁用“更改安装位置...”按钮。

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

在此处输入图像描述

4

3 回答 3

11

我为此打开了一个雷达错误并得到了答案 - 只需指定所需的并将rootVolumeOnly设置为 true。

所以,就我而言,以下工作:

<domains enable_localSystem="true"/>
<options rootVolumeOnly="true"/>
于 2013-06-20T05:26:53.390 回答
3

不幸的是,安装程序总是显示“目的地选择”和“安装类型”。与“更改安装位置...”按钮一样。

这不允许用户更改安装位置,但在 UI 方面它不是最佳的。我只能建议针对它填写错误报告。

您可能想查看:已知问题和解决方法-Destination Select Pane关于domainsvs的使用rootVolumeOnly

于 2013-05-13T12:10:04.620 回答
2

这是一个很老的问题,但我刚刚遇到这个问题并修复了它。我在互联网上找到的解决方案都没有解决我的问题,所以我会为其他面临这个问题的人发布我的答案。

解决方案有点奇怪,但效果很好。您需要做的就是在安装程序中添加一个空插件。以下步骤将指导您完成:

  1. 在您的项目中创建一个名为 Plugins 的文件夹,我假设该文件夹位于您的 distribution.xml 文件旁边。
  2. Plugins 文件夹内的文件结构应如下所示:

在此处输入图像描述

正如您在 Plugins 文件夹的顶层看到的,有一个名为 DisbableDestinationSelect.bundle 的文件夹,还有一个名为 InstallerSections.plist 的文件

  1. 在 DisbableDestinationSelect.bundle 下,您需要确切的文件夹结构。DisbableDestinationSelect 是一个必须是可执行的空文件。因此,如果您在命令行中创建文件,请不要忘记运行chmod +x DisbableDestinationSelect
  2. InstallerSections.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">
<dict>
  <key>SectionOrder</key>
  <array>
      <string>DisbableDestinationSelect.bundle</string>
      <string>Introduction</string>
      <string>ReadMe</string>
      <string>Target</string>
      <string>PackageSelection</string>
      <string>Install</string>
  </array>
</dict>
</plist>

给你!现在使用如下命令创建您的最终产品:

productbuild --distribution distribution.xml --resources Resources/ --plugins Plugins/ --package-path ./ "$PRODUCT_NAME.pkg"

并且“更改安装位置...”按钮永远消失了

于 2016-03-23T14:02:47.583 回答