Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [Vb6] Creare pacchetto di installazione

    Ho fatto un programmino che vorrei distribuire, ma non so come includere nel pacchetto di installazione una cartella, con relative sottocartelle, contenente una notevole quantità di immagini.
    Il pacchetto per la distribuzione l'ho fatto con Package & Deployment Wizard di Visual Studio 6 che mi permette di aggiungere un file alla volta....
    Dovrei, forse, cabbare la mia cartellona? Se si, come si fa? E se faccio così, durante l'istallazione il prog me la decabba e me la copia nella cartella del mio programmino?

    Ciao e grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387

    Re: [Vb6] Creare pacchetto di installazione

    Originariamente inviato da MissRachele
    Ho fatto un programmino che vorrei distribuire, ma non so come includere nel pacchetto di installazione una cartella, con relative sottocartelle, contenente una notevole quantità di immagini.
    Il pacchetto per la distribuzione l'ho fatto con Package & Deployment Wizard di Visual Studio 6 che mi permette di aggiungere un file alla volta....
    Dovrei, forse, cabbare la mia cartellona? Se si, come si fa? E se faccio così, durante l'istallazione il prog me la decabba e me la copia nella cartella del mio programmino?

    Ciao e grazie a tutti
    se cabbi la cartellona, devi poi provvedere anche a decabbare tutto il suo contenuto in un'altra cartellona sul sistema bersaglio, e devi farlo tramite il programmino.
    quindi le alternative sono :

    1- usi un tool tipo Instal Shield (no, non e' aggratis ) che ti permette di creare pacchetti di installazione
    2- aggiungi ad uno ad uno i file che ti servono con il Wizard incluso in VB che hai usato
    3- come ti ho detto sopra, cabbi la cartellona e la scabbi via soft.
    ...and I miss you...like the deserts miss the rain...

  3. #3
    la scelta migliore mi sembra la terza, cosa ne pensi tu?

    ...ma come si fa a fare una cosa del genere? anzi, 2 cose del genere, perchè non so ne cabbare, ne decabbare!
    ... e poi la cartellona in questione è costituita da sottocartelle che naturalmente dovranno essere presenti nella cartella di installazione del prog. :master:

    Insomma: aiutoooooooooooo!

    Gracias

  4. #4

  5. #5
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Originariamente inviato da MissRachele
    la scelta migliore mi sembra la terza, cosa ne pensi tu?

    ...ma come si fa a fare una cosa del genere? anzi, 2 cose del genere, perchè non so ne cabbare, ne decabbare!
    ... e poi la cartellona in questione è costituita da sottocartelle che naturalmente dovranno essere presenti nella cartella di installazione del prog. :master:

    Insomma: aiutoooooooooooo!

    Gracias
    ..cosa ne penso? :rollo:...che su 3 hai beccato quella peggiore visto che non e' cosi' agevole implementare un cabbaggio/decabbaggio via soft ....

    a dire il vero la scelta migliore sarebbe la 1), magari cercando un soft gratuito che faccia pacchetti di installazione (se lo fai per lavoro, sarebbe il caso di acquistarne uno magari... :rollo: ) specie in virtu' del fatto che dalla cartellona in questione devi smistare le immagini in varie sottocartelle.
    ...and I miss you...like the deserts miss the rain...

  6. #6
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao MissRachele,
    penso che vi siano due soluzioni:
    la prima usare un prog. che ti consenta d'includere cartelle nel pacchetto d'installazione; a tale proposito vedi questo ;
    la seconda inserire nel tuo progetto il codice che al solo primo avvio (installazione) del programma crei la cartella, e relative sottocartelle, nel computer di destinazione e proceda successivamente alla copia delle immagini contenute in un'apposita cartella inserita nel CD d'installazione.
    Facci sapere.
    LM

  7. #7
    ...CyberInstaller Suite 2005 mi sembrava perfetto. Peccato davvero che nella versione free non permetta di aggiungere di 200 file. Avrebbe fatto al caso mio! Sai dirmi se avrebbe però ricreato le acrtelle e le sottocartelle? Perchè ho visto che aggiunge tutti i file correlati, ma non ho visto le cartelle!
    Altre soluzioni?

  8. #8
    :master:

  9. #9
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao MissRachele.
    Il sottoriportato codice avrai cura di attivarlo nel primo modulo di avvio
    del tuo programma (FrmSplash, FrmMAIN o Sub Main).
    Nella tua directory, ove avrai salvato il progetto, crea una Cartella con
    il Nome Support, nella predetta cartella copierai la cartella principale
    (nell'esempio DATI) e tutte le relative sottocartelle contenenti i
    dati e/o immagini.
    Dopo aver compilato l'.exe dovrai masterizzare il prog. sul CD;
    in questa fase avrai cura di riportare sul CD anche la cartella Support che
    conterrà DATI e SubCartelle.
    Nella fase d'installazione del prog. sarà avviato il sotto esposto codice che individua
    la lettera dell'unità CD e provvede alla copia di tutte le cartelle contenenti i Dati e/o
    immagini sull'HD.

    codice:
    Private Sub Form_Load()
    
    On Error GoTo ErrHandler
            
        Dim SourceFile As String
        Dim DestinFile As String
        Dim sPath As String
        Dim strNameFold As String
        Dim FSO As FileSystemObject
        Dim Drv As Drive
    
    'Progetto>riferimenti>Click su Microsoft Scripting Runtime:
        Set FSO = New FileSystemObject
    
    'Cursore Clesidra:
        Screen.MousePointer = 11
              
        ' Al primo avvio controlla che la cartella DATI NON esista,
        ' allora la copia dal CD:
            If (FSO.FolderExists(App.Path & "\" & "DATI")) = False Then
                
            ' Cerca la lettera del CD_ROM o nell'Unità removibile attiva:
                For Each Drv In FSO.Drives
                    If Drv.DriveType = 4 And Drv.IsReady Or _
                        Drv.DriveType = 1 And Drv.IsReady Then
                        sPath = Drv.DriveLetter & ":\"
                        Exit For
                    End If
                Next
            ' Copia la cartella DATI e le Sottocartelle dal CD all'HD:
                SourceFile = sPath & "Support\" & "DATI"
                DestinFile = App.Path & "\" & "DATI"
                        
                FSO.CopyFolder SourceFile, (App.Path & "\" & "DATI")
                MsgBox "La cartella DATI e le relative sottocartelle, sono state" & vbCr _
                & "copiate con successo in  " & DestinFile & ".", vbInformation, "Prova Copia delle Cartelle sull'HD"
            End If
            
    ErrHandler:
                If Err.Number <> 0 Then
                    MsgBox "Errore durante il tentativo di copia della cartella DATI: " & vbCr & "Numero errore: " & Err.Number & vbCr & _
                    "Descrizione: " & Err.Description, vbCritical, "Prova Copia delle Cartelle sull'HD"
                    Err.Clear
                End If
    
        'Se la copia da Support è fallita, Ricontrolla se esiste la cartella DATI
        'altrimenti la crea; in questo caso i dati andranno copiati (copia-incolla) "a mano"
        'dal CD all'HD nelle rispettive sottocartelle, create con il codice di seguito riportato:
            If (FSO.FolderExists(App.Path & "\" & "DATI")) = False Then
                With FSO
                    .CreateFolder (App.Path & "\" & "DATI")
                    .CreateFolder (App.Path & "\" & "DATI\Sottocartella1")
                    .CreateFolder (App.Path & "\" & "DATI\Sottocartella2")
                    '. ....
                End With
                
                strNameFold = FSO.GetFolder(App.Path & "\" & "DATI")
                MsgBox "La cartella DATI e le relative sottocartelle, sono state" & vbCr _
                & "create con successo in  " & strNameFold & _
                " I Dati devono essere trasferiti dal CD alle SubCartelle.", vbInformation, "Prova Copia delle Cartelle sull'HD"
            End If
            
    ErrHandlerCreaFol:
            If Err.Number <> 0 Then
                MsgBox "Errore durante il tentativo di creare la cartella DATI: " & vbCr _
                & "Numero errore: " & Err.Number & vbCr & "Descrizione: " & Err.Description, vbCritical, "Prova Copia delle Cartelle sull'HD"
                Err.Clear
                Screen.MousePointer = 0
                Set FSO = Nothing
                Exit Sub
            End If
        
    'Cursore Standard:
        Screen.MousePointer = 0
        Set FSO = Nothing
    End Sub
    Il codice l'ho provato (sembra funzionare), ma occorre comunque qualche rifinitura che lasci a te.
    LM

  10. #10
    Grazie mille, sei stato gentilissimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.