在Windows XP上由install4j安装程序抛出的RuntimeException

在Windows XP上由install4j安装程序抛出的RuntimeException

问题描述:

我有一个可以在Windows 7(x64)上正常工作的install4j安装程序,但是当我试图在(虚拟)Windows XP机器上启动32位版本的安装程序时,安装程序在启动时崩溃,并显示以下信息:在Windows XP上由install4j安装程序抛出的RuntimeException

enter image description here

error.log中包含以下内容:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException 
    at com.install4j.runtime.installer.Installer.getScreenExecutor(Unknown Source) 
    at com.install4j.runtime.installer.Installer.runInProcess(Unknown Source) 
    at com.install4j.runtime.installer.Installer.main(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) 
    at com.exe4j.runtime.WinLauncher.main(Unknown Source) 
    at com.install4j.runtime.launcher.WinLauncher.main(Unknown Source) 
Caused by: java.lang.reflect.InvocationTargetException 
    at java.awt.EventQueue.invokeAndWait(Unknown Source) 
    at java.awt.EventQueue.invokeAndWait(Unknown Source) 
    at javax.swing.SwingUtilities.invokeAndWait(Unknown Source) 
    ... 10 more 
Caused by: java.lang.UnsatisfiedLinkError: could not load i4jinst from C:\Documents and Settings\malt\Local Settings\Temp\e4j7C.tmp_dir1409498652\i4jinst.dll, true, C:\DOCUME~1\malt\LOCALS~1\Temp\e4j7C.tmp_dir1409498652\platform.zip, true, C:\DOCUME~1\malt\LOCALS~1\Temp\e4j7C.tmp_dir1409498652\i4jinst.dll 
    at com.install4j.runtime.installer.platform.win32.Common.init(Unknown Source) 
    at com.install4j.runtime.installer.platform.win32.Registry.<clinit>(Unknown Source) 
    at com.install4j.api.windows.WinRegistry.getValue(Unknown Source) 
    at com.install4j.api.windows.WinRegistry.getValue(Unknown Source) 
    at com.install4j.runtime.installer.helper.registry.Win32Registry.getValue(Unknown Source) 
    at com.install4j.runtime.installer.helper.registry.InstallRegistry.getValue(Unknown Source) 
    at com.install4j.runtime.installer.helper.registry.InstallRegistry.getAllInstallationDirs(Unknown Source) 
    at com.install4j.runtime.installer.helper.registry.InstallRegistry.getInstallationDir(Unknown Source) 
    at com.install4j.runtime.installer.config.InstallerConfig.getInitialInstallationDirectory(Unknown Source) 
    at com.install4j.runtime.installer.config.InstallerConfig.getInstallationDirectory(Unknown Source) 
    at com.install4j.runtime.installer.ContextImpl.getInstallationDirectory(Unknown Source) 
    at com.install4j.runtime.installer.InstallerContextImpl.initUpdateInstallation(Unknown Source) 
    at com.install4j.runtime.installer.InstallerContextImpl.<init>(Unknown Source) 
    at com.install4j.runtime.installer.frontend.InstallerWizardScreenExecutor.<init>(Unknown Source) 
    at com.install4j.runtime.installer.Installer$1.run(Unknown Source) 
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) 
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
    at java.awt.EventQueue.access$200(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.awt.EventQueue$3.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

任何人都可以提出一个解决办法?

编辑:供参考,我使用Install4j 5.1.13

这是在5.1.13回归,并固定在5.1.14。