Para quem estiver interessado e souber lidar com binários aqui vai um pequeno tutorial de como fazer alguns "hacks" para fazer um determinado programa funcionar não apenas no NAV200 mas em qualquer um que haja a possibilidade de enviar arquivos alterados para os aparelhos.
Antes de sair editando é necessário ferramentas, um site interessante com centenas delas é este aqui:
http://izemize.fw.hu/hpc.php
Para abrir o explorer para que você possa navegar dentro do aparelho no caso um PPC com Windows CE qualquer, baixe o aplicativo que está
neste tópico aqui mesmo na comunidade.
Vamos supor que você queira rodar o Destinator (6 ou 7) seja no NAV200 ou qualquer outro aparelho, você liga o aparelho, navega até a pasta do aplicativo, logo que você tenta iniciá-lo aparece uma mensagem dizendo:
\Windows\Aplicativo.exe is not a valid Windows CE Application
Na verdade ele é um aplicativo válido, porém as bibliotecas que ele precisa para funcionar ou não existe ou não contém as funções necessárias, para saber quais São elas, baixe uma ferramenta chamada
executabilitycheck e execute, abra o aplicativo que deseja executar e espere alguns segundos, ele deve retornar com algo como:
\Windows\etc_etc.dll can't be loaded.
Se o arquivo não é encontrado você pode tentar baixar um (veja o link lá em cima) e tentar colocá-lo na mesma pasta do aplicativo que você está tentando executar, porém, alguns aplicativos pesquisam na pasta \Windows antes de verificar o que está na mesma pasta que ele, neste caso é necessário editar o aplicativo um hexeditor e trocar alguns bytes.
Um que eu recomendo é o
Notepad++, é gratuÃÂto e serve bem para os nossos propósitos, abra o aplicativo no Notepad++ e precione
CTRL+ALT+SHIFT+H, agora precione
CTRL+F em
Data Type selecione
ANSI STRING e procure pelo nome da DLL que ele não encontra, supondo que seja
etc_etc.dll clique me Find.
Quando encontrar
etc_etc.dll troque o byte etc_et
c.dll por qualquer coisa, vamos colocar etc_et
1.dll, como será trocado bytes basta colocar o cursor antes do byte a ser trocado e digitar o que deseja,
não precisa deletar nada. Faça o mesmo com todos os aplicativos ou *.DLL. Agora basta pegar o arquivo
etc_etc.dll e renomear para
etc_et1.dll.
Se a biblioteca for encontrada mas a função que ela precisa não, deverá aparecer algo como:
etc_etc.dll doesn't export a function ordinary 715
Neste caso, será necessário fazer a mesma modificação nos aplicativos ou bbliotecas para que eles sejam encontrados na mesma pasta do programa, então baixe a Versão mais recente e renomeie o arquivo para bater com a modificação que você fez.
Básicamente é assim que se faz, há outros casos aonde é necessário alterar chamadas dos aplicativos decompilando o programa para ler a instrução em assembler e cancelar um call ou trocar um jumper, mas não vou me extender muito no assunto, tem muita documentação na net sobre isso para quem souber procurar.
Algumas vezes você tenta instalar um aplicativo como o Destinator 7, porém ele não funciona por causa da Versão do SO, se você tiver o arquivo *.CAB que acompanha o instalador a coisa fica mais fácil. Dentro desses arquivo deve existir um outro arquivo chamado _setup.xml, neste arquivo tem instruções do que deve ser instalado aonde e com que nome ele deve ter, exemplo:
Aqui mostra aonde vai ser instalado e em que diretório
Código: Selecionar todos
[...]
<parm name="InstallDir" value="\DestinatorApps" translation="install" />
[...]
<characteristic type="%InstallDir%\Destinator\UserData\Favorites\General" translation="install">
[...]
já aqui mostra que o arquivo
DESTIN~1.240 deve ser instalado no diretório acima com o nome
Auto Alert 1.bmp
Código: Selecionar todos
<characteristic type="Auto Alert 1.bmp" translation="install">
<characteristic type="Extract">
<parm name="Source" value="DESTIN~1.240" />
E assim por diante, foi assim que deixei o destinator 7 em português (texto e voz), fazendo tudo isso manualmente.
Para instalar mapas, é mais simples ainda, eles vem compactados, o que você precisa fazer é criar as pastas com os nomes corretos seguidos de sua Versão, por exemplo o mapa de São Paulo, abra o arquivo
WCE.TXT e na primeira linha está escrito
SaoPaulo e na segunda linha descreve a Versão
2006.Q1. Basta agora criar uma pasta no mesmo lugar aonde se encontra o Destinator.exe chamada
SaoPaulo06Q01 e descompacta todo o conteúdo dentro dela, incluÃÂndo o
WCE.TXT e assim por diante.
Para o Destinator 7 é um pouco diferente, se o mapa for São Paulo o nome da pasta deve ser
SaoPaulo_2007_Q2, faça o mesmo com os outros mapas.
Em qualquer um dos dois para que o programa encontre estes mapas, basta editar o arquivo
Destinator.ini na terceira linha aonde diz
MAP_NAME= e adicionar
SaoPaulo06Q01 e salvar, o mesmo vale para o Destinator 7.
Depois basta ir na interface e trocar o mapa conforme a necessidade.