2014-09-23 96 views
2

如果以特殊字符的用户名的用户(如用户名!)推出使用install4j产生的安装程序,它无法启动,并出现以下错误:install4j安装程序无法使用特殊字符推出针对用户名

[错误]在bean ID安装程序的实例化过程中出现异常 [错误] com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException:无法为输出方法'xml'加载propery文件'output_xml.properties'(检查CLASSPATH ) com.sun.org.apache.xml.internal.serializer.utils.WrappedRuntimeException:无法在com.sun.org.apache上为输出方法'xml'(检查CLASSPATH) 载入propery文件'output_xml.properties' .xml.internal.serializer.Output PropertiesFactory.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) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl。(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl 。(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(Unknown Source) at com.install4j.runtime.installer.helper.XmlHelper.getString(Unknown Source) at com.install4j.runtime.installer.config.AbstractBeanConfig.instantiateBean(Unknown Source) at com.install4j.runt ime.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(来源不明) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知源) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.exe4j.r untime.LauncherEngine.launch(来源不明) 在com.exe4j.runtime.WinLauncher.main(来源不明) 在com.install4j.runtime.launcher.WinLauncher.main(来源不明)

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

感谢 Parag塔库尔

回答

1

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

+0

谢谢Ingo。我们正在考虑记录以下解决方法: 1.选项命令提示符。 2.将%TEMP%设置为不含特殊字符的备用临时路径。 3.启动安装程序。 – 2014-09-24 04:57:30

+0

是的,这将工作 – 2014-09-24 07:00:00

0

这不仅仅是JRE不喜欢在带有感叹号的路径中;问题是Resource Bundles不会从路径中带有感叹号的位置加载。

我发现的解决方案是首先确保安装了适当的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. 确保程序安装在不包含感叹号的位置,或者安装的程序可能遇到与安装程序相同的问题。

相关问题