לייצר התקנה לתוכנה עם QSetup / מדריך

כמעט כל מפתח מגיע לשלב שבו סיים לבנות את התוכנה והוא ממש לחוץ להעלות אותה לרשת ולהתחיל להפיץ אותה. זהו גם השלב שבו הוא נזכר שצריך לארוז את הכל בצורה נוחה שגם תעבוד על המחשב של המשתמש. QSetup, תוכנה ליצירת תהליכי התקנה ליישומים מתיימרת לספק את כל מה שתצטרכו מיישום לבניית התקנות (Installer) ובאופן הפשוט ביותר. האם היא מצליחה בכך? – תגידו אתם

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

בשלב הזה, מה שכולם בדרך כלל עושים במידה ואין להם כמה אלפי דולרים לטובת InstallShield והם זקוקים להתקנה טיפה יותר מורכבת ממה שמאפשר MSI Installer החינמי של מיקרוסופט, הוא להשתמש באלטרנטיבות חינמיות דוגמת NSIS ולקוות לטוב. בין לבין, קיימים מספר פתרונות המספקים למפתחים גם את האפשרות לייצר התקנה קצת יותר מורכבת מחד שתעניק פשטות הפעלה מנגד. אחד מאותם פתרונות מדוברים היא תוכנת QSetup של חברת Pantaray, אשר נמצאת בדיוק באותה נישת ביניים מדוברת.

היתרון הגדול ביותר של QSetup הוא הפשרה האידיאלית של התוכנה בין כמות התכונות ובין פשטות השימוש בה. מהבדיקות הראשוניות שאנחנו עשינו, נראה כי החברים ב-Pantary עשו עבודה לא רעה בכלל והצליחו לדחוס בתוך יישום קטן ופשוט חלק גדול מהפיצ’רים שאנו מכירים מיישומי ה-Installers הגדולים, דוגמת פיצול לחלקים, הורדה מהרשת ועידכונים אוטומטיים. הרעיון שעומד מאחורי האפילקצייה הוא בדיוק אותו אחד עליו דיברנו בהתחלה: האפשרות לייצר התקנה ליישום שלכם בצורה הפשוטה והנוחה ביותר מחד ולאפשר לכם את כל הגמישות והשימוש בתכונות מתקדמות מאידך.

אז איך זה עובד?

מסך ה-Project. לחצו להגדלה

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

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

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

הגדרות ה-Display. לחץ להגדלה

עיצוב תהליך ההתקנה

הלשונית הבאה בתור היא לשונית ה-Display המאפשרת לכם להתאים אישית את הרקע של תהליך ההתקנה. גם כאן, המערכת מציעה מגוון אפשרויות שהופכות את תהליך ההתאמה לפשוט ומהיר. בין היכולות שמאפשרת Qsetup ניתן למצוא יצירת רקעים לפי שילוב של צבעים וצורות, הוספת תמונות רקע או תמונות הממוקמות במיקום ספציפי על-גבי הרקע עצמו ואפילו תוספת של מוסיקת רקע במהלך ההתקנה.

ניהול קבצי ההתקנה

ניהול קבצי ההתקנה. לחץ להגדלה

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

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

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

תיבות שיח וסדר ההתקנה

לשונית ה-Dialogs. לחץ להגדלה

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

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

נוסף לכל אלו, QSetup מאפשרת לכם גם להוסיף מסכי התקנה מותאמים אישית משלכם באמצעות ממשק עיצוב פשוט למדי. עיצוב המסכים המותאמים אישית מתבצע בצורה הדומה מאוד לעיצוב טפסים וממשק משתמש ב-Visual Basic, כך שכל מי שנגע אי פעם באחת מגרסאותיו השונות של VB ירגיש מיד בבית, אך גם מי שלא, ימצא את עצמו יחסית מהר.

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

מתגים והגדרות נוספות

לשונית ה-Switchs. לחץ להגדלה

על אף העובדה שאין צורך לגעת אפילו בהגדרה אחת בלשונית ה-Switchs על-מנת ליצור התקנה מלאה ליישום, הלשונית עצמה מכילה מספר הגדרות שישדרגו את ההתקנה שלכם משמעותית. החל מבחירה בתאימות לגרסאות מערכות ההפעלה השונות החל מ-Windows 95 וכלה ב-Windows 7 ו-Windows Server 2008, דרך התנהגות במקרה שההתקנה מזהה גרסה אחרת של היישום שכבר מותקנת על המחשב, הוספת היישום להגדרות ה-Run או RunOnce של המחשב בעת האתחול ואפילו התקנה אוטומטית של Net Framework, כולל הורדה מהאינטרנט במידת הצורך. כמו כן, בלשונית ה-Switches תוכלו למצוא את האפשרות ליצור קובץ Autorun.inf שיריץ את ההתקנה שלכם באופן אוטומטי במידה וזאת רצה מ-CD או מהתקן אחסון נייד כלשהו.

החלק המשמעותי ביותר במסך ה-Switches לדעתי, הוא החלק שבו מאפשרת QSetup לקבוע את התנהגות ההתקנה בעת התקלות במצבי האבטחה המתקדמים המובנים במערכת ההפעלה חלונות החל מגרסת Vista. כחלק מתהליך הבדיקה של ה-Setup, ניתן לבחון באיזה אזהרות UAC יתקל המשתמש בעת התקנה על Vista ו\או על חלונות 7 ואף להגדיר לו לבקש “שדרוג הרשאות” מהמשתמש במידת הצורך.

קיצורי דרך

לשונית ה-Shortcuts. לחץ להגדלה

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

שיוך קבצים

הלשונית הבאה עוסקת בנושא שיוך הקבצים. במידה והיישום שלכם פותח, עורך, מנגן או מתעסק עם כל סוג של קבצים, באמצעות הלשונית הבאה תוכלו להגדיר את סיומות הקבצים שישויכו ליישום שלכם. בכל הקשור לשיוך קבצים, חשוב לשים לב כי QSetup מאפשרת לכם להגדיר אילו סיומות קבצים אתם מועניינים לשייך ליישום שאתם יוצרים. מה שהיא לא מאפשרת להגדיר הוא מה קורה במידה וסיומות הקבצים הללו כבר משויכים ליישומים אחרים. בבדיקה הבסיסית שערכנו, גילינו שאם אנחנו מגדירים שיוך של סיומות ליישום מסויים והסיומות הללו כבר קיימות במערכת, לאחר ההתקנה הסיומות ישויכו באופן אוטומטי ליישום החדש שלנו. במידה ואתם מעוניינים לשאול את המשתמש לגבי ביצוע שיוך הקבצים, תאלצו ליצור לשם כך מסך מיוחד במהלך ההתקנה (בלשונית ה-Dialogs) ולהגדיר את הדברים דרך שם.

הגדרות Registry

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

קבצי INI

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

משתני סביבה

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

להריץ את כל השאר

לשונית ה-Execution. לחץ להגדלה

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

להנעים את הזמן למשתמש במהלך ההתקנה

אחד הדברים שיכולים ממש “לדכא” משתמשים הוא התקנות ארוכות בהן יושב המשתמש ומסתכל על ה-Progress Bar של ההתקנה ורק ממתין שההתקנה תסתיים. חלק גדול מההתקנות של היום מוסיפות במהלך ההתקנה מסכי עדכון עם תמונות וטקסט על-מנת “להנעים” את זמנו של המשתמש ולנצל את הזמן כדי להעביר אינפורמציה החשובה לחברה. לשונית ה-Billboard מאפשרת לכם לעשות בדיוק את זה. בהגדרות ה-Billboard תוכלו לייצר Storyboard של תמונות וטקסטים אשר ירוצו מול עיני המשתמש בזמן ההתקנה, כאשר הוא אינו נדרש לבצע שום פעולה, אלא רק להמתין לצורך סיומה.

עדכונים אוטומטיים

לשונית ה-Auto Update. לחץ להגדלה

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

הסרה

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

לייצר התקנה מאפס בפחות מ-5 דקות

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

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

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

יניב פלדמן

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

הגב

8 תגובות על "לייצר התקנה לתוכנה עם QSetup / מדריך"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* שימו לב: תגובות הכוללות מידע המפר את תנאי השימוש של Geektime, לרבות דברי הסתה, הוצאת דיבה וסגנון החורג מהטעם הטוב ו/או בניגוד לדין ימחקו. Geektime מחויבת לחופש הביטוי, אך לא פחות מכך לכללי דיון הולם, אתיקה, כבוד האדם והדין הישראלי.

סידור לפי:   חדש | ישן | הכי מדורגים
רועי
Guest

אין כמו portable

אלמוג בקו
Guest

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

מצד שני- צריך להתפרנס לא?

ערן
Guest

אני מודה כי לא קראתי את הכתבה, אך ההתרשמות הראשונית שלי מהמוצר זה UI גרוע וזול.

אריאל
Guest

הם משלמים להם…

שי
Guest

אם אני רוצה לצרף גם הזנת קוד להתקנת התוכנה (כמו סיסמא בווינדוס למשל או כל סיריאל אחר) ישנה תוכנה שמבצעת את זה תוך כדיי???

יצחק
Guest

בהחלט אפשר.
ניתן לעשות זאת במספר צורות:
1. כמות מוגדרת של מספרים סריאליים.
2. שילוב של DLL שלך שישמש לבדיקת חוקיות המספר.
3. מנגנון משוכלל שנקרא TOKENIZED SERIAL NUMBERS מנגנון זה מאפשר ליצר לכל לקוח סיסמה שונה המבוססת על השם שלו.
קרא הסבר בלינק הבא:
http://www.pantaray.com/tokenized.html

תומר
Guest

אני לא יודע מי משלם למי וגם לא ממש איכפת לי.
אני ניסיתי את התוכנה הזו לפני כמה חודשים וממש ממש נהנתי.

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

תומר

Menahem roitblat
Guest

אם כבר פרסומת.. האם התשלום הוא לזמן בלתי מוגבל?

wpDiscuz

תגיות לכתבה: