PracticU

ערכת התקנה - ClickOnce - ביצוע Publish

בלי כתוביותעם כתוביות
PracticU › קורס WinForms - תוכנות רגילות בווינדוס › ערכת התקנה - ClickOnce - ביצוע Publish
מילון מושגים:
לקוח - תוכנה או מחשב שפונים לשרת ומבקשים ממנו שירות או מידע, למשל דפדפן שמבקש דף אינטרנט.
עדכון - שינוי שמביא תוכנה או מערכת לגרסה חדשה יותר, כדי לתקן תקלות, לסגור חולשות אבטחה או להוסיף יכולות.
שרת - מחשב או תוכנה שמספקים שירות למחשבים אחרים (לקוחות) ברשת, למשל אחסון קבצים, אתר אינטרנט או מסד נתונים, ומגיבים לבקשות שלהם.
IIS - שרת האינטרנט של מיקרוסופט (Internet Information Services), המריץ אתרים ויישומי אינטרנט על Windows.
דפדפן - תוכנה שמציגה דפי אינטרנט ומריצה את הקוד שבהם, ומאפשרת לגלוש בין אתרים, למשל Chrome או Firefox.
Visual Studio - סביבת פיתוח משולבת (IDE) של מיקרוסופט לכתיבה, ניפוי והרצה של קוד, בעיקר בשפות .NET.

ערכת התקנה - ClickOnce - ביצוע Publish
בשיעור הקודם מוצגת ערכת התקנה (MSI). כאן מוצגת שיטה אחרת להתקנה אצל הלקוח, בשם ClickOnce, ומוצג היתרון שלה: עדכון אוטומטי של האפליקציה. שתי השיטות אינן תלויות זו בזו.
פרסום האפליקציה
1. בפרויקט Windows Forms רגיל (בלי פתרון נפרד) בונים את האפליקציה.
2. בפרופרטיז של הפרויקט, בלשונית Publish, מגדירים את מיקום הפרסום, למשל שרת IIS מקומי בתיקיית ClickOnce Example.
3. מגדירים האם האפליקציה תעבוד גם בלי חיבור לאינטרנט, ואת הגרסה המינימלית הנדרשת.
4. מפעילים Publish. הוויזארד מעלה את הקבצים לשרת ויוצר דף אינטרנט עם לחצן Install.
התקנה אצל הלקוח
- הלקוח פותח את הדף בדפדפן ולוחץ על Install. האפליקציה מותקנת ומופעלת מיד, והיא נוספת לתפריט Start.
- הדובר הדגים שלא צריך לשלוח ללקוח קובץ התקנה: מספיק קישור.
- הדובר ציין שבאחד הדפדפנים ההתקנה נחסמה, ולכן כדאי לנסות דפדפן אחר.
עדכון גרסה
- בגרסה חדשה משנים את האפליקציה ומבצעים Publish מחדש לאותו מיקום. Visual Studio מגדילה את מספר הגרסה של הפרסום.
- כשהלקוח מפעיל את הגרסה הישנה, האפליקציה בודקת בשרת אם יש גרסה חדשה, ומציעה להוריד אותה. הדובר הדגים שההורדה וההתקנה בוצעו אוטומטית.
ההבדל מול ערכת ההתקנה
בשיטת MSI צריך לשלוח ללקוח קובץ חדש בכל גרסה, ולהודיע לו על העדכון. בשיטת ClickOnce הלקוח מקבל עדכונים אוטומטית.
תרגיל
לפרסם אפליקציה אחרת בשיטת ClickOnce, להתקין אותה, לשנות בה משהו, לפרסם שוב, ולבדוק שהגרסה הישנה מציעה להוריד את החדשה.
בסיום השיעור הסטודנט יודע לפרסם אפליקציית Windows Forms בשיטת ClickOnce, להתקין אותה אצל לקוח, ולהפיץ לה עדכונים.

פרקי ההרצאה: ערכת התקנה - ClickOnce - ביצוע Publish

  1. 00:00

    הכרת ClickOnce

  2. 01:00

    בניית אפליקציית WinForms

  3. 03:04

    בעיית העדכונים בשיטת SETUP

  4. 05:06

    כרטיסיית Publish ו-PublishLocation

  5. 07:01

    פרסום ל-IIS או FTP

  6. 08:52

    בדיקת עדכונים אוטומטית

  7. 09:50

    פרטי המפרסם וגרסת Publish

  8. 10:46

    ביצוע פעולת ה-Publish

תמלול ההרצאה: ערכת התקנה - ClickOnce - ביצוע Publish

הטקסט המלא של הדקות הראשונות בהרצאה «ערכת התקנה - ClickOnce - ביצוע Publish» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    בסרטון הקודם ראינו איך אנחנו יכולים לבנות ערכת התקנה בכדי להתקין תוכנית שבנינו אצל הלקוח. כעת אנחנו הולכים לראות איך ניתן לבצע התקנה אצל הלקוח בשיטה אחרת.

  2. 00:17

    השיטה שאנחנו הולכים לראות נקראת ClickOnce, ותוך כדי אנחנו הולכים לראות איזה יתרון מסוים קיים בשיטת ClickOnce על פני ערכת התקנה סטנדרטית כפי שיצרנו בסרטון הקודם.

  3. 00:32

    אז בואו נפתח אפליקציה חדשה. נקרא לה click once example וחשוב לציין שאין קשר בין שיטת ההתקנה הקודמת שראינו עם קובץ setup לבין השיטה הזאת של ה-click once זה לא שאחד תלוי בשני אין ביניהם שום קשר זה או שאנחנו נבצע ערכת התקנה בשיטה הקודמת או שאנחנו נשתמש בשיטת click once שהיא שיטה אחרת אז אני בונה פה פרויקט חדש אפילו אני

  4. 01:03

    לא פותח סולושן אני פותח רק project windows forms application בואו נבצע אוקיי ובואו נניח שאנחנו הולכים עכשיו לבנות איזושהי אפליקציה מגניבה בואו ניקח את הטופס הזה ונגדיר אותו כ-pool form שנה את הטופס ניגש ונבנה פה איזשהי לייבל שמציינת שאנחנו כרגע בונים עם אפליקציה מגניבה בואו נגדיר lbl-pool-app

  5. 01:49

    נגדיר לה איזשהו גופן ונשים אותה במרכז המסך. נגדיר Center Inform Horizontal, טיפה נשנה את הטופס, יש לנו פה שוב פעם צורך להגדיר אותה באמצע, בסדר, וכמה הגדרות חשובות בנוגע לטופס, דבר ראשון שיעלה במרכז המסך, שלא יהיה כתוב עליו כלום, ובוא נניח שיהיה לו איזשהו צבע רקע כתום.

  6. 02:40

    אפליקציה מוכנה, אנחנו מריצים אותה, ומה שאנחנו רואים כרגע זה איזושהי אפליקציית הוא אינפורם שאנחנו בנינו ואנחנו רוצים לגרום ללקוח להתקין אותה.

  7. 02:52

    אז מהי השיטה שבה אנחנו יכולים לבצע התקנה, ומה היתרון שאנחנו הולכים לראות עם השיטה הזאת? אז קודם כל בואו נבין איזושהי בעיה מסוימת שקיימת עם השיטה הקודמת של הסטאפ שבנינו.

  8. 03:08

    כאשר אנחנו בנינו סטאפ, אנחנו כמובן הלכנו וצירפנו פרויקט חדש מסוג Other Project Types, סטאפ אנד דיפלוימנט, ויז'ל סטודיו, אינסטולר ובנינו סטאפ פרויקט.

  9. 03:25

    כאשר עשינו את זה אז בסופו של דבר יצא לנו איזשהו קובץ MSI אחד ויחיד וזה קובץ פיזי בכדי שהלקוח יוכל להתקין אותו הוא היה צריך איכשהו לקבל את הקובץ הזה.

  10. 03:40

    בדרך כלל יש לנו אתר אינטרנט או לחברה שלנו יכול להיות אתר אינטרנט ובאתר אינטרנט ניתן לפרסם את הקובץ והיוזר יכול פשוט להוריד אותו ולהתקין או שהיינו יכולים לשלוח ללקוחות שלנו אותו באימייל.

  11. 03:55

    כל מיני שיטות היינו יכולים לנקוט בכדי להביא להם פיזית את הקובץ. ואז הם היו מתקינים אותו והכל היה בסדר. הבעיה עם השיטה הזאת, זה מה קורה כאשר אנחנו בתור מתכנתי האפליקציה עושים איזשהו שדרוג, איזושהי גרסה שנייה לאפליקציה.

  12. 04:13

    מה עכשיו קורה? כאשר אנחנו פרסמנו את הגרסה הראשונה והיוזר התקין אותה, איך הוא יכול לקבל עדכונים? אז למעשה בשיטת הסטאפ שעשינו, אין לו שום אפשרות פשוטה לדעת שאנחנו עכשיו בנינו גרסה ב' לאפליקציה שלנו ואם אנחנו רוצים שכל הלקוחות יתקינו את הגרסה ב' שאנחנו מפתחים אז אנחנו היינו צריכים כמובן לשלוח

  13. 04:40

    להם אימייל להגיד להם תקשיבו קיימת גרסה נוספת בואו תורידו אותה מהאתר יכול להיות שהם היו מסכימים יכול להיות שהם לא היו מסכימים וזה די עבודה לא ממש טריוויאלית להפיץ גרסה ב' של האפליקציה שלנו ללקוחות שהתקין אותה עם ערכת הסטאפ שבנינו וזה בעצם היתרון שיש לשיטה הזאת שנקראת קליק וואנס שאנחנו הולכים לראות אז איך אנחנו עובדים עם קליק וואנס

  14. 05:08

    דבר ראשון יש לנו את הפרופרטיז של הפרויקט בפרופרטיז של הפרויקט ישנה כרטיסייה שנקראת פאבליש אם אנחנו נכנסים אליה אנחנו יכולים לראות שיש לנו כל מיני הגדרות לגבי משהו שנקרא פאבליש כלומר פרסום האפליקציה דבר ראשון, אנחנו רואים כאן שיש Publish Location.

  15. 05:36

    Publish זה פעולה שאנחנו יכולים לעשות בכדי להעלות את האפליקציה שלנו לאיזשהו סרבר מרוחק או סרבר מקומי. כאן אנחנו רואים שאוטומטית זה מוגדר שהאפליקציה הולכת לעלות למקום שנקרא HTTP, Localhost, זה אומר המחשב המקומי שלנו, ובתיקייה שנקראת Click Once Example.

  16. 06:05

    אוקיי, אז אנחנו יכולים להחליט שזה הולך להיות ב-cool app. כאן אנחנו בעצם מחליטים שהאפליקציה תותקן בתיקייה שנקראת cool app שנמצאת במחשב המקומי.

  17. 06:27

    איפה זה בדיוק נמצא? אנחנו צריכים להתקין את האפליקציה הזאת באיזשהו שרת שיכול לחשוף אותה. שרת כזה לדוגמה נחשב שרת Internet Information Services או בקיצור IIS.

  18. 06:45

    יש במחשב הנוכחי שרת כזה איי איי אס, מעין תוכנה שחושפת אתרי אינטרנט, שירותים וכולי ולכן המיקום הזה אומר שאנחנו הולכים להתקין את האפליקציה הזאת או לפרסם אותה יותר נכון באותו שרת מרכזי שנקרא איי איי אס.

  19. 07:07

    תכף אנחנו נראה איפה זה פיזית הולך להיות במחשב. יש כאן כל מיני הגדרות נוספות. לדוגמה, האם אנחנו רוצים שהיוזר יוכל לעבוד עם האפליקציה שלנו רק אם יש לו קו אינטרנט זמין בכדי לגשת לשרת ולראות האם פרסמנו גרסה ב' עבור האפליקציה, או האם הוא יכול לעבוד גם אם אין לו אינטרנט זמין ואז הוא עובד עם הגרסה המקורית שהותקנה.

  20. 07:39

    כאן אנחנו יכולים להחליט באיזה שרת אנחנו רוצים לפרסם את האפליקציה. האם אנחנו רוצים מקומית בהארדיסק? האם אנחנו רוצים ב-IIS המקומי כפי שהוגדר כאן?

  21. 07:53

    האם אנחנו רוצים בשרת FTP, תואר FTP שיש לנו אפשרות להגיע אליו עם פייל טרנספר פורטוקול, זה פשוט שיטה להעלות קבצים לשרת מרוחק. האם אנחנו רוצים לפרסם את זה פיזית באיזשהו שרת מרוחק?

  22. 08:10

    זאת אומרת שיש לנו כל מיני שיטות ואנחנו כרגע נמצאים ב-local-iis. אוקיי, יש לנו כאן אפליקיישן פיילס. איזה קבצים הולכים להיות מפורסמים ביחד עם האפליקציה?

  23. 08:26

    ופה אנחנו רואים בעצם שיש לנו רק את קובץ האקסקיושן ועוד איזה קובץ שנקרא מניפסט שמגדיר כל מיני הגדרות עבור האפליקציה שלנו. בואו נעשה קאנסל.

  24. 08:38

    פרריקוויזיט מציין מה הדרישות המוקדמות שאמורות להיות אצל הלקוח. בואו נבצע קאנסל. updates מציין איך בדיוק הלקוח הולך לקבל עדכונים.

  25. 08:53

    אם מסומן ה-v הזה זה אומר שהאפליקציה הולכת אוטומטית לבדוק האם יש עדכונים שזה בעצם היתרון הגדול של השיטה הזאת על פני השיטה הקודמת. כאן אנחנו יכולים לקבוע מתי בדיוק האפליקציה צריכה לבדוק האם יש עדכון, אחרי שהיא רצה או לפני שהיא רצה.

  26. 09:14

    אוקיי כאן אם אנחנו בוחרים After the Application Starts אנחנו יכולים להגדיר לבדוק מתי כל שבעה ימים כל כמה שבועות או כמה שעות וכולי.

  27. 09:33

    בואו נחזיר את זה לצורה כזאתי. פה אנחנו יכולים לסמן מה הגרסה המינימלית שדרושה ללקוח בכדי שהוא יתקין את הגרסה הזאת. יש פה עוד הרבה הגדרות נוספות, אתם יכולים לשחק עם זה ולראות כל מיני הגדרות שניתן להגדיר עבור העדכונים עצמם.

  28. 09:58

    אופציות נוספות יכולות להיות ה-Publisher Name, מי אנחנו, אנחנו בואו נניח Public U, Practic U, יש לנו פה אפשרות ל-Site Name, יש לנו product name, support url, יש לנו פה כל מיני אפשרויות להגדיר מידע לגבי מי אנחנו.

  29. 10:21

    בסדר, כאן אנחנו רואים שיש לנו את מספר הגרסה הנוכחית של גרסת ה-publish, וכאן אנחנו רואים שכל פעם שאנחנו מבצעים publish מחדש, גרסת ה-publish עולה, בניגוד לגרסת האפליקציה.

  30. 10:39

    גרסת האפליקציה ניתנת להגדרה באפליקיישן, אסמבלי אינפורמיישן, מה שראינו בסרטון הקודם, כאן באסמבלי ורז'ן. אוקיי, אז אחרי שהגדרנו את כל ההגדרות האלה בואו נסגור את הכל ואנחנו רוצים לבצע את פעולת ה-publish.

  31. 11:02

    כל מה שאנחנו צריכים לעשות זה מכה שימני על הפרויקט ובחירה ב-publish. כעת אנחנו רואים שהוויזרד של ה-publish אומר לנו שהוא הולך לפרסם בדיוק במיקום הזה את האפליקציה, אנחנו כמובן יכולים ללכת ל-browse ולשנות את זה. בואו נעשה נקסט, ישנה פה שאלה האם אנחנו רוצים שמבחינת היוזר האפליקציה תהיה פעילה רק אם יש לו קו אינטרנט פעיל או גם אם אין לו

  32. 11:35

    ואז הגרסה הקודמת תמיד תעבוד אם יש לו קו אינטרנט פעיל כמובן תתבצע בדיקה האם ישנה גרסה נוספת חדשה יותר בואו נשאיר את זה בצורה כזאת שהיוזר יוכל לעבוד עם האפליקציה שלנו גם אם אין לו קו אינטרנט פעיל בואו נבצע נקסט ופיניש ושימו לב מה קורה ברגע שעשינו את זה ברגע

לקורס המלא: קורס WinForms אונליין

ההרצאה הקודמת: ערכת התקנה - SETUP MSI

הרצאות קשורות מקורסים אחרים

  • Publish Image
  • Publish to Google Play
  • Publish WebAPI on AWS
  • התקנה

קורסים נוספים במסלול

  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט