









                                  MDIFF  -  MPATCH
                                    Release  1.50













  Simples mas completo este programa produz e aplica patches em seus programas
           e arquivos de dados para Dos, OS/2, Windows95 e WindowsNT.










                        Manual em Portugus(Brasileiro)












           (C) 1995/96 Maurizio Giunti - Todos os Direitos Reservados






     1.INDICE


     1.INDICE                                                                 2


     2.DISCLAIMER OF WARRANTY                                                 3


     3.DISTRIBUIAO E USO                                                     3


     4.PORQUE?                                                                3


     5.O QUE O MDIFF-MPATCH FAZEM?                                            3


     6.EXAMPLO                                                                3


     7.DOS, OS/2, WINDOWS 95 E WINDOWS NT                                     4


     8.LIMITES E BUGS CONHECIDOS                                              4


     9.MDIFF - MDIFF2 - MDIFFW                                                4


     10.MPATCH - MPATCH2 - MPATCHW                                            5


     11.MDF2EXE - MDF2EXE2 - MDF2EXEW                                         6


     12.SUGESTES                                                             6


     13.BIBLIOTECAS PARA APLICAR PATCHES                                      6


     14.REGISTERANDO O MDIFF                                                  6


     15.COMO CONTACTAR O AUTHOR                                               7


     16.AGRADECIMENTOS                                                        7





                                                                              2






     2.GARANTIA
     Esse software e os arquivos que o acompanham sao vendidos como
     estao, sem garantias de performance de vendas ou nenhuma outra
     garantia, implicita ou explicita.
     A unica garantia que acompanha esse software eh que ele ocupara
     espaco de disco. Eu absolutamente NAO posso garantir que ele
     funcionara perfeitamente ou que ele sera a solucao dos seus
     problemas. No entanto ele nao eh um virus e nao contem (a menos que
     infectado ou modificado apos a compilacao) "cavalos de troia",
     acessos escusos nem armadilhas similares. De qualquer forma, o autor
     nao eh responsavel por nenhum dano, moral ou material, direto ou
     indireto, derivado do seu uso.

     3.DISTRIBUIO E USO
     Este software  um programa Shareware : todos podem distribui-lo e usa-lo
     por um periodo de avaliao de 15 dias.  Aps este periodo, os usurios
     que desejarem continuar usando o programa, precisam registra-lo junto ao
     seu autor, Maurizio Giunti.
     Os usurios registrados, recebero a sua "key de registro" que contm seu
     nome (ou da empresa/organizao no caso de licena de site).
     Este software pode ser distribuido livrimente sem cisto, exceto no caso de
     custos de cpia/envio.
      imperativo que seja sempre distribuido o PACOTE original sem qualquer
     modificao.
     Esta  a unica execeo: voc pode distribuir o  MPATCH.EXE, MPATCH2.EXE
     e/ou MPATCHW.EXE  com um ou mais arquivos *.MDF produzidos com uma cpia
     REGISTERADA do MDIFF. Tambm pode ser distribuido qualquer executavel
     produzido com o MDF2EXE.EXE,  MDF2EXE2.EXE  e  MDF2EXEW.EXE que contenha
     SOMENTE  patches MDF criados com uma cpia registrada do MDIFF.
     Sobre os patches *.MDF o autor deste programa no reclama direitos.

     4.PORQUE?
     A alguns meses atrs, eu atualizava um programa meu: desde que o pacote
     compactado tivesse 200 Kbytes, Eu pensei que seria timo usar patch, mas
     Eu no pude encontrar um programa que me satisfizesse pata fazer e aplicar
     patches. Adcionalmente, no encontrei nada que rodasse sob DOS e OS/2.
     Eu decidi fazer meu software de patch e.....aqui est ele ! 8-)

     5.O QUE O MDIFF-MPATCH FAZEM?
     MDIFF  cria arquivos de diferena binaria entre dois arquivos. Com MPATCH
     e o velho arquivo voc pode criar o novo arquivo usando o arquivo de
     diferena. Qual  a vantagem? Usualmente o arquivo de diferena  menor
     e de mais fcil distribuio, especialmente via modem.

     6.EXAMPLO
     Como exemplo, Eu pus em dois diretrios chamados OLD e NEW, respectivamente
     MDIFF.EXE release 1.45a (um trabalho em progresso verso alpha) e MDIFF.EXE
     release 1.45:

     Diretrio de  OLD\*.EXE
     MDIFF.EXE       46602  16/08/95   21.01

     Diretrio de  NEW\*.EXE
     MDIFF.EXE       46602   21/08/95  00.45
                                                                              3






     C:\>mdiff OLD\MDIFF.EXE NEW\MDIFF.EXE
     MDIFF  V1.50 - MDF file generator (Dos)
     (C) Copyright 1995/96 Maurizio Giunti

     Registered to: MAURIZIO GIUNTI

     OLD\MDIFF.EXE,NEW\MDIFF.EXE => MDIFF.MDF
     Working...(100%)   MDF size: 1215 bytes   Rate: 2%
     <Done!>

     Diretrio de  *.MDF
     MDIFF.MDF        1215   7/10/95  13.43

     Agora, ns podemos aplicar o patch chamado MDIFF.MDF no arquivo velho
     e obter o novo a partir dele :

     C:\>mpatch MDIFF.MDF old\MDIFF.EXE
     MPATCH  V1.50 - MDF file applier (Dos)
     (C) Copyright 1995/96 Maurizio Giunti

     MDF file produced by: MAURIZIO GIUNTI

     Working: 0% |###########| 100%
     <Done!>

     Eu obtenho o seguinte arquivo:

     Diretrio de  *.EXE
     MDIFF.EXE       46602  21/08/95   0.41

     com o BINARIO IGUAL ao novo arquivo.

     7.DOS, OS/2, WINDOWS 95 E WINDOWS NT
     Eu usualmente crio MDIFF e MPATCH para Dos, OS/2 e Windows32  s compilando
     o mesmo fonte, sem NENHUMA diferena entre eles. Tambm os arquivos de
     diferena produzidos com MDIFF para Dos podem ser usados com MPATCH para
     OS/2 ou Windows32 e viceversa.

     8.LIMITES E BUGS CONHECIDOS
     MDIFF  no pode trabalhar com arquivos maiores que 16 Mbytes e nao processa
     arquivcos 20 veses menores que o corrente "chunk length".
     Desde que o fonte  o mesmo para o MDIFF Dos, o MDIFF OS/2 no reconhece
     Atributos Extendidos: simplismente os ignora.
     Tambm se voc cria patches com o MDIFF para Dos ou OS/2, e voc aplicar
     com MPATCH para Windows32 e viceversa, se voc cria patches com MDIFF para
     Windows32 e aplicar com MPATCH para Dos ou OS/2, voc vai obter uma data e
     hora errada para o novo arquivo.  Este bug depende de uma implementao
     diferente da funo utime() nos compiladores da Borland  and   Microsoft.

     9.MDIFF - MDIFF2 - MDIFFW
     MDIFF  comparra 2 arquivos e grava as diferenas entre eles num aqruivo de
     diferena. Esta  a sintaxe de linha de comando:

                                                                              4





        MDIFF [-C<c>] [-R<r>] [-F<f>] [-S] [-Z] [-P<pwd>] <OldFile> <NewFile>
                                     [<MDFfile>]

     <OldFile>  o nome do arquivo antigo, <NewFile>  o nome do novo arquivo.
     Se voc quiser, pode especificar o nome do arquivo de diferena que o
     MDIFF  produzir, seno o MDIFF criar um arquivo com o mesmo nome do novo
     arquivo, porm com a extenso ".MDF".
     Para procurar as diferenas entre arquivos, MDIFF usa uma string base de
     tamanho definido chamada "Chunk". O tamanho do Chunk por default  de
     16 bytes, mas voc pode mud-lo, a faixa  de 4-256, com a chave -C seguida
     do tamanho desejado.
     Quando o MDIFF perde o sincronismo entre os dois arquivos comparados, ele
     busca o arquivo velho pelo chunk corrente. Esta busca  executada, por
     default, numa faixa de 8 blocos de 512 bytes cada. Voc pode mudar o nmero
     de blocos procurados, numa faixa de 1-16, com a chave -R seguida pelo
     nmero desejado de blocos.
     Se esta busca falha, MDIFF tenta frocar o sincronismo com uma faixa de
     busca maior. Esta faixa  definida como 1/16 do tamanho do arquivo antigo,
     mas voc pode mudar isto com a chave -F na linha de comando.
     Se Voc especificar a chave -S, MDIFF ir prover alguma informaes sobre
     a composio do arquivo de diferena.
     Tambm voc pode adicionar ao arquivo de diferena um pequeno comentrio
     (max. 2 Kbytes) para ser mostrado quando o patch for aplicado, usando a
     chave -Z .
     MDIFF pega o comentrio do input standard, voc pode digitar diretamente
     ou redireciona-lo de um arquivo com o comando "<".
     Voc pode proteger o patch com uma password usando a chave -P seguida da
     password. Note que a password e case sensitive.

     10.MPATCH - MPATCH2 - MPATCHW
     Com o arquivo antigo e o arquivo .MDF, voc pode criar o novo arquivo com
     o MPATCH. Esta  a sintaxe de linha de comando:

                 MPATCH [-P<pwd>] <MDFfile> [<OldFile> [<NewFile>]]

     MPATCH precisa apenas do nome do arquivo MDF (<MDFfile>) porque ele contm
     os nome dos dois outros arquivos, mas  possvel sobrepor esses nomes
     especificando os nomes na linha de comando. MPATCH tem apenas a chave -P
     para que voc possa especificar a paddword (caso exista).
     Se algunm erro acontecer durante a aplicao do patch, MPATCH retorna um
     errorlevel como abaixo:
     0        "OK!"
     1        "Sem memria !"
     2        "No pode abrir o arquivo MDF !"
     3        "Arquivo MDF invlido !"
     4        "Verso do arquivo MDF incomptivel !"
     5        "UNREGISTERED !"
     6        "Arquivo ANTIGO incorreto ou ruim !"
     7        "No pode abrir o arquivo ANTIGO !"
     8        "No pode criar o NOVO arquivo !"
     9        "Falha geral: NOVO arquivo corrompido !"
     10       "Velho e NOVO arquivo no podem ser os mesmos !"
     11       "NOVO arquivo j sofreu patch !"
     12       "Password errada !"


                                                                              5





     11.MDF2EXE - MDF2EXE2 - MDF2EXEW
     MDF2EXE   um utilitrio simples que pe um ou mais (mais de 127) arquivos
     de patch MDF criados pelo MDIFF, em um executvel (Dos, OS/2 ou Windows32).
     Isto permite que a simples chamada do executvel, instale os patches.
     A sintaxe do MDF2EXE :

           MDF2EXE <mdf_file 1> [<mdf_file 2>....<mdf_file n>] <exe_file>

     Onde <mdf_file x> pode conter wildcards.
     O  <exe_file> (PRECISA ter a extenso .EXE) ser executado sem nenhum
     parametro na linha de comando. Ele ir automaticamente procurar e fazer os
     updates necessrios.
     Eventualmente voce poder usar a chave -P para especificar a password ou
     as chaves -V  ou -L para listar os patches que fazem parte do arquivo.
     Ateno:  No comprima o arquivo self-extract com o PKLite ou LZexe ou
     outro programa similar de compresso/encriptao.

     12.SUGESTOES
     O melhor metodo de aplicar os arquivos de diferena e procurar o chunks do
     novo arquivo dentro do antigo arquivo, mas isto  muito lento para fazer !
     o algoritimo do MDIFF tenta fazer um diff pequeno para melhorar isto; as
     veses  necessrio que voc mude os parametros da linha de comando para
     ajudar tambm.
     Veja esta solues tipicas:
     1.
       Arquivos muito pequenos: use um chunk grande (32, 64  ou mais) para
       redizir o tamanfo do arquivo diff, em particular de arquivos que contem
       arquivos texto ou compactados.
     2.
       Arquivos texto: tente usaar um chunk de 32, algumas veses  melhor que
       desligue o sync forado or reduza este sync com a chave -F.
     3.
       Executveis muito grandes: tente usar uma faixa de resync grande (16 ou
       mais),com a chave -R.
     Lembre-se: MDIFF  no faz milagers! Se dois arquivos so muito diferentes,
     o patch ser um arquivo muito grande. Nesta situao, talvez seja vantagem
     distribuir o novo arquivo. MDIFF  til apenas quanto a quantidade de
     alteraes  limitada.

     13.BIBLIOTECAS PARA APLICAR PATCHES
     Incluido neste pacote, voc encontrar um set completo de bibliotecas para
     fazer seu programa de aplicar patches. Estas bibliotecas NO aplicam
     patches gerados com uma cpia UNREGISTERED do MDIFF.
     Ou seja estas bibliotecas somente aplicam patches gerados com uma verso
     registrada do MDIFF.

     14.REGISTRANDO O MDIFF
     Registrando o MDIFF voc obter sua KEY DE REGISTRO que conter o seu nome
     (ou da firma/organizao para site-licenses). Quando voc produzir um patch
     com o MDIFF registrado, ele gravar seu nome no patch. Quando o MPATCH for
     instalar seus patches, seu nome ser mostrado.
     Tambm qualquer usurio registrado tem a permisso de distribuir livremente
     o MPATCH.EXE, MPATCH2.EXE e MPATCHW.EXE com qualquer MDF preparado  pelo
     usurioa. Qualquer patch self-extract produzido por um usurio registrado,
     pode ser distribuido livremente.
     Nenhum royalty ou taxa extra  requerido!
     Incluso no pacote do MDIFF voc ir encontrar um programa de registro for
     Windows chamado REGISTER.EXE. Por favor, rode-o de DENTRO do Windows.
                                                                              6





     REGISTER.EXE  uma pequena aplicao Windows escrita por Grzegorz  (Greg)
     Kochaniak, que prov as informaes para comprar o MDIFF e permite que
     voc envie diretamente para o Kagi Shareware service por snail  mail,
     e-mail ou fax. Se voc no usa Windows, Por favor, me contacte.
     Para informaes sobre Kagi Shareware por favor leia o arquivo KAGI.TXT.

     15.COMO CONTACTAR O AUTOR
     Para qualquer problema ou pergunta, voc pode me contactar no seguinte
     endereo:

     snail mail:
                     Maurizio Giunti
                     Via G.B. Foggini, 24
                     50142 Firenze (FI)
                     ITALY

     e-mail:
                     Fidonet:      2:332/102.3
                     Internet:     giunti@kagi.com
                                   giunti@abeline.it
                                   giunti@statsun.ds.unifi.it

     16.AGRADECIMENTOS
     Eu gostaria de agradeer a quem me ajudou a desenvolver este software,
     escrever a documentao e a todos que ajudaram-me como beta-testers. Em
     ordem alfabetica:

                            Mauricio Mello de Andreade

                                   Andrea Baitelli

                                    Silvia Borri

                                 Juan Jose Comellas

                                    Filippo Dini

                                 Fabrizio Fioravanti

                                 Cristiano Guidoccio

                                Giovanni Lopes Pegna

                                  Marco Maccaferri

                                  Marco Menichelli

                                   Giuseppe Scarpi

                                   Toni Tatafiore

                                    Duncan Wilcox



                                                                              7

