home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mdf160.zip / MDF_ITA.TXT < prev    next >
Text File  |  1997-01-11  |  18KB  |  466 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.                                   MDIFF  -  MPATCH
  12.                                     Release  1.60
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.           Un software semplice ma completo per produrre e applicare patch a
  24.            programmi e file di dati per Dos, OS/2, Windows95 e WindowsNT.
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.                              Manuale in lingua italiana.
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.                (C) 1997/98 Maurizio Giunti - Tutti i diritti riservati
  47.  
  48.  
  49.  
  50.  
  51.  
  52.      1.SOMMARIO
  53.  
  54.  
  55.      1.SOMMARIO                                                               2
  56.  
  57.  
  58.      2.GARANZIE                                                               3
  59.  
  60.  
  61.      3.USO E DISTRIBUZIONE                                                    3
  62.  
  63.  
  64.      4.PERCHE'                                                                3
  65.  
  66.  
  67.      5.A COSA SERVE                                                           3
  68.  
  69.  
  70.      6.ESEMPIO                                                                4
  71.  
  72.  
  73.      7.DOS, OS/2, WINDOWS 95 E WINDOWS NT                                     4
  74.  
  75.  
  76.      8.LIMITI E BUG NOTI                                                      4
  77.  
  78.  
  79.      9.MDIFF - MDIFF2 - MDIFFW                                                5
  80.  
  81.  
  82.      10.MPATCH - MPATCH2 - MPATCHW                                            5
  83.  
  84.  
  85.      11.MDF2EXE - MDF2EXE2 - MDF2EXEW                                         6
  86.  
  87.  
  88.      12.ALCUNI CONSIGLI                                                       6
  89.  
  90.  
  91.      13.LIBRERIE PER APPLICARE PATCH                                          7
  92.  
  93.  
  94.      14.COME REGISTRARSI                                                      7
  95.  
  96.  
  97.      15.COME CONTATTARE L'AUTORE                                              7
  98.  
  99.  
  100.      16.RINGRAZIAMENTI                                                        8
  101.  
  102.  
  103.  
  104.  
  105.  
  106.                                                                               2
  107.  
  108.  
  109.  
  110.  
  111.  
  112.      2.GARANZIE
  113.      QUESTO SOFTWARE E I FILE CHE LO ACCOMPAGNANO SONO DISTRIBUITI COSI' COME
  114.      SONO, E SENZA GARANZIE DI FUNZIONAMENTO O QUALUNQUE ALTRA GARANZIA.
  115.      L'unica  garanzia  fornita con  questo software  è  che occupa  spazio  su
  116.      disco.  Non posso assolutamente  garantire che   funzioni perfettamente  o
  117.      rappresenti la soluzione di ogni vostro problema. Sono inoltre  sicuro che
  118.      non  è un virus e   non contiene (a  meno che non sia  stato infettato   o
  119.      modificato  dopo  la  compilazione)  Trojan-Horses,  Back-Doors   o  altre
  120.      diavolerie  simili.  In ogni  caso  l'autore declina  ogni  responsabilità
  121.      diretta  o indiretta, per  eventuali danni   morali o materiali  derivanti
  122.      dal suo uso.
  123.  
  124.      3.USO E DISTRIBUZIONE
  125.      Questo software appartiene allo Shareware, ciò significa che  chiunque può
  126.      liberamente  distribuirlo e  può usarlo  gratuitamente per  un periodo  di
  127.      prova  di 15 giorni.  Dopo tale  periodo gli utenti  che continueranno  ad
  128.      usarlo  devono registrare la loro  copia mandando il contributo  richiesto
  129.      all'autore, Maurizio Giunti.
  130.      Gli  utenti così registrati riceveranno  un "codice di registrazione"  che
  131.      conterrà  il loro  nome (o  il nome  della loro  impresa in  caso di  site
  132.      license).
  133.      Questo  software  può  essere liberamente  distribuito  ma  gratuitamente,
  134.      salvo le spese di copia e spedizione.
  135.      E'  imperativo che  il pacchetto  originale che contiene  il software  sia
  136.      distribuito senza alcuna modifica.
  137.      Gli   utenti  registrati  potranno  distribuire  liberamente   MPATCH.EXE,
  138.      MPATCH2.EXE  e MPATCHW.EXE insieme a uno o più file *.MDF prodotti con  la
  139.      loro  copia registrata di  MDIFF. Inoltre gli  utenti registrati  potranno
  140.      liberamente  distribuire patch  auto installanti  create con  MDF2EXE.EXE,
  141.      MDF2EXE2.EXE  e MDF2EXEW.EXE,  che contengano solo  file *.MDF  realizzate
  142.      con una copia registrata di MDIFF.
  143.      In  ogni  caso i  file  di patch  *.MDF  create da  MDIFF  possono  essere
  144.      liberamente  distribuiti, l'autore di MDIFF  non reclama alcun diritto  su
  145.      di essi.
  146.  
  147.      4.PERCHE'
  148.      Qualche  tempo fa  dovevo rilasciare  una versione  aggiornata di  un  mio
  149.      programma:  il pacchetto compresso "pesava"  più  di 200 Kbyte, e  sarebbe
  150.      stato  sicuramente  più  conveniente  per  tutti  aggiornare   il  vecchio
  151.      eseguibile  tramite una patch.   Mi misi in caccia  di un software che  mi
  152.      permettesse  di creare e distribuire patch dei  miei programmi  per Dos  e
  153.      OS/2:  per Dos ne ho trovati alcuni (ma non mi hanno soddisfatto per  vari
  154.      motivi),   per  OS/2  neanche  uno!  Ho  quindi  deciso  di  farmene   uno
  155.      e....eccolo qui ! 8-)
  156.  
  157.      5.A COSA SERVE
  158.      MDIFF  crea un file binario  di differenza tra due  file. Con MPATCH e  il
  159.      vecchio  file  si  può ricreare  il  nuovo  file   partendo  dal  file  di
  160.      differenza.  Cosa c'è di buono in tutto  ciò? Semplice: supponendo che  il
  161.      file  di differenza  sia   più breve  del nuovo  file, è  più  conveniente
  162.      distribuire  solo  quello invece  di  tutto  il file,  soprattutto  se  la
  163.      distribuzione avviene via modem.
  164.  
  165.  
  166.                                                                               3
  167.  
  168.  
  169.  
  170.  
  171.      6.ESEMPIO
  172.      A  titolo  di  esempio ho  messo  in  due directory  chiamate  OLD  e  NEW
  173.      rispettivamente  MDIFF.EXE  release 1.45a  (una release  intermedia  sulla
  174.      quale stavo lavorando) e MDIFF.EXE release 1.45 definitiva:
  175.  
  176.      Directory of  OLD\*.EXE
  177.      MDIFF.EXE       46602  16/08/95   21.01
  178.  
  179.      Directory of  NEW\*.EXE
  180.      MDIFF.EXE       46602   21/08/95  00.45
  181.  
  182.      C:\>mdiff OLD\MDIFF.EXE NEW\MDIFF.EXE
  183.      MDIFF  V1.50 - MDF file generator (Dos)
  184.      (C) Copyright 1995/96 Maurizio Giunti
  185.  
  186.      Registered to: MAURIZIO GIUNTI
  187.  
  188.      OLD\MDIFF.EXE,NEW\MDIFF.EXE => MDIFF.MDF
  189.      Working...(100%)   MDF size: 1215 bytes   Rate: 2%
  190.      <Done!>
  191.  
  192.      Directory of  *.MDF
  193.      MDIFF.MDF        1215   7/10/95  13.43
  194.  
  195.      Adesso  possiamo applicare la  patch MDIFF.MDF al  vecchio eseguibile  per
  196.      ricostruire quello nuovo:
  197.  
  198.      C:\>mpatch MDIFF.MDF old\MDIFF.EXE
  199.      MPATCH  V1.50 - MDF file applier (Dos)
  200.      (C) Copyright 1995/96 Maurizio Giunti
  201.  
  202.      MDF file produced by: MAURIZIO GIUNTI
  203.  
  204.      Working: 0% |###########| 100%
  205.      <Done!>
  206.  
  207.      Ottenendo il seguente file:
  208.  
  209.      Directory of  *.EXE
  210.      MDIFF.EXE       46602  21/08/95   0.41
  211.  
  212.      che è identico al file MDIFF.EXE che della directory NEW.
  213.  
  214.      7.DOS, OS/2, WINDOWS 95 E WINDOWS NT
  215.      MDIFF  e  MPATCH  per  Dos,  OS/2  e  Windows  sono  ottenuti  tramite  la
  216.      compilazione  dei  medesimi sorgenti,  quindi  non c'è  alcuna  differenza
  217.      nella  funzione e nell'uso di tali  programmi sui vari sistemi  operativi.
  218.      Inoltre  i  files  *.MDF  prodotti  con MDIFF  per    Dos  possono  essere
  219.      utilizzati con MPATCH per OS/2 o Windows32 e viceversa.
  220.  
  221.      8.LIMITI E BUG NOTI
  222.      MDIFF  non può trattare files più ampi di 16 Megabyte o più piccoli  di 20
  223.      volte la lunghezza del chunk settata.
  224.  
  225.  
  226.                                                                               4
  227.  
  228.  
  229.  
  230.  
  231.      Dato  che MDIFF per OS/2, è ottenuto tramite una compilazione diretta  dei
  232.      sorgenti  di MDIFF  per Dos,  non è  in grado  di trattare  gli  attributi
  233.      estesi, quindi si limiterà ad ignorarli.
  234.      Inoltre  se si costruisce un file di patch con  MDIFF per Dos o OS/2 e  si
  235.      applica  con MPATCH per  Windows32 (o  viceversa) il file  che si  otterrà
  236.      avrà  la data  errata; ciò  dipende da una  diversa implementazione  della
  237.      funzione utime() nei compilatori Borland e Microsoft.
  238.  
  239.      9.MDIFF - MDIFF2 - MDIFFW
  240.      Il programma MDIFF si occupa di comparare due files e di  immagazzinare le
  241.      differenze  tra di essi in un terzo  file  che, generalmente, è molto  più
  242.      compatto. Vediamo come si usa:
  243.  
  244.         MDIFF [-C<c>] [-R<r>] [-F<f>] [-S] [-Z] [-P<pwd>] <OldFile> <NewFile>
  245.                                      [<MDFfile>]
  246.  
  247.      <OldFile>  ovviamente è  il nome  della versione  precedente del  file  da
  248.      comparare,  mentre  <NewFile>  è  il nome  della    versione  attuale.  Se
  249.      necessario  si può specificare il  nome del file  di differenza da  creare
  250.      <MDFfile>,  altrimenti   MDIFF  crea un  file  che ha  lo stesso  nome  di
  251.      <NewFile>  ma estensione ".MDF".  Per cercare le  parti simili nei  files,
  252.      MDIFF  si serve di una stringa base di lunghezza predefinita detta  chunk.
  253.      La  lunghezza del chunk  per default viene  scelta automaticamente ma  può
  254.      essere  impostata (in  un range  4-1024) con  lo switch  -C seguito  dalla
  255.      lunghezza  voluta. Quando  MDIFF perde il sincronismo tra i due files  che
  256.      sta  confrontando,  cerca di  ritrovarlo scandendo  il vecchio  file  alla
  257.      ricerca  del chunk che sta elaborando.  Tale ricerca viene effettuata,  in
  258.      un intorno dell'ultimo chunk trovato, nel range definito dallo  switch -R.
  259.      Per default tale range è di 8 blocchi di 512 byte, ma può variare tra  1 e
  260.      16.  Se tale    ricerca fallisce  MDIFF cerca  di forzare  il  sincronismo
  261.      cercando in un raggio più ampio di quello definito solitamente  ampio 1/16
  262.      della  lunghezza del file. Questa seconda ricerca può essere  disabilitata
  263.      o  il suo range può essere cambiato tramite lo switch -F. Specificando  lo
  264.      switch   -S, alla fine dell'operazione, MDIFF   fornirà alcuni dati  sulla
  265.      composizione del file di patch.
  266.      E'  inoltre  possibile,  tramite  lo  switch  -Z,  inserire  nel  file  di
  267.      differenza  un breve commento (al massimo 2 Kbyte), che sarà  visualizzato
  268.      durante  l'applicazione della patch da parte di MPATCH. Il commento  viene
  269.      prelevato  direttamente  dallo  standard  input  e  quindi  può  essere  o
  270.      digitato o prelevato da un file tramite l'apposito comando  di redirezione
  271.      "<".
  272.      Tramite lo switch -P si può proteggere la patch con una  password (<pwd>):
  273.      chi non conosce tale password non potrà applicare la patch.
  274.  
  275.      10.MPATCH - MPATCH2 - MPATCHW
  276.      MDIFF  sarebbe  un programma  inutile  se non  esistesse  MPATCH.  Infatti
  277.      MPATCH  si occupa,  dati <OldFile>  e  <MDFfile>,  di ricreare  <NewFile>.
  278.      Vediamo come si usa:
  279.  
  280.                  MPATCH [-P<pwd>] <MDFfile> [<OldFile> [<NewFile>]]
  281.  
  282.      L'unico  parametro necessario è il nome  del file di differenza  <MDFfile>
  283.      perchè  esso  contiene i  nomi  degli altri  due   file,  ma  è  possibile
  284.      modificare  tale impostazione   semplicemente specificando  i nomi  voluti
  285.  
  286.                                                                               5
  287.  
  288.  
  289.  
  290.  
  291.      nell'esatto  ordine.  MPATCH  ha  il  solo  switch  -P  che   permette  di
  292.      specificare una eventuale password necessaria per applicare la patch.
  293.      In   caso  di  errore  MPATCH  ritorna  un  errorlevel  che  deve   essere
  294.      interpretato secondo la seguente tabella:
  295.      Codice      Descrizione
  296.      0           "OK!"
  297.      1           "Out of memory !"
  298.      2           "Can't open MDF file !"
  299.      3           "Invalid MDF file !"
  300.      4           "MDF file version mismatch !"
  301.      5           "UNREGISTERED !"
  302.      6           "Bad or incorrect OLD file !"
  303.      7           "Can't open OLD file !"
  304.      8           "Can't create NEW file !"
  305.      9           "General failure: NEW file corrupted !"
  306.      10          "OLD and NEW can't be the same file !"
  307.      11          "NEW file was already patched ! "
  308.      12          "Wrong password !"
  309.  
  310.      11.MDF2EXE - MDF2EXE2 - MDF2EXEW
  311.      MDF2EXE  si occupa di trasformare un file di patch *.MDF creato con  MDIFF
  312.      in  un file ESEGUIBILE autoinstallante per Dos (MDF2EXE), OS/2  (MDF2EXE2)
  313.      o Windows95/WindowsNT (MDF2EXEW).
  314.      Il file così creato conterrà al suo interno il programma  di installazione
  315.      e un certo numero di file di patch (al massimo 127).
  316.      La sintassi per creare una patch autoinstallante è:
  317.  
  318.            MDF2EXE <mdf_file 1> [<mdf_file 2>....<mdf_file n>] <exe_file>
  319.  
  320.      I  vari <mdf_file  x> possono  contenere anche  wildcard, in  questo  caso
  321.      MDF2EXE crchera' automaticamente i files da inserire.
  322.      Il  file eseguibile creato (che DEVE  avere estensione .EXE) potrà  essere
  323.      avviato   senza  alcun  parametro  sulla  linea  di  comando  e   cercherà
  324.      automaticamente i file da aggiornare. Opzionalmente può  essere utilizzato
  325.      lo  switch -P per specificare una password  oppure gli switch -V o -L  per
  326.      visualizzare la lista delle patch contenute nel file.
  327.      Un'unica  nota: non comprimete le patch autoinstallanti con PKLite,  LZExe
  328.      o altri software simili, altrimenti esse cesseranno di funzionare.
  329.  
  330.      12.ALCUNI CONSIGLI
  331.      Il  metodo ottimale per costruire un file di differenza sarebbe quello  di
  332.      ricercare  per tutto il  vecchio file i  chunks  che  compongono il  nuovo
  333.      file;  ovviamente  tale  metodo  sarebbe  di  una   lentezza  esasperante.
  334.      L'algoritmo  su  cui  è  basato  MDIFF  rappresenta  un   compromesso  tra
  335.      risultato  e  velocità di  esecuzione,  per questo  è  talvolta  opportuno
  336.      regolare  i  parametri di  funzionamento  di MDIFF  tramite  gli  appositi
  337.      switch. Vediamo come comportarsi in  alcune situazioni tipiche:
  338.      1.        File  con pochissime modifiche:  è opportuno utilizzare  un chunk  molto
  339.        ampio (32, 64 o più) in modo da  ridurre il più possibile  le dimensioni
  340.        del  file di differenza, soprattutto  se si sta  lavorando con files  di
  341.        testo o con archivi.
  342.      2.        File di testo: di solito un chunk di dimensione 32 è il più  indicato, è
  343.        opportuno  provare  a  diminuire o  togliere  il    sincronismo  forzato
  344.        tramite lo switch -F.
  345.  
  346.                                                                               6
  347.  
  348.  
  349.  
  350.  
  351.      3.        File  eseguibili molto  ampi: spesso   si  ottengono risultati  migliori
  352.        allargando il range di ricerca del  sincronismo  tramite lo switch -R.
  353.      Un  ultimo consiglio: non  attendetevi miracoli  da MDIFF. Se  i due  file
  354.      confrontati  sono molto dissimili il file di patch risulterà molto  ampio.
  355.      In questi casi c'è ben poco da fare, bisogna rassegnarsi a  distribuire il
  356.      nuovo  file interamente. MDIFF è realmente utile  solo se il numero  delle
  357.      modifiche apportate ai file non è troppo grande.
  358.  
  359.      13.LIBRERIE PER APPLICARE PATCH
  360.      Fino  alla release  1.50 nel  pacchetto di  distribuzione di  MDIFF  erano
  361.      incluse  alcune librerie  per realizzare  programmi per  applicare  patch.
  362.      Tali  librerie non sono più distribuite. Al loro posto è invece  possibile
  363.      ordinare  (vedi cap. 14)  i sorgenti in  linguaggio C di  un programma  di
  364.      esempio per applicare patch prodotte da una copia registrata di MDIFF.
  365.  
  366.      14.COME REGISTRARSI
  367.      Registrando  MDIFF otterrete un "codice di registrazione" che contiene  il
  368.      vostro  nome (o il  nome della vostra  impresa in caso  di site  license).
  369.      Producendo  una patch con  una copia  registrata di MDIFF  nel file  *.MDF
  370.      risultante  verrà incluso tale nome, in questo  modo al momento in cui  la
  371.      patch  verrà applicata MPATCH potrà mostrare il nome di chi ha  realizzato
  372.      la patch stessa.
  373.      Inoltre  gli utenti registrati sono autorizzati a distribuire  liberamente
  374.      MPATCH.EXE,  MPATCH2.EXE e MPATCHW.EXE  insieme alle patch  *.MDF da  essi
  375.      prodotte,  e a distribuire ogni patch  auto installante che contenga  solo
  376.      file *.MDF prodotti con la loro copia registrata di MDIFF.
  377.      Per  registrare MDIFF  dovrete utilizzare  il programma  REGISTER.EXE  che
  378.      troverete nel pacchetto di distribuzione. REGISTER.EXE è  una applicazione
  379.      per  Windows  scritta  da  Grzegorz (Greg)  Kochaniak  che  si  occupa  di
  380.      raccogliere   interattivamente  tutte  le   informazioni  necessarie   per
  381.      richiedere  la registrazione  di MDIFF,  e a prepararle  per spedirle  via
  382.      Posta,  TeleFAX o e-mail alla Kagi Shareware. Se non siete utenti  Windows
  383.      contattatemi.
  384.      Per  qualunque informazioni  sui servizi  di Kagi  Shareware vi  invito  a
  385.      leggere il file KAGI.TXT o a esplorare il seguente URL:
  386.                                 http://www.kagi.com/
  387.  
  388.      15.COME CONTATTARE L'AUTORE
  389.      Se avete qualche domanda potete contattarmi ai seguenti indirizzi:
  390.  
  391.      Posta:
  392.                      Maurizio Giunti
  393.                      Via G.B. Foggini, 24
  394.                      50142 Firenze (FI)
  395.                      ITALY
  396.  
  397.      e-mail:
  398.                      Fidonet:      2:332/102.3
  399.                      Internet:     giunti@kagi.com
  400.                      URL:          http://www.kagi.com/authors/giunti/
  401.  
  402.  
  403.  
  404.  
  405.  
  406.                                                                               7
  407.  
  408.  
  409.  
  410.  
  411.      16.RINGRAZIAMENTI
  412.      Vorrei  brevemente  ringraziare  gli amici  che  mi  hanno  aiutato  nello
  413.      sviluppo  di questo software e  della  documentazione  allegata, o che  si
  414.      sono coraggiosamente offerti come beta-testers. In ordine alfabetico:
  415.  
  416.                              Mauricio Mello de Andreade
  417.  
  418.                                    Andrea Baitelli
  419.  
  420.                                     Silvia Borri
  421.  
  422.                                  Juan Jose Comellas
  423.  
  424.                                     Filippo Dini
  425.  
  426.                                  Fabrizio Fioravanti
  427.  
  428.                                  Cristiano Guidoccio
  429.  
  430.                                 Giovanni Lopes Pegna
  431.  
  432.                                   Marco Maccaferri
  433.  
  434.                                   Marco Menichelli
  435.  
  436.                                    Giuseppe Scarpi
  437.  
  438.                                    Toni Tatafiore
  439.  
  440.                                     Duncan Wilcox
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                                                               8