PDA

Visualizza versione completa : [Installer] Confezionare un'exe di utility da copiare nella %windir%


Lionsquid
31-05-2006, 01.21.04
Salve...

mi sorge la necessità di copiare una decina di exe standalone (utilità tipo PdFind, ProceXp, etc.)

ho sempre proceduto con dei batch e tengo queste utility nella USB pen drive...

l'idea era di "assemblare" un'.exe che mi copi in un sol colpo le utiliy nella cartella desiderata così da poter consentire ad utenti molto scarsi di fare un lavoro esente da rischi e/o errori (passando i file e il batch via msn è accaduto che l'utente non riuscisse a completare la copia a causa dell'estrazione parziale dell'archivio .zip)


non mi sono mai cimentato nell'opera... e sono assolutamente inesperto ...


quali strumenti mi consigliate???


grazie :)

Dav82
31-05-2006, 01.34.55
Ciao Lion :)

Mi sa che non ho afferrato molto bene il problema, perchè se non ho capito male il problema che ti si presenta è che lo .zip che passi risulta corrotto... e qui mi sa che c'è poco da fare, anche cambiando metodo :mm: (pure con un autoestraente con batch annesso, da cliccare per effettuare la copia)

Per il resto un batch che fa "copy *.exe %windir%" non mi sembra male, però è perchè mi sfugge il nocciolo del problema, mi sa :)

Lionsquid
31-05-2006, 01.55.17
no, no.. non è lo zip corrotto ma incapace l'utente che alle volte seleziona un file ed estrae SOLO quello e qundi il batch s'incazza :D

per evitare proprio il problema, avevo pensato ad un'autoestraente su percorso fisso tipo "C:\Uty" e poi mandare l'utente ad eseguire "installa.bat"

ma visto che alla dabbenaggine degli utenti non c'è limite... pensavo proprio ad un programmino di installazione (.exe) che copia nella cartella di windows i programmini.... così evito di incappare nel solito "non funziona" :mad:

UG0_BOSS
01-06-2006, 22.35.24
Se sei capace di programmare in C/C++ sì può fare, ovviamente non è facile e bisogna saper lavorare sui file.

Bisogna aprire il file "sorgente" (il programma da copiare) e il file di destinazione, dichiarare una variabile temporanea e creare un ciclo "do.. while" che copi ogni singolo bit dal file sorgente, lo memorizzi nella variabile temporanea e lo copi dalla variabile alla destinazione finchè il processo non arriva alla fine del file.

Ma mi pare una cosa piuttosto complicata...

boyashi
01-06-2006, 22.47.19
Crea un autoestraente con winzip o winrar o 7zip

Lionsquid
02-06-2006, 02.21.57
Originariamente inviato da UG0_BOSS
Se sei capace di programmare in C/C++ sì può fare, ovviamente non è facile e bisogna saper lavorare sui file.

Bisogna aprire il file "sorgente" (il programma da copiare) e il file di destinazione, dichiarare una variabile temporanea e creare un ciclo "do.. while" che copi ogni singolo bit dal file sorgente, lo memorizzi nella variabile temporanea e lo copi dalla variabile alla destinazione finchè il processo non arriva alla fine del file.

Ma mi pare una cosa piuttosto complicata...


non so programmare... a parte il basic di 20 anni fà e i comandi batch del DOS 4/5/6...


per cui quello che mi serve è un qualcosa che trasformi un batch in un exe includendo i file da copiare... tecnicamente il batch l'ho già... il problema è conseganre nelle mani degli utonti il .bat+.exe, i quali riescono sempre a NON fare le cose come descritte loro.

boyashi suggerisce un'autoestraente con winrar... bene.. e come istruisco l'autoestraente ad individuare il path della cartella windows e windows/system32??

thx

boyashi
02-06-2006, 09.58.25
Originariamente inviato da Lionsquid

boyashi suggerisce un'autoestraente con winrar... bene.. e come istruisco l'autoestraente ad individuare il path della cartella windows e windows/system32??



Dalla seguente scermata di opzioni del modulo autoestraente.

Se crei una cartella system32 mettendoci dentro i file che vadano li e la comprimi, quelli nel percorso principale andranno in c:\windows quelli nel percorso relativo system32 andranno in c:\windows\system32

in alternativa puoi fare un file .bat da fare eseguire alla fine dell'estrazione

Lionsquid
02-06-2006, 11.49.27
:)


non esiste mica solo C:, distribuire il file con una impostazione simile mette fuori gioco tutti coloro che hanno installato il loro win su una partizione diversa di C:

per questo uso un batch... so che esiste... è solo un'impacchettatore di file che manda in esecuzione il bat, ma l'estensione del package è .exe ;)


proverò a mettere in esecuzione il .bat a fine estrazione anche se non mi piace l'idea di copiarlo fisicamente nelle %windir%

Lionsquid
02-06-2006, 17.23.54
bene..

funziona benissimo se si stabilisce la cartella di destinazione in maniera rigida... al limite nel commento di inizio installazione metterò la nota di modificare manualmente l'unità o l'intero percorso se la cartella di sistema è diversa da quella predefinita...

per il momento mi sta bene così.. appena posso modifico il processo facendolo estrarre nella temp, avviare il .bat che individua la %windir% e successivamente cancellare i file estratti

thx 1000