我刚刚将以下内容添加到我的 install4j 配置中:
+ <action name="" id="1260" customizedId="" beanClass="com.install4j.runtime.beans.actions.control.RunScriptAction"
+ <serializedBean>
+ <java class="java.beans.XMLDecoder">
+ <object class="com.install4j.runtime.beans.actions.control.RunScriptAction">
+ <void property="script">
+ <object class="com.install4j.api.beans.ScriptProperty">
+ <void property="value">
+ <string>boolean sixtyFourBits = System.getProperty("sun.arch.data.model").equals("64");
+if (!sixtyFourBits) {
+ Util.showErrorMessage("Unfortunately, this application requires a 64-bit Mac");
+}
+
+return sixtyFourBits;</string>
+ </void>
+ </object>
+ </void>
+ </object>
+ </java>
+ </serializedBean>
+ <condition>return Util.isMacOS();</condition>
+ </action>
当我在 64 位 Mac 上运行它时,它什么也没做。当我在 32 位 Mac 上运行它时,安装程序会静默退出,没有对话框。system.log 显示:
2013 年 5 月 26 日下午 3:34:00 /Volumes/lantern/Lantern Installer.app/Contents/MacOS/JavaApplicationStub[83467] 忽略了无法识别的 Java VM 选项:2013 年 5 月 26 日下午 3:34:19 [0x0-0xf6cf6c ].com.install4j.3831-6452-7413-7646.1343[83467] 不幸的是,此应用程序需要 64 位 Mac
(我假设第一条消息是不相关的,考虑到时间,并且考虑到脚本实际运行)
除了 showErrorMessage 之外,我还应该使用其他方法吗?