Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Update via Internet

Îåêßíçóå áðü ôï ìÝëïò rantanplan. Τελευταία δημοσίευση από το μέλος rantanplan στις 19-02-2008, 14:05. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-02-2008, 13:49 40228

    Update via Internet

    Καλησπέρα παιδιά.

    Έχω φτιάξει μια εφαρμογή και θα ήθελα κάθε φορά που βγάζω μια updated έκδοση να μπορεί ο πελάτης να την κατεβάζει αυτόματα με το που θα συνδεθεί στο internet και ανοίξει την εφαρμογή.

    Ποιος μπορεί να με βοηθήσει;;;

     

    Ευχαριστώ πολύ


    Keep programming.....
  •  17-02-2008, 15:09 40229 σε απάντηση της 40228

    Απ: Update via Internet

    Δύο πράγματα μου έρχονται αμέσως στο μυαλό:

    Updater Application Block
    Click Once Deployment και αυτόματο update μέσω αυτού


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  17-02-2008, 17:11 40232 σε απάντηση της 40229

    Απ: Update via Internet

    O σωστός πλέον τρόπος είναι ένας από αυτούς που περιγράφει ο dt008.
    Παλαιότερα στο .NET 1.1 και προτού υπάρξουν οι ανωτέρω βιβλιοθήκες είχα υλοποιήσει ένα δικό μου updater που τον χρησιμοποιώ ακόμη γιατί είναι πολύ απλός και με έχει βολέψει.
    Η αρχιτεκτονική του είναι απλή:
    Α. ΣΤΟΝ DEPLOYMENT SERVER
    1. Σαν deplyment server έχεις έναν ΙIS ή έναν FTP Server όπου κάθε φορά βάζεις την τελευταία έκδοση του λογισμικού σου με όλα τα dll από τα υπόλοιπα components που μπορεί να χρησιμοποιείς , κλπ. Εννοείται ότι επειδή η όλη διαδικασία γίνεται με copy-paste παίζει μόνο για .NET εφαρμογές.
    2. Εκεί μέσα βάζεις και ένα αρχείο XML έστω application.md5.xml που έχει την παρακάτω μορφή:
    <FileData>
    <FileName>
    myApplication.exe
    </FileName>
    <MD5Value>
    209438SKDUFJSDK423
    </MD5Value>
    </FileData>
    <FileData>
    <FileName>
    myReportEngine.dll
    </FileName>
    <MD5Value>
    lkjdf1231lkjasd94LAKS
    </MD5Value>
    </FileData>
    ....(κοκ)


    Το αρχείο παράγεται αυτόματα με μια εφαρμογή που επίσης πρέπει να φτιάξεις.
    Κάθε φορά που κάνεις κάποια αλλαγή στα αρχεία του IIS ή του FTP πρέπει να τρέχεις την εφαρμογή για να ξαναδημιουργεί το αρχείο application.md5.xml.

    B. Στον client τώρα:
    Έχεις μια εφαρμογή AppStarter.exe. που κάνει τα εξής πράγματα:
    1. Κατεβάζει από τον ΙΙS ή τον FTP το αρχείο application.md5.xml
    2. Δημιουργεί τοπικά ένα αντίστοιχο αρχείο με τις md5 hash values των τοπικών αρχείων στον client, έστω το application.local.md5.xml
    3. Συγκρίνει τα application.md5.xml και application.local.md5.xml
    4. Για ότι διαφορές βρίσκει , όπως διαφορές στα md5, νέα αρχεία, σβησμένα αρχεία κάνει τις αντίστοιχες ενέργειες από τον IIS ή τον FTP δηλαδή
    • Αν τα hash values είναι διαφορετικά θα κατεβάσει την νέα έκδοση του αρχείου
    • Αν ένα αρχείο υπάρχει στο application.md5.xml αλλά δεν υπάρχει στο application.local.md5.xml θα κατεβάσει το νέο αρχείο από τον IIS ή τον FTP
    • Αν ένα αρχείο υπάρχει στο application.local.md5.xml αλλά δεν υπάρχει στο application.md5.xml θα σβησει αυτό το αρχείο από τον client
    5. Στο τέλος ενημερώνει τον χρήστη για τια αλλαγές που έγιναν και τρέχει το εκτελέσιμο της εφαρμογή σου (π.χ. το myApplication.exe)
    (Η appstarter βρίσκει που είναι ο deployment server, και ποιό είναι το εκτελέσιμο της εφαρμογής σου μέσα στο appstarter.exe.config)

    Κάποιες παρατηρήσεις:
    1. O τελικός χρήστης θα πρέπει  κάθε φορά να τρέχει τo appstarter.exe αντί να τρέχει το εκτελέσιμο της εφαρμογή σου (π.χ. το myApplication.exe)
    2. Την πρώτη φορά που θα κάνεις εγκατάσταση χρειάζεται ΜΟΝΟ να εγκαταστήσεις το appstarter.exe (μαζί με το appstarter.exe.config). Αυτό μετά θα κάνει όλη την δουλειά.
    3. Το όλο σύστημα μπορεί να εμπλουτιστεί με βοηθητικά μηνύματα για τον τελικό χρήστη, που μπορούν να μπούν στο XML αρχείο με κατάλληλες τροποποιήσεις
    4. Μπορείς να αλλάξεις deployment server χωρίς να χρειαστεί να κάνεις καμία επέμβαση στον client. Απλά βάζεις μια νέα έκδοση του  myApplication.exe που πάει και γράφει τις νέες τιμές για τον deployment server στο αρχείο appstarter.exe.config
    5. Μπορείς στον deployment server να βάλεις security (login password).

    Edit: Download αρχείων *.config δεν μπορείς να κάνεις από IIS παρά μόνο από FTP. Έτσι άν χρειαστεί να κάνεις update to myApplication.exe.config μόνο με FTP μπορείς να κατεβάσεις την νέα έκδοση.

    Αν αποφασίσεις να γράψεις μόνος σου τo deployment, msg me, να βοηθήσω.



    Harry Tsavdaris
  •  19-02-2008, 14:05 40313 σε απάντηση της 40232

    Απ: Update via Internet

    Ok παιδιά... ευχαριστώ πολύ...
    Keep programming.....
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems