我想在安装程序中禁用“更改安装位置...”按钮(下面的屏幕截图)。我正在尝试使用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
在上面的帖子中,我使用BundleIsRelocatable
作为 false 。
然后我使用productbuild创建最终的安装程序包。
productbuild --distribution dist.xml --resources res inst.pkg
在dist.xml中,我尝试了与domains
和rootVolumeOnly
的所有组合,但我仍然无法停用 “更改安装位置...” 按钮。
有人可以帮忙吗?非常感谢。
答案 0 :(得分:10)
我已经为此开了一个雷达错误并得到了答案 - 只需要指定域,并将 rootVolumeOnly 设置为true。
所以,就我而言,以下工作:
<domains enable_localSystem="true"/>
<options rootVolumeOnly="true"/>
答案 1 :(得分:3)
不幸的是,“目的地选择”和“安装类型”始终由安装程序显示。与“更改安装位置...”按钮一样。
这不允许用户更改安装位置,但UI方式不是最佳选择。我只能建议填写错误报告。
您可能需要查看:Known Issues and Workarounds - Destination Select Pane
关于domains
与rootVolumeOnly
的使用情况
答案 2 :(得分:2)
这是一个相当古老的问题,但我刚刚面对这个问题并修复了它。我在互联网上找到的解决方案都没有解决我的问题,因此我会将其答案发给其他遇到此问题的人。
解决方案有些奇怪,但它运行正常。您需要做的就是向安装程序添加一个空插件。以下步骤将指导您完成:
正如您在Plugins文件夹顶层看到的那样,有一个名为DisbableDestinationSelect.bundle的文件夹,还有一个名为InstallerSections.plist的文件
chmod +x DisbableDestinationSelect
你去吧!现在使用如下命令创建最终产品:<?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"
和&#34;更改安装位置......&#34;按钮永远消失了