יצירת קובץ התקנה (exe.) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

יצירת קובץ התקנה (exe.)


eido300

Recommended Posts

בעקבות הדיון הזה אני רוצה לנסות לבנות את קובץ ההתקנה לבד, במקום להשתמש באפשרות הpublish של הvs אני רוצה לקחת את הקבצים שנוצרו מהקימפול וליצור להם קובץ התקנה (כמו שעושות התוכנות installShiled, inno setup, וכו').

יש לי כמה שאלות על הנושא:

  1. בתיקיית הפרוייקט בנתיב bin -> debug (מצורפת תמונה) יש כמה קבצים (עם סיומות: config. , .application , .manifest , .pdb, .exe , .vshost) ועוד תיקיה בשם app.publish שמכילה רק קובץ exe באיזה קבצים אני צריך להשתמש?
  2. יש משמעות לאיפה הקבצים מחולצים? זאת אומרת אני יכול פשוט לחלץ אותם לאיפה שאני רוצה או שיש תיקייה מסויימת (לדוגמא program Files) שאליה נהוג לחלץ אותם?
  3. איך יוצרים את הקובץ הסרה ככה שהוא יופיע בהסרת תוכניות של הwindows?

קישור לתוכן
שתף באתרים אחרים

  • תגובות 46
  • נוצר
  • תגובה אחרונה

תשתמש בכלים יעודיים לכך, אף אחד היום לא בונה חבילת התקנה באופן ידני.

אני מציע לך להשתמשי ב-NSIS

הנה כאן:

http://nsis.sourceforge.net/Main_Page

אם אתה רוצה לבנות חבילה למטרות לימודיות, מאחר ש-NSIS תוכנה חופשית והקוד פתוח תוכל לראות מה הם עושים.

קישור לתוכן
שתף באתרים אחרים

תודה על התשובה.

הרעיון הוא ללמוד לעשות את זה לבד בלי תוכנה יעודית שתעשה את זה בשבילי, כמו שכתבת הtutorials שלהם נראה מקור לימוד די נחמד, לרעיון איך לעשות את זה אבל הוא עדיין לא עונה על השאלה הראשונה והשניה שלי, אשמח לתשובה עליהם.

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

קישור לתוכן
שתף באתרים אחרים

בגדול אתה צריך לבנות מעין מנוע שיודע לקבל קבצים, פרמטרים ואוסף הוראות לביצוע (מנוע האריזה). המנוע יארוז את הקבצים ב-zip, נניח, ויצרף אותם למנוע אחר (תוכנת ההתקנה, קובץ exe) שהוכן מראש. מנוע ההתקנה יידע לפתוח את הקבצים המצורפים ולבצע את ההוראות. לדוגמא : ההוראות יהיו בקובץ xml ויהיו בסגנון 'שים את הקובץ X מתוך ה-zip בתיקיה y'. מנוע ההתקנה יקרא את הפקודה, יחלץ את הקובץ ויבצע.

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

קישור לתוכן
שתף באתרים אחרים

תודה על התשובה.

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

אני די מתחיל, תוכנה שתיצור התקנות כמו nsis זה (כמו שכתבת) עניין מאתגר מידי בשבילי, אולי זה יהיה הפרוייקט הבא...

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

קישור לתוכן
שתף באתרים אחרים

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

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

אני ממש סקרן לדעת למה אתה מעוניין לכתוב את כל זה בעצמך :-)

קישור לתוכן
שתף באתרים אחרים

לא משהו מיוחד, אני די מתחיל ואני מחפש על מה להתאמן, זה נושא חדש שאני לא מכיר ואני די בטוח שזה קצת יותר מאשר סתם להעתיק קובץ לתיקייה רנדומאלית, אני מניח שיש משמעות לתיקיות בכונן c (תיקיות כמו - PerfLog, Program Files, Windows וכו') אז לכתוב את זה לבד נותן לי להתאמן על כתיבת תוכנות ועוד ידע על נושא חדש, וחוץ מזה אני סתם אוהב לבנות כלים לבד ולא סתם להשתמש בכלים מוכנים בלי לדעת מה הם עושים (כמובן, אחרי שהבנתי איך הם עובדים ומה הם עושים מן הסתם יכול היות שאני אשתמש בכלים המוכנים, בדרך כלל הם יותר מקצועיים...)

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

בעקבות הדיון הזה אני רוצה לנסות לבנות את קובץ ההתקנה לבד, במקום להשתמש באפשרות הpublish של הvs אני רוצה לקחת את הקבצים שנוצרו מהקימפול וליצור להם קובץ התקנה (כמו שעושות התוכנות installShiled, inno setup, וכו').

יש לי כמה שאלות על הנושא:

  1. בתיקיית הפרוייקט בנתיב bin -> debug (מצורפת תמונה) יש כמה קבצים (עם סיומות: config. , .application , .manifest , .pdb, .exe , .vshost) ועוד תיקיה בשם app.publish שמכילה רק קובץ exe באיזה קבצים אני צריך להשתמש?
  2. יש משמעות לאיפה הקבצים מחולצים? זאת אומרת אני יכול פשוט לחלץ אותם לאיפה שאני רוצה או שיש תיקייה מסויימת (לדוגמא program Files) שאליה נהוג לחלץ אותם?
  3. איך יוצרים את הקובץ הסרה ככה שהוא יופיע בהסרת תוכניות של הwindows?

קישור לתוכן
שתף באתרים אחרים

א. אתה צריך release לא debug. אתה צריך לפחות את ה exe ואולי גם את ה config (תחפש בגוגל מה המשמעות של הקבצים).

ב. פעם ראשונה שאתה משתמש בתוכנה במחשב ?

ג. יש ערכים ברגיסטרי שצריך להוסיף, חיפשת בגוגל מה הם ?

קישור לתוכן
שתף באתרים אחרים

תודה רבה.

1. הrelease ריק, לכן הלכתי על הdebug.

2. לא, למה? (אם תקרא את הודעה 7 תבין יותר טוב את מה שהתכוונתי לשאול)

3. אני יודע מה הם, כמו שהבנתי בסך הכל 2 אחד בשביל שזה יופעל עם עליית המחשב (HKLM\Software\Microsoft\Windows\CurrentVersion\Run), והשני בשביל להגדיר למחשב להוסיף את הuninstall להסרת תוכניות שבלוח בקרה (HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall).

קישור לתוכן
שתף באתרים אחרים

דבר נוסף - יש הרבה משתני סביבה עם שמות תיקיות של המשתמש, תיקיה זמנית וכו'. נהוג לקרוא את משתנים האלו ולא להסתמך על שמות תיקיות ידועים . כנס ל command line ותכתוב set . אתה תראה את כולם. גם זה תרגיל טוב

קישור לתוכן
שתף באתרים אחרים

דבר נוסף - יש הרבה משתני סביבה עם שמות תיקיות של המשתמש, תיקיה זמנית וכו'. נהוג לקרוא את משתנים האלו ולא להסתמך על שמות תיקיות ידועים . כנס ל command line ותכתוב set . אתה תראה את כולם. גם זה תרגיל טוב

מצטער לא לגמרי הבנתי למה התכוונת...

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.


×
  • צור חדש...