如何使用PackageMaker或MonoMac向Mono要求/添加依赖项?

时间:2012-10-20 00:03:52

标签: mono packagemaker monomac

我正在构建一个由四个.app包组成的应用程序:启动器,客户端,服务器管理器和运行时。

启动器的.app分布在由MonoMac的打包选项生成的.pkg文件中。其他.app文件由启动器下载/自动更新为ZIP。

在每个.app文件中捆绑Mono的副本将浪费带宽/磁盘空间,但更重要的是,我有一个跨平台的Mono服务器.exe文件,因此不会进入.app包,也不应该包装任何特定于平台的DLL。因此捆绑Mono的私人副本不是一种选择。

我有没有办法创建一个.pkg文件,该文件对全局安装的Mono有依赖性/要求?

我看到PackageMaker有一个可以运行脚本的需求窗格,但我不知道如何正确地检查Mono是否已经安装而不依赖于某些硬编码路径和类似的东西。

我想安装程序检查Mono是否已安装,如果没有安装,请安装它(或者,如果没有,请显示带有Mono网站链接的消息)。

1 个答案:

答案 0 :(得分:0)

我最终切换到Packages,这是一个非常简洁的工具。

我添加了类型&#34的预安装要求; Shell脚本返回true"。我的shell脚本只检查" mono"使用"可执行文件"命令:

#!/bin/bash
which mono
$(exit $?)

当脚本返回false时,我将Packages配置为发出信息性错误消息,其中包含下载Mono的链接(缺少触发Mono下载/安装的方法)。