如何从windows命令提示符修改Java控制面板选择(对应于deployment.properties文件)?

如何从windows命令提示符修改Java控制面板选择(对应于deployment.properties文件)?,java,security,applet,awt,java-7,Java,Security,Applet,Awt,Java 7,如何从windows命令提示符修改Java控制面板选择(对应于deployment.properties文件? 具体地说,我正在从的“提示用户”窗口(单击Java控制面板中“安全性”选项卡中“安全性”滑块的“自定义”设置旁边的“设置…”按钮)中查找可以影响本地小程序操作选择中更改的命令至“无提示运行”。此设置的默认值随Java 7的更新11而更改,它会干扰自动测试程序的操作(我现在正在修复该程序),因为IE启动Java.exe时会弹出一个安全警告对话框窗口,除非事先调整此Java控制面板设置。此

如何从windows命令提示符修改Java控制面板选择(对应于deployment.properties文件? 具体地说,我正在从
的“提示用户”窗口(单击Java控制面板中“安全性”选项卡中“安全性”滑块的“自定义”设置旁边的“设置…”按钮)中查找可以影响
本地小程序操作选择中更改的命令
“无提示运行”
。此设置的默认值随Java 7的更新11而更改,它会干扰自动测试程序的操作(我现在正在修复该程序),因为IE启动Java.exe时会弹出一个安全警告对话框窗口,除非事先调整此Java控制面板设置。此测试程序启动IE以运行本地Java小程序,该小程序使用AWT编写,并且不访问任何网站

注意,这个问题最近已经讨论过了——请参阅

在我的任务中,手动修改Java控制面板设置是解决问题的最不可取的方法,因为我正在修复的程序是自动测试套件的一部分,该套件部署在许多机器上,需要手动干预,因此部署过程容易出错。我需要从windows命令提示符批处理文件运行这些命令

我发现这些安全级别选择记录在Java deployment.properties文件和2个Windows注册表中的键下,这些键的名称以
“Software\JavaSoft\DeploymentProperties”结尾。
deployment.properties文件在中进行了全面讨论,但没有明显提到有关
本地小程序的操作
,可能是因为此属性是最近添加的(?)
当我在Java控制面板中调整Java安全级别和
“本地小程序的操作”
时,我看到deployment.properties文件以及DeploymentProperties注册表项中反映的更改

因此,我可以做到以下几点:

  • 通过脚本调整deployment.properties文件(保存原始文件)
  • 通过脚本启动Java控制面板——我注意到这将更新从deployment.properties文件复制到注册表项DeploymentProperties
  • 终止运行Java控制面板的javaw进程

    • 然后在IE中运行使用本地Java小程序的程序
    • 然后将deployment.properties文件还原为原始文件,通过脚本启动Java控制面板,并终止运行Java控制面板的javaw进程
  • 我也尝试了相反的方法——更新注册表项——但文件没有更改,Java控制面板将注册表项的值设置还原为与未修改的deployment.properties文件一致!因此,更新注册表项是一种错误的方法

    有更好的方法吗?我上面的三步解决方案(修改属性)是一个很难实现的问题是否有可以修改给定部署属性的Java命令行实用程序?是否有方法通过小程序标记的属性将这些部署属性传递给JVM,以便仅在给定Java小程序中有效


    我使用了WindowsXP(32位和64位)、Windows7(64位)和InternetExplorer7、8和9。最好有一个能在Windows XP、Windows Vista、Windows 7和Windows 8上运行的(简单)解决方案。

    根据下面的文章将其设置为安装:

    安装时,WEB_JAVA_SECURITY_LEVEL参数具有以下效果:

    WEB_JAVA_SECURITY_LEVEL=VH sets the security level to very high
    WEB_JAVA_SECURITY_LEVEL=H sets the security level to high
    WEB_JAVA_SECURITY_LEVEL=M sets the security level to medium
    WEB_JAVA_SECURITY_LEVEL=L sets the security level to low
    

    安装JRE后,请验证Java控制面板中的安全级别设置。

    我已经用Java 7u25完成了测试

    在此处放置deployment.properties时 c:\windows\sun\java\deployment\deployment.properties

    下次运行javaw或打开控制面板(也运行javaw)时,新设置将生效

    理论上,您应该能够使用脚本删除新的deployment.properties文件,然后立即运行应用程序。关闭应用程序。然后将原始deployment.properties文件复制回以恢复安全设置

    我还想提到的是,通过将可信证书存储的存储位置更改为共享位置,您可以摆脱“是否要运行此应用程序”框。将通过手动批准任何其他计算机上的证书而生成的trusted.certs文件放入其中的操作。请注意,额外的斜杠是必需的,因为冒号是保留字符,反斜杠是转义字符

    #moves the user trusted certificates store to a shared location so we can pre-approve controls
    deployment.user.security.trusted.certs=C\:\\Program Files\\Java\\jre7\\security\\trusted.certs
    

    只需创建自己的deployment.properties文件,并将其放在*{User Application Data Folder}\LocalLow\Sun\Java\deployment*位置。或编辑现有文件。需要重新启动internet浏览器

    如中所述,只需搜索“配置Java”,它将打开“Java控制面板”。该文件位于JRE文件夹中

    或者,您可以转到“控制面板”并单击“Java”图标

    在那里,只需根据您的意愿降低或提高安全级别

    我希望我帮了忙


    祝你今天愉快。:)

    我用粗体字将问题格式化,使问题在帖子中更为明显。对不起,如果有任何混乱。总之,我希望有人能给出一个比我在文章中概述的更好的解决方案作为回应。但那篇文章所解释的方法对我来说并不合适,因为我需要基于脚本(命令提示符)的方法来验证这些设置,并在必要时(再次使用脚本)将它们调整到所需的值。链接现在已断开。新链接