Pessoal,
Estou criando um .JAR da minha aplicação, mas acontece que uma das bibliotecas que uso, utiliza uma DLL que tenho que colocar no /System32.
Acontece que ao tentar executar meu programa pelo .JAR ele da o erro exatamente em uma das funções que utiliza a .DLL.
Tem algum modo de gerar o .JAR com a .DLL??
Meu arquivo Manifest:
Citação:
Uma tentativa para ver se ele incluia o path da DLL
Citação:
Mas nenhum funcionou…Algué sabe como posso fazer nesse caso…
Acho que você não pode usar “” em nomes de arquivos e classes, e mesmo no “Name” não é bom pôr isso.
Espaços em nomes de arquivo nunca foram boa coisa. Experimente copiar o LatteLibWin-3.0.0.jar para um diretório sem espaços, e talvez tirar a letra do drive (não sei se “:” também não é bom de usar)
Manifest-Version: 1.0
Main-Class: registro.Main
Name: Main
Java-Bean: true
Class-Path: /LatteLibWin-3.0.0.jar
Acontece que eu consigo executar pelo Netbeans…
E para ver se o problema era com o carregamento da DLL, eu tirei a DLL do windows/System32, e tetei rodar pelo NetBeans, ai que eu tive certeza, pois o erro foi o mesmo que estava dando no .JAR.
Eu acho isso um grande problema…pois tenho uma aplicação pronta que não posso distribuir, pq não hà a possibilidade de o .JAR (Executavel padrão do Java) localiza uma DLL…
E essa DLL nem é minha, faz parte de uma API que usei.
Procurei em tudo que forum e até agora parece que esse problema não tem solução…
Eu passei por algo similar aqui no trabalho… a solução que eu encontrei foi tentar encontrar a .DLL no windows\system32 se eu não encontrar eu baixo do meu servidor e gravo lá… mais a minha aplicação [APPLET] roda na intranet.
Então, mas esse não é o grande problema…acontece que a DLL na minha máquina está no System32. E não seria o problema copiar a DLL no System32 do usuário…
Acontece que o .JAR não procura essa .DLL.
Na hora de compilar pelo NetBeans por exemplo, ele procura e executa essa DLL.
Mas pelo .JAR creio eu que deve ter alguma opção ou alguma forma de forçar isso…
Só que ninguém sabe fazer isso…
Agora imagine uma aplicação grande que necessite de alguma dll…como os programadores fazem para executar ela???
Eu fiz um pequeno programa que testa uma função que utiliza essa dll…
Eu estou anexando o código do programa e a API responsável pelo acesso do Registro…
Ambos são muito pequenos…menos de 500 Kb…
Se alguem se enteressar em testar a crição de Jar e tentar me ajudar…eu agradeço…
Acho que dessa forma fica mais facil…
Qualquer problema com o arquivo me mande uma MP com seu e-mail e envio direto…
[EDITADO]
Só mais uma coisa… você nem precisa dar load na DLL porque você usa uma API acessa a DLL, no meu caso isso não existia, eu acessava a DLL diretamente.