install4j安装程序无法启动具有特殊字符的用户名

时间:2014-09-23 14:28:28

标签: install4j

如果用户名中包含特殊字符的用户(例如用户名!)启动使用install4j生成的安装程序,则无法启动以下错误:

[ERROR]在实例化bean ID安装程序期间出现异常 [错误] com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException:无法加载propery文件' output_xml.properties'对于输出方法' xml' (检查CLASSPATH) com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException:无法加载propery文件' output_xml.properties'对于输出方法' xml' (检查CLASSPATH)                 at com.sun.org.apache.xml.internal.serializer.OutputPropertiesFactory.getDefaultMethodProperties(Unknown Source)                 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.setDefaults(Unknown Source)                 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.createOutputProperties(Unknown Source)                 在com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl。(未知来源)                 在com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl。(未知来源)                 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(Unknown Source)                 在com.install4j.runtime.installer.helper.XmlHelper.getString(未知来源)                 at com.install4j.runtime.installer.config.AbstractBeanConfig.instantiateBean(Unknown Source)                 at com.install4j.runtime.installer.config.ApplicationBeanConfig.getOrInstantiateApplication(Unknown Source)                 at com.install4j.runtime.installer.config.InstallerConfig.getApplicationById(Unknown Source)                 at com.install4j.runtime.installer.config.InstallerConfig.setCurrentApplicationId(Unknown Source)                 在com.install4j.runtime.installer.Installer.runInProcess(未知来源)                 在com.install4j.runtime.installer.Installer.main(未知来源)                 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)                 在com.exe4j.runtime.LauncherEngine.launch(未知来源)                 在com.exe4j.runtime.WinLauncher.main(未知来源)                 在com.install4j.runtime.launcher.WinLauncher.main(未知来源)

有没有办法解决这个问题?

感谢 Parag Thakur

2 个答案:

答案 0 :(得分:1)

JRE不喜欢在带有感叹号的路径中。捆绑的JRE将被提取到%TEMP%目录,在这种情况下,该目录将包含感叹号。唯一的解决方法是不要在这种情况下使用捆绑的JRE。

答案 1 :(得分:0)

不仅仅是JRE不喜欢带着感叹号的路径;问题是资源包不会从路径中带有感叹号的位置加载。

我找到的解决方案是首先确保安装了适当的JRE,然后使用-manual开关运行安装程序,以防止解压缩和使用捆绑的JRE。

以下是我向技术支持人员提供的详细说明:

  1. 安装适当的JRE(32或64位,具体取决于安装程序的预期)

  2. 右键单击下载的FastDraw安装程序,然后选择“创建快捷方式”(快捷方式将与安装程序文件位于同一位置)

  3. 右键单击该快捷方式,然后选择“属性”

  4. 在结束-manual后向目标添加"(确保在选项前留一个空格);点击确定进行保存。

  5. 双击快捷方式以启动安装程序

  6. 当系统提示无法找到JRE时,请单击找到,然后浏览到C:\Program Files (x86)\Java\jre1.8.0_45\bin\java.exe(替换实际安装的课程版本。)安装程序和已安装的程序将然后使用该JRE而不是尝试安装。

  7. 确保程序安装在不包含感叹号的位置,否则安装的程序可能会遇到与安装程序相同的问题。