Install4j ShowErrorMessage不起作用?

时间:2013-05-26 21:29:46

标签: install4j

我刚刚将以下内容添加到我的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显示:

5/26/13 3:34:00 PM / Volumes / lantern / Lantern Installer.app/Contents/MacOS/JavaApplicationStub [83467]忽略了无法识别的Java VM选项: 5/26/13 3:34:19 PM [0x0-0xf6cf6c] .com.install4j.3831-6452-7413-7646.1343 [83467]不幸的是,这个应用程序需要64位Mac

(我假设第一条消息是无关的,给定时间,并且假设脚本实际运行)

我应该使用除showErrorMessage以外的其他方法吗?

2 个答案:

答案 0 :(得分:0)

在可以运行操作之前发生故障。显然,您已在“Installer-&gt; Screens&amp; Actions”步骤的“Installer”节点上添加了一个VM选项,阻止32位JVM启动。

答案 1 :(得分:0)

问题是“默认执行模式”设置为“无人参与模式,带进度对话框”。至少,这就是它的样子。

如果我将“默认执行模式”(在安装程序设置中)更改为“GUI模式”,那应该可以解决问题(尽管安装程序中某些无意义的额外屏幕会付出代价)。