none
שאלה טכנית בויז'ואל סטודיו 2010 בקשר ל - Setup Projects RRS feed

  • שאלה

  • שלום, אינני יודע אם הגעתי למקום הנכון לשאול שאלה זו, אני מקווה שכן.

    בכל מקרה, אני עובד תחת Visual Studio 2010 Premium, יש לי מספר Setup Projects המיועדים לפלטפורמת x86 ואני מעוניין להעביר אותם לפלטפורמת x64.
    אני יודע שעליי ללכת ל - Configuration Manager, משם ל - Active Solution Platform, ללחוץ על "new" ואז לבחור מתוך רשימה את האפשרות של x64.
    עם זאת, אין לי אופציה שכזו, כאשר אני לוחץ על "new" דבר לא קורה, כמו כן האופציה היחידה שיש לי היא Win32.
    תמונה מצורפת :


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

    כמו כן ידועה לי האפשרות של ללכת ל - Project Properties ולשנות את מאפיין TargetPlatform ל - x64, עם זאת, אין זה עובד. כאשר אני מריץ את קובץ ההתקנה (msi.) הוא עדיין מבקש להתקין את הקבצים בתיקיית Program Files(x86).

    האם יש דרך לגרום לכך שההתקנה תבקש להתקין בתיקיית Program Files (של 64 ביט) ?

    תודה

    יום שלישי 13 דצמבר 2011 13:18

תשובות

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

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

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

    http://blogs.msdn.com/b/buckh/archive/2011/03/17/visual-studio-setup-projects-vdproj-will-not-ship-with-future-versions-of-vs.aspx

     

    מקווה שעזרתי :)

    קובי

    • הוצע כתשובה על-ידי KMoraz יום שלישי 03 ינואר 2012 15:40
    • סומן כתשובה על-ידי The_Mundane יום שני 09 ינואר 2012 09:28
    יום שני 02 ינואר 2012 21:09

כל התגובות

  • אם המחשב שלך לא מאפשר עבודה תחת 64ביט אז לא תוכל לפתח עבור מעבד 64 ביט.

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

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


    signature
    • הוצע כתשובה על-ידי ipdd יום שלישי 13 דצמבר 2011 19:22
    • הצעה כתשובה בוטלה על-ידי ipdd יום שלישי 27 דצמבר 2011 12:44
    יום שלישי 13 דצמבר 2011 15:34
    מנחה דיון
  • אין בעיה כאשר אני מנסה לשנות את ה - Solution Platform בסוגים אחרים של פרויקטים, זה רק מתרחש ב - Setup Projects.
    כנראה שהאופציה הזו לא קיימת עבורם, בדקתי בשלושה מחשבים שונים ובאף מחשב לא ניתן היה לשנות את ה - Solution Platform ב - Setup Project. חייבים להשאר עם מה שהוא נותן לך.

    אני אנסה להסביר את הבעייה שלי יותר לעומק :

    יש לי מספר Setup Projects שכנראה נכתבו ב - VS2005 ואני צריך להתאים אותם לעבודה תחת 64 ביט.
    מדובר למעשה בקבצי אינסטול, כך שלמעשה כרגע הם כתובים עבור 32 ביט ולכן מעתיקים לתיקייה Program Files(x86), אני צריך שהם יעתיקו לתיקייה Program Files (של 64 ביט).

    למעשה אם אני יוצר Project Setup חדש אין לי כלל בעייה, ה - Solution Platform שלו היא Default וזה בסדר.
    תחת התנאי הזה, אם אני משנה את מאפיין ה - TargetPlatform ל - x64 אז כאשר אני מריץ אינסטול (קובץ msi.) הקבצים מועתקים לתיקייה הנכונה (Program Files).

    הבעייה מתחילה בפרויקטים שכבר יש לי. אצלהם, משום מה, ה - Solution Platform היא Win32 וכאמור אי אפשר לשנות את זה ל - Default.

    במקרה של Win32, גם אם אני שם את ה - TargetPlatform להיות x64 או x86, כאשר אני מריץ את האינסטול, הקבצים מועתקים ל - Program Files(x86), דבר שאני לא מעוניין בו במקרה של 64 ביט.

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

    תודה

    • נערך על-ידי The_Mundane יום רביעי 14 דצמבר 2011 06:36
    יום רביעי 14 דצמבר 2011 06:34
  • הבעיה מובנת אני חושב

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

    * אין לי בשום מחשב גרסת VS 2005 כרגע

    ** אל תעלה פרוייקט אמיתי או מורכב אלא צור פרוייקט מינימלי הכי בסיסי שאתה יכול למשל SETUP שכל מה שהוא עושה זה להפעיל את הכתבן (notepad).

    אני אנסה להיע לזה בהקדם


    signature
    יום רביעי 14 דצמבר 2011 07:42
    מנחה דיון
  • תודה על העזרה.

    בעיקרון אני חושב שאין בזה צורך, כאשר אני יוצר Setup Project חדש אני מקבל Default בתור Solution Platform.




    אז אני משנה את ה - TargetPlatform ל x64 :


    עושה Rebuild, מוציא קובץ msi ואז הכל בסדר, האינסטול מבקש להוציא לתיקייה הנכונה (Program Files).

    בפרויקטים שיש לי אשר כבר קיימים (אני לא יודע אם הם נכתבו ב VS 2005, אני רק משער זאת, זהו קוד ישן שקיבלתי) יש Win32 במקום Default וכאמור אי אפשר לשנות זאת .. אולי תוכל לאמת ולבדוק גם אצלך שאכן אי אפשר לשנות את ה - Active Solution Platform ב - Configuration Manager כאשר מדובר ב - Setup Project ?
    כמו כן האם גם אצלך יש Default במקרה של יצירת Setup Project חדש ?
    (כאמור אני עובד ב - VS 2010 Premium).



    • נערך על-ידי The_Mundane יום רביעי 14 דצמבר 2011 08:13
    יום רביעי 14 דצמבר 2011 08:12
  • אין בעיה לשנות את סוג ה TargetPlatform גם בפרוייקט SETUP קיים והשינוי אמור לגרור שינוי של המקום בו מבוצעת ההתקנה אם לא הוגדר מיקום אחר ברמת הפרוייקט או ברמת מערכת ההפעלה.

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


    signature
    יום חמישי 15 דצמבר 2011 10:21
    מנחה דיון
  • אכן ברור שמדובר בבעייה ברמת הפרויקט, כשם אמרתי, בפרויקטים הנ"ל ה - Active Solution Platform תקועה על Win32 וזה מה שגורם לבעייה. מצד שני כאשר אני יוצר Project Setup חדש דווקא שם ההגדרה היא default ואין בעיה במקרה הזה.

    הניחוש שלי הוא שהפרויקטים הללו ככל הנראה נכתבו בגרסא ישנה יותר של VS וכנראה שם רק האופציה לפלטפורמה של Win32 הייתה זמינה, ומכיוון שאי אפשר לשנות פלטפורמה ב - Setup Project (ככל הנראה) אז עכשיו אי אפשר לשנות את זה למשהו שתומך ב64 ביט.

    יום חמישי 15 דצמבר 2011 11:48
  • נסיון אחרון שלי בחזרה על הדברים האלו בנושא זה!

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

    אם יש בעיה ספציפית אז צריך את הנתונים הרלוונטיים הספציפיים כדי לעלות על הבעיה/פתרון

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

    * אין זה אומר שלמישהו יהיה את הכוח או הזמן לעבור לעומק על בעיה ספציפית של משהו אם היא מכריחה שעות עבודה :-) אבל לזה יש את הפורום ואם הבעיה יותר דחופה ו/או לא ניתן לספק אינפורמציה אז תמיד ניתן להעסיק בשתלום איש מקצוע שיגיע ויבדוק את הנושא וייתן פתרון בתשלום


    signature
    יום חמישי 15 דצמבר 2011 15:20
    מנחה דיון
  • מצטער אם אני נשמע כמו תקליט שבור, אבל הבעיה בסופו של דבר היא די פשוטה.
    יש לי מספר פרויקטים ובהגדרות של ה - Active solution platform הם תקועים על Win32, אינני יודע מדוע זה ככה, כשאני יוצר Setup project חדש דווקא ההגדרות מכוונות על Default (ואז אין בעייה).
    כאמור, אי אפשר לשנות את ההגדרות הללו, כנראה בגלל שמדובר ב - Setup project, כבר אמרו לי במקום אחר שלא ניתן לשנות את ההגדרה הספציפית הזו בפרויקטים מסוג Setup project ורק רציתי לאמת את זה.

    אתה ענית לי "אין בעיה לשנות את סוג ה TargetPlatform גם בפרוייקט SETUP קיים", אבל לא התכוונתי ל - TargetPlatform, אלא ל - Active solution platform שנמצאת ב - Configuration manager (רואים זאת בתמונה הראשונה שצירפתי בשרשור הזה).

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

    יום ראשון 18 דצמבר 2011 08:07
  • ניחשת נכון. מיקרוסופט למעשה זנחה את שיטת ה-setup הישנה של ה-VDPROJ. אם חשוב לך לשמר את תוצרי פרוייקט ההתקנה לטווח ארוך ההמלצה היא לעבור לסביבת פיתוח מודרנית יותר כמו WIX.

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

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

    http://blogs.msdn.com/b/buckh/archive/2011/03/17/visual-studio-setup-projects-vdproj-will-not-ship-with-future-versions-of-vs.aspx

     

    מקווה שעזרתי :)

    קובי

    • הוצע כתשובה על-ידי KMoraz יום שלישי 03 ינואר 2012 15:40
    • סומן כתשובה על-ידי The_Mundane יום שני 09 ינואר 2012 09:28
    יום שני 02 ינואר 2012 21:09
  • תודה על התשובה.
    בעיקרון אני מבצע את המטלה הזו עבור מקום העבודה שלי, אולי אגיד להם שכדאי לעבור לשימוש ב - WIX. אני מניח שזה אמנם גם אומר שצריך לכתוב דברים מחדש.
    הם פשוט עכשיו רוצים להעביר את כל הקוד שלהם ל64bit, כולל אינסטולרים.
    יום חמישי 05 ינואר 2012 09:31
  • גם את הפרוייקטים הקיימים שלא שודרגו במעבר ל-VS2010 כנראה שתצטרך ליצור מחדש. ניתן לצפות ש-VS ידע לטפל בפרוייקטים מסוג זה ולשדרג אותם אוטומטית בדומה לשדרוג המבוצע לפרוייקט #C, אבל לא אתפלא אם זה לא נתמך כלל. אני מניח שהדבר נעשה לא מתוך רשלנות אלה מתוך אסטרטגיה מכוונת של מיקרוסופט לגרום למפתחים לזנוח את ה-VDRPOJ.
    יום שישי 06 ינואר 2012 06:59