Empacote / isole os navegadores junto com as versões antigas do Java?

3

Estou precisando fornecer versões antigas do Java (1.4, 1.5 e 1.6) para três páginas da Web diferentes que requerem o Plug-in Java nessas versões específicas desatualizadas.

Meu ambiente é um servidor de terminal do Windows Server 2012. Já entrei em contato com os fornecedores desses três aplicativos Web, mas eles não serão atualizados para suportar uma versão atual do Java. No entanto, esses aplicativos são essenciais para nossos negócios - nós simplesmente não podemos substituí-los.

Estou pensando agora em uma solução que basicamente faz o seguinte: Empacote um Firefox junto com a versão necessária do Java, como o Firefox portable. Esta versão empacotada deve ser limitada para permitir apenas abrir um conjunto limitado de URLs (aquelas aplicações web estranhas). Deveria ser possível rodar aqueles Firefoxes "empacotados" simultaneamente com a versão regular atualizada do navegador.

Existe alguma solução ou ferramenta pronta para uso que permita criar esse pacote de navegador e uma versão específica (antiga) do navegador?

Meus requisitos são

  • Os usuários devem poder iniciar as diferentes versões do navegador com diferentes versões de plug-ins Java ao mesmo tempo no mesmo servidor de terminal
  • Os navegadores compactados com as versões antigas do Java devem ser limitados àqueles aplicativos web antigos e estranhos (para evitar riscos de segurança ao acessar a Internet com um navegador desatualizado / versão Java)

Eu já tentei usar o Firefox Portable, mas não é permitido rodar uma versão portátil e regular do Firefox ao mesmo tempo (apenas um binário do Firefox pode rodar ao mesmo tempo no mesmo terminalerver). Também não é possível executar várias versões diferentes do Firefox portátil ao mesmo tempo.

    
por t3chris 30.10.2013 / 09:21

1 resposta

3

Para executar uma instância separada do Firefox portátil, copie FirefoxPortable.ini (em \ FirefoxPortable \ Other \ Source \ ) para \ FirefoxPortable (onde reside o FirefoxPortable.exe ) e no FirefoxPortable.ini defina AllowMultipleInstances = true . Observe que o jPortable não parece ter as versões anteriores necessárias.

Outra opção seria usar o XULRunner . Faça o download e descompacte o xulrunner-1.8.0.4.pt-BR.win32.zip (por exemplo C: \ xulrunner ). Além disso, faça o download (o link é de Começando com o XULRunner ) e descompacte um exemplo de aplicativo xulrunner (helloWorld) que pode ser usado como modelo (por exemplo, C: \ helloWorld ).

Em C: \ helloWorld, as únicas pastas / arquivos necessários para este exemplo são chrome, defaults, application.ini e chrome.manifest.

Em C: \ helloWorld \ application.ini, defina MaxVersion = 49.0 .

Em C: \ helloWorld \ chrome \ content \ hello.xul, elimine / substitua a secção de <caption label= ... até e incluindo </description> com isto: <browser src="http://internalJava_1.5_Site"type="content" flex="1"/> Consulte os elementos (XUL) link para os detalhes da janela e do navegador .

Em C: \ helloWorld \ defaults \ preferences \ prefs.js adicione (no final e também adicione uma linha vazia como a última linha):

pref("plugin.scan.SunJRE", "49.0");
pref("plugin.scan.plid.all", false);

Copie NPJPI150_22.dll e NPOJI610.dll do diretório 1.5 install_directory \ bin do Java JRE para C: \ xulrunner \ plugins.

Em um prompt do CMD, insira: C:\xulrunner\xulrunner.exe C:\helloWorld\application.ini . Se tudo estiver bem, feche o aplicativo / site, exclua / substitua as duas DLLs copiadas em C: \ xulrunner \ plugins pelas DLLs correspondentes de outra versão Java (por exemplo, Java 1.4), substitua http://internalJava_1.5_Site em C: \ helloWorld \ chrome \ content \ hello.xul com o site Java 1.4 correspondente e verifique.

Mais tarde, você pode clonar as pastas xulrunner e helloWorld duas vezes, fazer as alterações src = necessárias nos três arquivos hello.xul e copiar as DLLs de versão corretas (duas cada) nos três \ plugins pastas.

Opcionalmente, crie três atalhos em C: \ Users \ Public \ Desktop \ e / ou C: \ ProgramData \ Microsoft \ Windows \ Menu Iniciar \ para executar as três versões. por exemplo. C:\xulrunner\xulrunner.exe C:\helloWorld\application.ini

Para bloquear os aplicativos xulrunner / xulrunner, em C: \ xulrunner \ defaults \ pref \ xulrunner.js add (e deixe a última linha em branco):

pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

Em seguida, crie o mozilla.cfg em C: \ xulrunner e adicione:

//
lockPref("plugin.scan.SunJRE", "49.0");
lockPref("plugin.scan.plid.all", false);
lockPref("plugin.scan.4xPluginFolder", false);
lockPref("plugin.scan.Acrobat", "99.0");
lockPref("plugin.scan.Quicktime", "99.0");
lockPref("plugin.scan.WindowsMediaPlayer", "99.0");
lockPref("javascript.enabled", false);
lockPref("network.proxy.no_proxies_on", "internalJava_1.5_Site"); 
lockPref("network.proxy.autoconfig_url", "");
lockPref("network.proxy.type", 1);
lockPref("network.proxy.ftp", "127.0.0.1");
lockPref("network.proxy.ftp_port", 80);
lockPref("network.proxy.gopher", "127.0.0.1");
lockPref("network.proxy.gopher_port", 80);
lockPref("network.proxy.http", "127.0.0.1");
lockPref("network.proxy.http_port", 80);
lockPref("network.proxy.socks", "127.0.0.1");
lockPref("network.proxy.socks_port", 80);
lockPref("network.proxy.socks_version", 5);
lockPref("network.proxy.socks_remote_dns", false);
lockPref("network.proxy.ssl", "127.0.0.1");
lockPref("network.proxy.ssl_port", 80);

Arquivo de bloqueio (política) , about: config Entradas (preferências) . Para solucionar uma configuração, adicione barras duplas (//) antes de um lockPref ou pref para comentar a configuração / linha.

PS: O Notepad ++ pode ser muito útil para visualizar / editar os vários arquivos, preservando a codificação correta.

O que o XULRunner oferece , Dicas do XULRunner , Perguntas frequentes do XULRunner , application.ini , XUL , XUL Template Primer , Estrutura XUL , Elementos (XUL) , Propriedades (XUL) , Atributos (XUL) , Eventos (XUL) , Métodos (XUL) , XUL Tutorial

    
por 06.11.2013 / 06:39