<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Update via Internet</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/40313.aspx</link><pubDate>Tue, 19 Feb 2008 22:05:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:40313</guid><dc:creator>rantanplan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/40313.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=40313</wfw:commentRss><description>Ok παιδιά... ευχαριστώ πολύ...</description></item><item><title>Απ: Update via Internet</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/40232.aspx</link><pubDate>Mon, 18 Feb 2008 01:11:32 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:40232</guid><dc:creator>tsavos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/40232.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=40232</wfw:commentRss><description>O σωστός πλέον τρόπος είναι ένας από αυτούς που περιγράφει ο dt008.&lt;br&gt;Παλαιότερα στο .NET 1.1 και προτού υπάρξουν οι ανωτέρω βιβλιοθήκες είχα υλοποιήσει ένα δικό μου updater που τον χρησιμοποιώ ακόμη γιατί είναι πολύ απλός και με έχει βολέψει.&lt;br&gt;Η αρχιτεκτονική του είναι απλή:&lt;br&gt;Α. ΣΤΟΝ DEPLOYMENT SERVER&lt;br&gt;1. Σαν deplyment server έχεις έναν ΙIS ή έναν FTP Server όπου κάθε φορά βάζεις την τελευταία έκδοση του λογισμικού σου με όλα τα dll από τα υπόλοιπα components που μπορεί να χρησιμοποιείς , κλπ. Εννοείται ότι επειδή η όλη διαδικασία γίνεται με copy-paste παίζει μόνο για .NET εφαρμογές.&lt;br&gt;2. Εκεί μέσα βάζεις και ένα αρχείο XML έστω application.md5.xml που έχει την παρακάτω μορφή:&lt;br&gt;&amp;lt;FileData&amp;gt;&lt;br&gt;&amp;lt;FileName&amp;gt;&lt;br&gt;myApplication.exe&lt;br&gt;&amp;lt;/FileName&amp;gt;&lt;br&gt;&amp;lt;MD5Value&amp;gt;&lt;br&gt;209438SKDUFJSDK423&lt;br&gt;&amp;lt;/MD5Value&amp;gt;&lt;br&gt;&amp;lt;/FileData&amp;gt;&lt;br&gt;&amp;lt;FileData&amp;gt;&lt;br&gt;&amp;lt;FileName&amp;gt;&lt;br&gt;myReportEngine.dll&lt;br&gt;
&amp;lt;/FileName&amp;gt;&lt;br&gt;
&amp;lt;MD5Value&amp;gt;&lt;br&gt;
lkjdf1231lkjasd94LAKS&lt;br&gt;
&amp;lt;/MD5Value&amp;gt;&lt;br&gt;&amp;lt;/FileData&amp;gt;&lt;br&gt;
....(κοκ)&lt;br&gt;&lt;br&gt;&lt;br&gt;Το αρχείο παράγεται αυτόματα με μια εφαρμογή που επίσης πρέπει να φτιάξεις. &lt;br&gt;Κάθε φορά που κάνεις κάποια αλλαγή στα αρχεία του IIS ή του FTP πρέπει να τρέχεις την εφαρμογή για να ξαναδημιουργεί το αρχείο application.md5.xml.&lt;br&gt;&lt;br&gt;B. Στον client τώρα:&lt;br&gt;Έχεις μια εφαρμογή AppStarter.exe. που κάνει τα εξής πράγματα:&lt;br&gt;1. Κατεβάζει από τον ΙΙS ή τον FTP το αρχείο application.md5.xml&lt;br&gt;2. Δημιουργεί τοπικά ένα αντίστοιχο αρχείο με τις md5 hash values των τοπικών αρχείων στον client, έστω το application.local.md5.xml&lt;br&gt;3. Συγκρίνει τα application.md5.xml και application.local.md5.xml&lt;br&gt;4. Για ότι διαφορές βρίσκει , όπως διαφορές στα md5, νέα αρχεία, σβησμένα αρχεία κάνει τις αντίστοιχες ενέργειες από τον IIS ή τον FTP δηλαδή&lt;br&gt;&lt;ul&gt;&lt;li&gt;Αν τα hash values είναι διαφορετικά θα κατεβάσει την νέα έκδοση του αρχείου&lt;/li&gt;&lt;li&gt;Αν ένα αρχείο υπάρχει στο application.md5.xml αλλά δεν υπάρχει στο application.local.md5.xml θα κατεβάσει το νέο αρχείο από τον IIS ή τον FTP &lt;/li&gt;&lt;li&gt;Αν ένα αρχείο υπάρχει στο application.local.md5.xml αλλά δεν υπάρχει στο application.md5.xml θα σβησει αυτό το αρχείο από τον client&lt;br&gt; &lt;/li&gt;&lt;/ul&gt;5. Στο τέλος ενημερώνει τον χρήστη για τια αλλαγές που έγιναν και τρέχει το εκτελέσιμο της εφαρμογή σου (π.χ. το myApplication.exe)&lt;br&gt;(Η appstarter βρίσκει που είναι ο deployment server, και ποιό είναι το εκτελέσιμο της εφαρμογής σου μέσα στο appstarter.exe.config)&lt;br&gt;&lt;br&gt;Κάποιες παρατηρήσεις:&lt;br&gt;1. O τελικός χρήστης θα πρέπει&amp;nbsp; κάθε φορά να τρέχει τo appstarter.exe αντί να τρέχει το εκτελέσιμο της εφαρμογή σου (π.χ. το myApplication.exe)&lt;br&gt;2. Την πρώτη φορά που θα κάνεις εγκατάσταση χρειάζεται ΜΟΝΟ να εγκαταστήσεις το appstarter.exe (μαζί με το appstarter.exe.config). Αυτό μετά θα κάνει όλη την δουλειά.&lt;br&gt;3. Το όλο σύστημα μπορεί να εμπλουτιστεί με βοηθητικά μηνύματα για τον τελικό χρήστη, που μπορούν να μπούν στο XML αρχείο με κατάλληλες τροποποιήσεις&lt;br&gt;4. Μπορείς να αλλάξεις deployment server χωρίς να χρειαστεί να κάνεις καμία επέμβαση στον client. Απλά βάζεις μια νέα έκδοση του&amp;nbsp; myApplication.exe που πάει και γράφει τις νέες τιμές για τον deployment server στο αρχείο appstarter.exe.config&lt;br&gt;5. Μπορείς στον deployment server να βάλεις security (login password).&lt;br&gt;&lt;br&gt;Edit: Download αρχείων *.config δεν μπορείς να κάνεις από IIS παρά μόνο από FTP. Έτσι άν χρειαστεί να κάνεις update to myApplication.exe.config μόνο με FTP μπορείς να κατεβάσεις την νέα έκδοση.&lt;br&gt;&lt;br&gt;Αν αποφασίσεις να γράψεις μόνος σου τo deployment, msg me, να βοηθήσω.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Update via Internet</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/40229.aspx</link><pubDate>Sun, 17 Feb 2008 23:09:23 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:40229</guid><dc:creator>Δημήτρης Γκανάτσιος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/40229.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=40229</wfw:commentRss><description>&lt;P&gt;Δύο πράγματα μου έρχονται αμέσως στο μυαλό:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms978574.aspx"&gt;Updater Application Block&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/04/05/ClickOnce/"&gt;Click Once Deployment&lt;/A&gt; και αυτόματο update μέσω αυτού&lt;/P&gt;</description></item><item><title>Update via Internet</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/40228.aspx</link><pubDate>Sun, 17 Feb 2008 21:49:18 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:40228</guid><dc:creator>rantanplan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/40228.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=40228</wfw:commentRss><description>&lt;P&gt;Καλησπέρα παιδιά.&lt;/P&gt;
&lt;P&gt;Έχω φτιάξει μια εφαρμογή και θα ήθελα κάθε φορά που βγάζω μια updated έκδοση να μπορεί ο πελάτης να την κατεβάζει αυτόματα με το που θα συνδεθεί στο internet και ανοίξει την εφαρμογή. &lt;/P&gt;
&lt;P&gt;Ποιος μπορεί να με βοηθήσει;;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ευχαριστώ πολύ&lt;/P&gt;</description></item></channel></rss>