דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. איך לקמפל JSON לתוך EXE

איך לקמפל JSON לתוך EXE

מתוזמן נעוץ נעול הועבר תכנות
10 פוסטים 5 כותבים 565 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • Y.Excel.AccessY מנותק
    Y.Excel.AccessY מנותק
    Y.Excel.Access
    כתב ב נערך לאחרונה על ידי
    #1

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

    איך אפשר להכניס את הJSON לתוך ה EXE?

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

    (אשמח לתשובות גם משפות אחרות, כדי לדעת מה לחפש ואיך לעבוד. אני ספציפית פיתחתי עם RUST בספריית TAURI)

    Y.Excel.Access @ gmail.com

    yossizY חגיח 3 תגובות תגובה אחרונה
    1
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לY.Excel.Access ב נערך לאחרונה על ידי yossiz
      #2

      @Y-Excel-Access לא נהוג לשמור נתונים משתנים בתוך קובץ EXE
      יש כמה בעיות בזה
      א) אם הקובץ חתום, שינוי התוכן יפסול את החתימה
      ב) אם ה EXE בתקיית program files הגלובלי, צריך הרשאות מנהל לכתוב אליה
      ג) על פי רוב הקובץ זמין לשימוש לכמה משתמשים וצריך לשמור את המידע של כל משתמש בנפרד

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

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

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      Y.Excel.AccessY תגובה 1 תגובה אחרונה
      5
      • חגיח מנותק
        חגיח מנותק
        חגי
        השיב לY.Excel.Access ב נערך לאחרונה על ידי
        #3
        פוסט זה נמחק!
        תגובה 1 תגובה אחרונה
        0
        • dovidD מנותק
          dovidD מנותק
          dovid ניהול
          כתב ב נערך לאחרונה על ידי dovid
          #4

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

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          0
          • Y.Excel.AccessY מנותק
            Y.Excel.AccessY מנותק
            Y.Excel.Access
            השיב לyossiz ב נערך לאחרונה על ידי Y.Excel.Access
            #5

            @yossiz
            לכאורה כאן - https://tauri.app/v1/guides/building/sidecar/ ספריית TAURI מטפלת בזה. אני צודק?
            אך זה https://tauri.app/v1/guides/building/resources/ לא קשור, למרות שקוראים לזה "resources".

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

            Y.Excel.Access @ gmail.com

            yossizY תגובה 1 תגובה אחרונה
            0
            • yossizY מנותק
              yossizY מנותק
              yossiz
              השיב לY.Excel.Access ב נערך לאחרונה על ידי yossiz
              #6

              אני רוצה להיות בטוח שהבנתי את המקרה
              נא להרחיב:

              @Y-Excel-Access כתב באיך לקמפל JSON לתוך EXE:

              יצרתי EXE

              אתה מדבר על קובץ התקנה או התוכנה עצמה? (אני הבנתי שמדובר על התוכנה עצמה, כלומר תוכנה ניידת שהיא קובץ EXE יחיד)

              אך שמירת הנתונים שלו מתבצעת ב JSON

              האם מדובר בנתונים שמתעדכנים מהרצה להרצה או נתונים סטטיים? (אני הבנתי שאתה רוצה לשמור נתונים משתנים בתוך ה-EXE, לכן כתבתי את הדרשה הארוכה למה לא לשמור ב-EXE)

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              Y.Excel.AccessY תגובה 1 תגובה אחרונה
              1
              • Y.Excel.AccessY מנותק
                Y.Excel.AccessY מנותק
                Y.Excel.Access
                השיב לyossiz ב נערך לאחרונה על ידי Y.Excel.Access
                #7

                @yossiz תודה רבה, ואסביר.

                אני חוש שההבנה הראשונית שלך מצוינת.

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

                אח"כ הוספתי בתוך הקוד שלי פקודה לשמור את הנתונים בתוך JSON, וכעת התוכנה לא תעבוד אלא אם כן יש קובץ JSON באותה תיקייה בה ממוקמת התוכנה (ה EXE).

                הבעיה בזה

                1. שזה מסורבל למשתמש - הכי פשוט להשתמש עם קובץ בודד ולא תיקייה שלימה.
                2. זה חושף את הנתונים שנשמרו:
                • יכול להיות בהם דברים שצנעת הפרט חשובה, או שיש קוד כניסה או תנאים שלי למשתמש וכד', ועם הJSON יהיה אפשר לראות את כל הנתונים.
                • יכול להיות שאיזה משתמש יפתח את ה JSON וישנה שם נתונים, ואז התוכנה לא תוכל לקרוא יותר מה JSON (כי הנתונים בו לא יהיו מסודרים בסדר שקבעתי מראש), ויאבדו נתונים חשובים.

                לכן חשבתי על האפשרות לשמור בתוך ה EXE עצמו, וכנ"ל.

                Y.Excel.Access @ gmail.com

                yossizY תגובה 1 תגובה אחרונה
                1
                • 5 מנותק
                  5 מנותק
                  5566brs
                  כתב ב נערך לאחרונה על ידי
                  #8
                  1. אפשרי להצפין את הקובץ, עם מפתח סטטי שנמצא בתוך הexe.

                  2. אפשר לשמור את המידע הזה בregistry, או לשמור במיקום קבוע בתוך %localappdata% וכדומה, המיקום תלוי אם זה גלובלי למחשב או לכל משתמש בנפרד.
                    אין בעיה בזה שתוכנה יוצרת קובץ במחשב, זה הגיוני ונורמלי.

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

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

                  תגובה 1 תגובה אחרונה
                  3
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לY.Excel.Access ב נערך לאחרונה על ידי yossiz
                    #9

                    @Y-Excel-Access כתב באיך לקמפל JSON לתוך EXE:

                    וכעת התוכנה לא תעבוד אלא אם כן יש קובץ JSON באותה תיקייה בה ממוקמת התוכנה

                    התוכנה צריכה להתייחס בסלחנות למקרה שאין לו קובץ נתונים וליצור את הקובץ בעצמו עם ערכי ברירת מחדל

                    @Y-Excel-Access כתב באיך לקמפל JSON לתוך EXE:

                    שזה מסורבל למשתמש - הכי פשוט להשתמש עם קובץ בודד ולא תיקייה שלימה.

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

                    אם התוכנה לא אמור להתנייד אז הפתרון פשוט לשמור את הקובץ בתקיית appdata שמיועד בדיוק עבור זה.

                    ב-tauri ספציפית יש לך עוד אופציה להשתמש באחסון localstorage של ה"דפדפן" (webview)

                    @Y-Excel-Access כתב באיך לקמפל JSON לתוך EXE:

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

                    גם שמירה בתוך ה-EXE לא ימנע ממשתמש נחוש להגיע לסודות שאתה רוצה להסתיר. אם זה לא מידע ממש רגיש ורק שיש עדיפות שמשתמשים לא יגיעו אליו בקלות אז שמירה ב-localstorage יכול להספיק לך

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    תגובה 1 תגובה אחרונה
                    2
                    • yossizY מנותק
                      yossizY מנותק
                      yossiz
                      השיב לY.Excel.Access ב נערך לאחרונה על ידי yossiz
                      #10

                      @Y-Excel-Access כתב באיך לקמפל JSON לתוך EXE:

                      לכאורה כאן - https://tauri.app/v1/guides/building/sidecar/ ספריית TAURI מטפלת בזה. אני צודק?

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

                      אך זה https://tauri.app/v1/guides/building/resources/ לא קשור, למרות שקוראים לזה "resources".

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

                      בשתי הדרכים הקובץ ארוז בתוך קובץ ההתקנה אבל לא בתוך ה-EXE של התוכנה

                      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                      תגובה 1 תגובה אחרונה
                      2

                      בא תתחבר לדף היומי!
                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • דף הבית
                      • קטגוריות
                      • פוסטים אחרונים
                      • משתמשים
                      • חיפוש
                      • חוקי הפורום