
הטקסט המלא של הדקות הראשונות בהרצאה «ערכת התקנה - ClickOnce - ביצוע Publish» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
בסרטון הקודם ראינו איך אנחנו יכולים לבנות ערכת התקנה בכדי להתקין תוכנית שבנינו אצל הלקוח. כעת אנחנו הולכים לראות איך ניתן לבצע התקנה אצל הלקוח בשיטה אחרת.
השיטה שאנחנו הולכים לראות נקראת ClickOnce, ותוך כדי אנחנו הולכים לראות איזה יתרון מסוים קיים בשיטת ClickOnce על פני ערכת התקנה סטנדרטית כפי שיצרנו בסרטון הקודם.
אז בואו נפתח אפליקציה חדשה. נקרא לה click once example וחשוב לציין שאין קשר בין שיטת ההתקנה הקודמת שראינו עם קובץ setup לבין השיטה הזאת של ה-click once זה לא שאחד תלוי בשני אין ביניהם שום קשר זה או שאנחנו נבצע ערכת התקנה בשיטה הקודמת או שאנחנו נשתמש בשיטת click once שהיא שיטה אחרת אז אני בונה פה פרויקט חדש אפילו אני
לא פותח סולושן אני פותח רק project windows forms application בואו נבצע אוקיי ובואו נניח שאנחנו הולכים עכשיו לבנות איזושהי אפליקציה מגניבה בואו ניקח את הטופס הזה ונגדיר אותו כ-pool form שנה את הטופס ניגש ונבנה פה איזשהי לייבל שמציינת שאנחנו כרגע בונים עם אפליקציה מגניבה בואו נגדיר lbl-pool-app
נגדיר לה איזשהו גופן ונשים אותה במרכז המסך. נגדיר Center Inform Horizontal, טיפה נשנה את הטופס, יש לנו פה שוב פעם צורך להגדיר אותה באמצע, בסדר, וכמה הגדרות חשובות בנוגע לטופס, דבר ראשון שיעלה במרכז המסך, שלא יהיה כתוב עליו כלום, ובוא נניח שיהיה לו איזשהו צבע רקע כתום.
אפליקציה מוכנה, אנחנו מריצים אותה, ומה שאנחנו רואים כרגע זה איזושהי אפליקציית הוא אינפורם שאנחנו בנינו ואנחנו רוצים לגרום ללקוח להתקין אותה.
אז מהי השיטה שבה אנחנו יכולים לבצע התקנה, ומה היתרון שאנחנו הולכים לראות עם השיטה הזאת? אז קודם כל בואו נבין איזושהי בעיה מסוימת שקיימת עם השיטה הקודמת של הסטאפ שבנינו.
כאשר אנחנו בנינו סטאפ, אנחנו כמובן הלכנו וצירפנו פרויקט חדש מסוג Other Project Types, סטאפ אנד דיפלוימנט, ויז'ל סטודיו, אינסטולר ובנינו סטאפ פרויקט.
כאשר עשינו את זה אז בסופו של דבר יצא לנו איזשהו קובץ MSI אחד ויחיד וזה קובץ פיזי בכדי שהלקוח יוכל להתקין אותו הוא היה צריך איכשהו לקבל את הקובץ הזה.
בדרך כלל יש לנו אתר אינטרנט או לחברה שלנו יכול להיות אתר אינטרנט ובאתר אינטרנט ניתן לפרסם את הקובץ והיוזר יכול פשוט להוריד אותו ולהתקין או שהיינו יכולים לשלוח ללקוחות שלנו אותו באימייל.
כל מיני שיטות היינו יכולים לנקוט בכדי להביא להם פיזית את הקובץ. ואז הם היו מתקינים אותו והכל היה בסדר. הבעיה עם השיטה הזאת, זה מה קורה כאשר אנחנו בתור מתכנתי האפליקציה עושים איזשהו שדרוג, איזושהי גרסה שנייה לאפליקציה.
מה עכשיו קורה? כאשר אנחנו פרסמנו את הגרסה הראשונה והיוזר התקין אותה, איך הוא יכול לקבל עדכונים? אז למעשה בשיטת הסטאפ שעשינו, אין לו שום אפשרות פשוטה לדעת שאנחנו עכשיו בנינו גרסה ב' לאפליקציה שלנו ואם אנחנו רוצים שכל הלקוחות יתקינו את הגרסה ב' שאנחנו מפתחים אז אנחנו היינו צריכים כמובן לשלוח
להם אימייל להגיד להם תקשיבו קיימת גרסה נוספת בואו תורידו אותה מהאתר יכול להיות שהם היו מסכימים יכול להיות שהם לא היו מסכימים וזה די עבודה לא ממש טריוויאלית להפיץ גרסה ב' של האפליקציה שלנו ללקוחות שהתקין אותה עם ערכת הסטאפ שבנינו וזה בעצם היתרון שיש לשיטה הזאת שנקראת קליק וואנס שאנחנו הולכים לראות אז איך אנחנו עובדים עם קליק וואנס
דבר ראשון יש לנו את הפרופרטיז של הפרויקט בפרופרטיז של הפרויקט ישנה כרטיסייה שנקראת פאבליש אם אנחנו נכנסים אליה אנחנו יכולים לראות שיש לנו כל מיני הגדרות לגבי משהו שנקרא פאבליש כלומר פרסום האפליקציה דבר ראשון, אנחנו רואים כאן שיש Publish Location.
Publish זה פעולה שאנחנו יכולים לעשות בכדי להעלות את האפליקציה שלנו לאיזשהו סרבר מרוחק או סרבר מקומי. כאן אנחנו רואים שאוטומטית זה מוגדר שהאפליקציה הולכת לעלות למקום שנקרא HTTP, Localhost, זה אומר המחשב המקומי שלנו, ובתיקייה שנקראת Click Once Example.
אוקיי, אז אנחנו יכולים להחליט שזה הולך להיות ב-cool app. כאן אנחנו בעצם מחליטים שהאפליקציה תותקן בתיקייה שנקראת cool app שנמצאת במחשב המקומי.
איפה זה בדיוק נמצא? אנחנו צריכים להתקין את האפליקציה הזאת באיזשהו שרת שיכול לחשוף אותה. שרת כזה לדוגמה נחשב שרת Internet Information Services או בקיצור IIS.
יש במחשב הנוכחי שרת כזה איי איי אס, מעין תוכנה שחושפת אתרי אינטרנט, שירותים וכולי ולכן המיקום הזה אומר שאנחנו הולכים להתקין את האפליקציה הזאת או לפרסם אותה יותר נכון באותו שרת מרכזי שנקרא איי איי אס.
תכף אנחנו נראה איפה זה פיזית הולך להיות במחשב. יש כאן כל מיני הגדרות נוספות. לדוגמה, האם אנחנו רוצים שהיוזר יוכל לעבוד עם האפליקציה שלנו רק אם יש לו קו אינטרנט זמין בכדי לגשת לשרת ולראות האם פרסמנו גרסה ב' עבור האפליקציה, או האם הוא יכול לעבוד גם אם אין לו אינטרנט זמין ואז הוא עובד עם הגרסה המקורית שהותקנה.
כאן אנחנו יכולים להחליט באיזה שרת אנחנו רוצים לפרסם את האפליקציה. האם אנחנו רוצים מקומית בהארדיסק? האם אנחנו רוצים ב-IIS המקומי כפי שהוגדר כאן?
האם אנחנו רוצים בשרת FTP, תואר FTP שיש לנו אפשרות להגיע אליו עם פייל טרנספר פורטוקול, זה פשוט שיטה להעלות קבצים לשרת מרוחק. האם אנחנו רוצים לפרסם את זה פיזית באיזשהו שרת מרוחק?
זאת אומרת שיש לנו כל מיני שיטות ואנחנו כרגע נמצאים ב-local-iis. אוקיי, יש לנו כאן אפליקיישן פיילס. איזה קבצים הולכים להיות מפורסמים ביחד עם האפליקציה?
ופה אנחנו רואים בעצם שיש לנו רק את קובץ האקסקיושן ועוד איזה קובץ שנקרא מניפסט שמגדיר כל מיני הגדרות עבור האפליקציה שלנו. בואו נעשה קאנסל.
פרריקוויזיט מציין מה הדרישות המוקדמות שאמורות להיות אצל הלקוח. בואו נבצע קאנסל. updates מציין איך בדיוק הלקוח הולך לקבל עדכונים.
אם מסומן ה-v הזה זה אומר שהאפליקציה הולכת אוטומטית לבדוק האם יש עדכונים שזה בעצם היתרון הגדול של השיטה הזאת על פני השיטה הקודמת. כאן אנחנו יכולים לקבוע מתי בדיוק האפליקציה צריכה לבדוק האם יש עדכון, אחרי שהיא רצה או לפני שהיא רצה.
אוקיי כאן אם אנחנו בוחרים After the Application Starts אנחנו יכולים להגדיר לבדוק מתי כל שבעה ימים כל כמה שבועות או כמה שעות וכולי.
בואו נחזיר את זה לצורה כזאתי. פה אנחנו יכולים לסמן מה הגרסה המינימלית שדרושה ללקוח בכדי שהוא יתקין את הגרסה הזאת. יש פה עוד הרבה הגדרות נוספות, אתם יכולים לשחק עם זה ולראות כל מיני הגדרות שניתן להגדיר עבור העדכונים עצמם.
אופציות נוספות יכולות להיות ה-Publisher Name, מי אנחנו, אנחנו בואו נניח Public U, Practic U, יש לנו פה אפשרות ל-Site Name, יש לנו product name, support url, יש לנו פה כל מיני אפשרויות להגדיר מידע לגבי מי אנחנו.
בסדר, כאן אנחנו רואים שיש לנו את מספר הגרסה הנוכחית של גרסת ה-publish, וכאן אנחנו רואים שכל פעם שאנחנו מבצעים publish מחדש, גרסת ה-publish עולה, בניגוד לגרסת האפליקציה.
גרסת האפליקציה ניתנת להגדרה באפליקיישן, אסמבלי אינפורמיישן, מה שראינו בסרטון הקודם, כאן באסמבלי ורז'ן. אוקיי, אז אחרי שהגדרנו את כל ההגדרות האלה בואו נסגור את הכל ואנחנו רוצים לבצע את פעולת ה-publish.
כל מה שאנחנו צריכים לעשות זה מכה שימני על הפרויקט ובחירה ב-publish. כעת אנחנו רואים שהוויזרד של ה-publish אומר לנו שהוא הולך לפרסם בדיוק במיקום הזה את האפליקציה, אנחנו כמובן יכולים ללכת ל-browse ולשנות את זה. בואו נעשה נקסט, ישנה פה שאלה האם אנחנו רוצים שמבחינת היוזר האפליקציה תהיה פעילה רק אם יש לו קו אינטרנט פעיל או גם אם אין לו
ואז הגרסה הקודמת תמיד תעבוד אם יש לו קו אינטרנט פעיל כמובן תתבצע בדיקה האם ישנה גרסה נוספת חדשה יותר בואו נשאיר את זה בצורה כזאת שהיוזר יוכל לעבוד עם האפליקציה שלנו גם אם אין לו קו אינטרנט פעיל בואו נבצע נקסט ופיניש ושימו לב מה קורה ברגע שעשינו את זה ברגע