הפצת תוכנות באמצעות ה- Application model החדש של System Center 2012 Configuration Manager

22 באפריל 2014

איתמר טאומן מאת איתמר טאומן, מיקרוסופט ישראל

Configuration Manager 2012 הציג מאפיין חדש עבור הפצת תוכנה והוא ה- Application model. השינוי נועד לתמוך בשינוי הגישה מהגרסה הקודמת שהתמקד במחשבים, בעוד גרסה זו מתמקדת במשתמשים (User-Centric)

ה- Application model למעשה מחליף את המודל הקלאסי שהכרנו מ- Configuration Manager 2007 (וגרסאות קודמות) של הפצה על ידי בניית Package ו- Program.

ל- Application model החדש יתרונות רבים על פני המודל הקלאסי, ובבלוג זה אדבר עליהם.

אך ראשית, מהו בכלל ה- Application model החדש, ומהם מרכיביו?

בבסיס יש לו את ה- Application, שהיא למעשה המעטפת. ב- Application אנחנו נגדיר פרמטרים כמו שם התוכנה והשם ה"ידידותי" שלה למשתמש דרך ה- Application catalog, מי ה- Owner שלה, גרסה ועוד.

הליבה של המודל החדש הוא ה- Deployment type. פה אנו נגדיר את האופן בו האפליקציה מותקנת: הנתיב בו נמצאים קבצי התוכנה (Content source), שורת הפקודה, תלויות, שיטת זיהוי ועוד. חלק מההגדרות הללו הן מה שהופך את ה- Application model ליעיל יותר ומדויק יותר.

המערכת מאפשרת לנו ליצור לאותה Application מספר deployment types שיתאימו לכל סיטואציה. למשל: יש לכם בארגון תוכנה שמותקנת בכל מחשב של תומך helpdesk. לתומך ה- helpdesk יש מחשב קבוע, אך לפעמים הוא ניגש למחשבי המשתמשים ישירות ומסייע במקום, וגם שם הוא צריך את התוכנה. במקרה כזה נוכל ליצור Application עם שני Deployment types – אחד יהיה התקנה פיסית עבור המחשב הקבוע של התומך, והשני יהיה התקנה וירטואלית (מבוססת App-V) שתהיה זמינה עבורו בכל מחשב אליו הוא מבצע Login, והיא תוסר ברגע שיבצע Logoff.

סוגי Deployment types הזמינים ב- Configuration Manager 2012 R2 (על בסיס התוכנה שמותקנת והיעד להתקנה – תוכנה למחשב, תוכנה לטלפון נייד, תוכנה וירטואלית וכו'):

  • Windows Installer (*.MSI file) – התקנות מבוססות MSI
  • Windows app package (*.appx, *.appxbundle) – התקנות של Windows 8 Apps
  • Windows app package (in the Windows Store) – קישור להתקנה מה- Windows Store
  • Script Installer – התקנות מבוססות EXE, סקריפטים, וכו'
  • Microsoft Application Virtualization 4 – תוכנות וירטואליות מבוססות App-V 4
  • Microsoft Application Virtualization 5 – תוכנות וירטואליות מבוססות App-V 5
  • – Windows Phone app package (*.xap file)התקנות ל- Windows Phone
  • Windows Phone app package (in the Windows Phone Store) – קישור להתקנה מה- Windows Store
  • Windows Mobile Cabinet – התקנות ל- Windows Mobile מבוססות קובץ CAB
  • App package for iOS (*.ipa file) – התקנות ל- iOS
  • App package for iOS from App Store – קישור להתקנה מה- App Store
  • App package for Android (*.apk file) – התקנות ל- Android
  • App package for Android on Google Play – קישור להתקנה מ- Google Play
  • Nokia SIS file – התקנות ל- Nokia Symbian מבוססות קובץ SIS
  • Mac OS X – התקנות ל- Mac מבוססות קבצי cmmac שנוצרים על ידי כלי ה- CMAppUtil
  • Web Application – הפצת קיצור דרך לאפליקציית Web

שורת פקודה – Program:

פה נגדיר את הפקודה להתקנת התוכנה (למשל: setup.exe /<parameter 1> <parameter 2>). נוכל גם להגדיר פה פקודה להסרה של התוכנה וכך נאפשר הפצה של פקודת הסרה במקרה הצורך או לאפשר למשתמש להסיר את התוכנה (במידה והיא אינה התקנת חובה – required)

clip_image001

שיטת זיהוי – Detection method:

עלינו לספק למערכת דרך לזהות האם התוכנה אותה אנו מפיצים כבר מותקנת או לא. יש לכך שתי סיבות: הראשונה – כדי שאם נפיץ את התוכנה למחשב שהיא כבר מותקנת בו, היא לא תותקן שוב. השנייה – כדי שאם הפצנו תוכנה כ- required (כלומר, התוכנה חייבת להיות מותקנת, ללא שיקול דעת של המשתמש) והמשתמש הסיר אותה בדרך כלשהיא – היא תותקן מחדש.

ניתן לבסס את ה- Detection method על כמה מאפיינים:

File System – קיומם או אי קיומם של קובץ/תיקייה במחשב. ניתן להוסיף הגדרה פרטנית יותר. למשל קובץ בגרסה מסוימת, שהשתנה בתאריך מסוים, וכו'.

Registry – קיומה או אי קיומה של רשומה ב- registry של המחשב או אם היא עם ערך מסוים

Windows Installer – קוד המוצר של ה- MSI ששימש להתקנת התוכנה (במידה והותקן באמצעות MSI). כשיוצרים Application מ- MSI, שיטת הזיהוי מוגדרת באופן אוטומטי על בסיס קוד המוצר של ה- MSI

clip_image002

במידה ואף אחת משיטות אלה לא מתאימה, ניתן לבצע את הזיהוי באמצעות script (הכתוב ב- PowerShell, VBScript או Jscript)

דרישות מערכת – Requirements:

נוכל להגדיר כי ה- Deployment type יוכל לרוץ רק על מחשב בעל מאפיינים מסוימים. המאפיינים מתחלקים לשלוש קטגוריות:

מכשיר (Device):

  • Active Directory Site
  • Configuration Manager site
  • CPU Speed
  • Disk Space
  • Number of processors
  • Operating system
  • Operating system language
  • Organization unit (OU)
  • Ownership
  • Total physical memory

משתמש (User):

  • Primary device

מותאם אישית (Custom):

במידה ואף אחת מהאפשרויות הקיימות לא מתאימות, נוכל להשתמש בבדיקות הבאות:

  • Active Directory query
  • Assembly
  • File system
  • IIS metabase
  • Registry key
  • Registry value
  • Script
  • SQL query
  • WQL query
  • XPath query

ברגע שניצור בדיקה מותאמת אישית, היא תהיה זמינה עבור Applications ו- Deployment types שניצור מעתה והלאה, כך שנוכל "למחזר" את השקעתנו.

clip_image003

קודי חזרה (Return codes):

בסיום התקנה, מרבית התוכנות יספקו קוד חזרה המציין אם התוכנה הותקנה בהצלחה או לא. ישנם מספר קודי חזרה סטנדרטיים, מוסכמים, שהמערכת יודעת לזהות ולהתריע לנו בהתאם מה מצב המערכת לאחר הרצת ההתקנה – הצלחה (0), נדרשת הפעלה מחדש (3010) וכו'. יחד עם זאת, ישנן תוכנות שמחזירות קודים שאינם סטנדרטיים. ה- Application model מאפשר לנו ליצור קודי חזרה מותאמים אישית, כך שאם ההתקנה מחזירה קוד שאינו סטנדרטי ל"נדרשת הפעלה מחדש" למשל, נוכל להגדיר זאת ואז נראה את המצב הנכון של המחשב בדוחות ולא כשגיאה.

clip_image004

תלויות (Dependencies):

על ידי יצירת תלויות בין תוכנות, נוכל למעשה "לשרשר" התקנות ביתר קלות. למשל, אם על מנת להתקין תוכנה מסוימת, עלינו להתקין קודם לכן .Net Framework 4, אנו נגדיר את ה-Deployment type  של התקנת .Net Framework 4 כתלות של התוכנה. כך, במידה ולא מותקן כבר, התקנת .Net Framework 4 תרוץ לפני התקנת התוכנה (כמובן ששיטת הזיהוי – Detection method ל- .Net Framework 4 ימנע התקנה מחדש)

הגדרת תלות נוכל לבצע בין Deployment types באותה Application או ב- Applications שונות.

clip_image005

מאפיין חשוב נוסף שה- Application model מציע הוא החלפת Application ב- Application supersedence)). אם למשל מותקנת כרגע בארגון גרסה 1.0 של תוכנה ועכשיו התבקשתם לשדרגם לגרסה 2.0 – במצב זה ניצור Application עבור גרסה 2.0 ונגדיר אותה כמחליפה של גרסה 1.0. נוכל גם להגדיר שלפני ההתקנה של גרסה 2.0, גרסה 1.0 תוסר אוטומטית (על ידי פקודת ההסרה שהגדרנו עבורה) וכך למעשה נשמור על Application lifecycle תקין ועקבי.

clip_image006

כפי שניתן לראות, יש ערך רב במעבר לעבודה ב- Application model החדש. המודל החדש מאפשר שימוש במערכת מעבר לכלי שלוחץ מרחוק double-click על EXE והפיכתה למערכת המתמודדת עם מצבים שונים בדרך שונה.

אני ממליץ גם לקרוא את המאמר הבא לקבלת מידע נוסף.

להתנסות ב Microsoft System Center 2012 R2 Configuration Manager and Endpoint Protection לחץ כאן

הכותב, איתמר טאומן, חבר בצוות ה- Premier Field Engineers במיקרוסופט ישראל מזה כשנתיים, ומתמחה ב- System Center Configuration Manager

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *