Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    37

    [VB .NET]Installer applicazione e prerequisiti per installarla

    Salve a tutti!!

    Ho concluso un'applicazione in vb10, e ho creato un installer con inno setup.
    Ora sul pc con cui ho programmato, sia in debug, che avviando l'applicazione da release\debug, sia avviando il setup creato dalla soluzione di vb10 ("l'installer creato da vb10 per il programma) tutto funziona.

    Mentre ho avviato il setup di inno, il .ex in releas\debug, e tutto il resto, ma l'applicazione non funziona e da problemi.
    Avevo già creato un setup con inno della stessa applicazione per testarla, e funzionava ( a parte problemi intrinsechi al programma).

    Adesso mi chiedo come faccio a capire cosa non va, e perché sul programma di partenza funziona e su un altro no.
    Ho controllato nel progetto i riferimenti, e ho trovato che molte librerie sono indicate come ". NET 4.0 e le dll specifiche.
    Mentre un'altra è la windows script host object model COM 1.0.

    Ora per il .net framwork 4.0 client sul sistema in questione è presente (studierò poi inno setup per includere la distribuzione del framework nel caso non fosse istallato).
    Per il windows script non so se c'è da istallare qualcosa o meno.

    Cosa controllo? Colpa del programma? ma sul pc dove l'ho programmato funziona....

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Impossibile rispondere alla tua domanda: non sappiamo nulla a riguardo del tuo programma, a livello di dipendenze, architettura, librerie, ecc. quindi come facciamo a determinare di chi è la colpa se non funziona?

    Potrebbe anche trattarsi di un problema di logica.

    Controlla meglio le dipendenze e i riferimenti utilizzati dall'applicazione e assicurati che siano installati nella macchina di destinazione; lo stesso vale per eventuali file esterni.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    37
    La tua osservazione è già sopra descritta.
    Come dovrei controllare dipendenze, riferimenti e file esterni?
    Ho controllato le dipendenze, e c'è il net 4 e quel COM, per il resto non viene menzionato nulla.
    Nelle include del mio programma non ci sono librerie non standard, a parte quella COM che non credo sia nel net 4.
    Per il resto file esterni non credo di usarne, anche se ricontrollerò.

    Come faccio a identificare il problema?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho ancora capito se hai un problema di Inno Setup o di altro.

    E quando dici che "l'applicazione non funziona e da problemi" non si può certo capire cosa non va. Devi chiarire cosa "non funziona" e di quali "problemi" parli.

    Infine, ma non ultimo ... a cosa ti serve quella libreria COM che tu non possa fare con .NET?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da inconsapevole
    Come dovrei controllare dipendenze, riferimenti e file esterni?
    E' molto semplice: quando hai sviluppato la tua applicazione, quali sono i componenti che hai utilizzato e aggiunto ai riferimenti del progetto che non fanno parte del set standard fornito dal .NET Framework?

    Originariamente inviato da inconsapevole
    Ho controllato le dipendenze, e c'è il net 4 e quel COM
    Quel COM viene installato nella macchina di destinazione?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    37
    Non ho ancora capito se hai un problema di Inno Setup o di altro.
    Il problema come sopra detto non può riferirsi al programma in se perché in debug funziona, e sulla macchina sul quale l'ho programmato va nache l'eseguibile nella cartella release/debug, e infine funziona anche se installo il tutto da istaller inno setup.
    Quindi per logica il problema non risiede nel programma, ma in qualcosa che sul pc di programmazione c'è e sull'altro no.

    Infine, ma non ultimo ... a cosa ti serve quella libreria COM che tu non possa fare con .NET?
    La libreria COM "credo" mi serva per una include, Windows Script Host Object Model, che mi serve per creare un link, e da un altra parte per un'altra cosa che dopo un pò di ricerche ho risolto. La libreria che implica questo è Interop.IWshRuntimeLibrary.

    E' molto semplice: quando hai sviluppato la tua applicazione, quali sono i componenti che hai utilizzato e aggiunto ai riferimenti del progetto che non fanno parte del set standard fornito dal .NET Framework?
    Come capisco cosa non è un riferimento standard al .net fw?
    Controllo le include e mi sembrano tutte predefinite, non ho incluso nulla di strano a parte quel Interop.IWshRuntimeLibrary.


    Quel COM viene installato nella macchina di destinazione?
    Non ho trovato nulla su quella libreria in internet, ne tanto meno un pacchetto redistribuibile, di conseguenza non so cosa andrebbe istallato, nel caso lo farei e riproverei. E se risolve il problema lo includo nel pacchetto di installazione come prerequisito.


    Un domanda in parte OT, per dati usati all'interno dell'applicazione, tipo immagini, icone o dati "in chiaro" di questo genere, come li si include nel programma? Per esempio un'immagine che apro nel programma in esecuzione, io la copio nella cartella del programma e da li la richiamo, il programma altrimenti non la "codifica" all'interno dell'eseguibile da solo essendo essa usata nel codice?
    Nel caso il mio metodo sia corretto, cioè quello di far riferimento ad una immagine nella cartella dell'applicazione, come posso non lasciare "in chiaro" questi files? Trovo sia poco professionale e poco rifinito.

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da inconsapevole
    Come capisco cosa non è un riferimento standard al .net fw?
    Tutti gli assembly System.* appartengono al framework, generalmente (a meno che non sia stato installata a parte un pacchetto aggiuntivo dello stesso framework).

    Originariamente inviato da inconsapevole
    Controllo le include e mi sembrano tutte predefinite, non ho incluso nulla di strano a parte quel Interop.IWshRuntimeLibrary.
    Quella Interop.IWshRuntimeLibrary viene aggiunta ai file da installare sulla macchina di destinazione?

    Originariamente inviato da inconsapevole
    Non ho trovato nulla su quella libreria in internet, ne tanto meno un pacchetto redistribuibile, di conseguenza non so cosa andrebbe istallato, nel caso lo farei e riproverei. E se risolve il problema lo includo nel pacchetto di installazione come prerequisito.
    Quella libreria viene generata da Visual Studio quando importi un oggetto COM.
    Mentre l'oggetto COM, che mi pare abbastanza standard, non penso vada ridistribuito, quella libreria (prodotta da te, anche se in automatico) deve essere copiata assieme all'applicazione.

    Originariamente inviato da inconsapevole
    Un domanda in parte OT, per dati usati all'interno dell'applicazione, tipo immagini, icone o dati "in chiaro" di questo genere, come li si include nel programma? Per esempio un'immagine che apro nel programma in esecuzione, io la copio nella cartella del programma e da li la richiamo, il programma altrimenti non la "codifica" all'interno dell'eseguibile da solo essendo essa usata nel codice?
    Nel caso il mio metodo sia corretto, cioè quello di far riferimento ad una immagine nella cartella dell'applicazione, come posso non lasciare "in chiaro" questi files? Trovo sia poco professionale e poco rifinito.
    Se includi le immagini in un file di risorse (Resource file) che viene compilato nell'applicazione, non hai bisogno di distribuire quelle immagini; se invece le carichi dall'esterno nel progetto, allora devono essere ridistribuite.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    37
    Quella Interop.IWshRuntimeLibrary viene aggiunta ai file da installare sulla macchina di destinazione?
    Dove la trovo? Cioè io la includo nel programma attraverso una include, dove trovo il file da copiare? Nella cartella della soluzione o del debug non c'è, se ci fosse la copierei già durante l'installazione.

    Quella libreria viene generata da Visual Studio quando importi un oggetto COM. Mentre l'oggetto COM, che mi pare abbastanza standard, non penso vada ridistribuito, quella libreria (prodotta da te, anche se in automatico) deve essere copiata assieme all'applicazione.
    Ok il pacchetto viene auto-generato quindi, problema sopra, dove lo trovo? Se fosse nella cartella debug, come già detto lo installerei, perché di quella cartella copio tutto.

    Se includi le immagini in un file di risorse (Resource file) che viene compilato nell'applicazione, non hai bisogno di distribuire quelle immagini; se invece le carichi dall'esterno nel progetto, allora devono essere ridistribuite.
    Perfetto, grazie per la delucidazione, rapido e preciso

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da inconsapevole
    Dove la trovo? Cioè io la includo nel programma attraverso una include, dove trovo il file da copiare? Nella cartella della soluzione o del debug non c'è, se ci fosse la copierei già durante l'installazione.
    Seleziona il riferimento e visualizza le sue proprietà (finestra Property Window) per verificare in quale percorso è stata memorizzato il file DLL dell'assembly.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2011
    Messaggi
    37
    Ok in riferimenti mi dice il percorso dove risiede il dll.
    Adesso mi chiedo, quando creo l'installer copio quel file nella stessa cartella dell'eseguibile?
    Cioè poniamo che io copii la cartella release\debug, in quella aggiungerei la cartella resources per i miei files di progetto, e le dll sempre in debug.
    Così dovrebbe andar bene? Cioè installo tutto in quella cartella copiando i files utili.
    Oppure altrimenti dovrei copiare tutta la cartella del progetto?
    Non capisco perché una volta che compilo e pubblico, non crei una sola cartella con tutto il necessario, e mi tocca recuperare il tutto in giro nelle cartelle e sottocartelle del progetto.

    OT: avrei poi da sapere come firmare il programma con i miei dati, attraverso il file assemblyinfo, non so se quello poi vada incluso nella cartella di installazione o meno.
    Ho creato la chiave con cui firmarlo e dal menu firma l'ho impostato. Non so come "linkare" il programma al assemblyinfo, per ora ho le info predefinite Microsoft.

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.