רגסטרי לDLL
-
יש לי איזה קובץ DLL שצריך לעשות לו רגסטרי. (TLB במקור, בעקרון).
לוינדוס 7 הפקודה "regtlibv12.exe" עובדת מצוין, לענין זה.
אבל, בגרסאות של וינדוס מכאן ואילך לא תמיד זה עובד.
הבנתי מחיפוש ברשת שבגרסאות מתקדמות הקובץ הזה פשוט לא קיים.
חשבתי שאם אני מטמיע את הDLL בתוך הEXE על ידי CONSTURA.FUDY זה אמור לעזור, אבל זה לא עוזר.האם שימוש ב REGSVR32.EXE או REGSAM שקול בדיוק לאותה פעולה? ומה ההבדלים בינהם? והאם יש הבדלים בין המערכות של 64 ו32 ביט?
והאם יש אפשרות כלשהיא,, פשוט לקחת את הDLL ולהטמיע אותו אצלי בצורה כזו שהוא לא יצטרך רגסטרי בכלל?פורסם במקור בפורום CODE613 ב25/08/2016 01:05 (+03:00)
-
מדובר בDLL של אינדיזיין.
אני לא יודע איזה שפה הוא נכתב [אני מעריך C++]. ואני אישית יכול להתשמש בו בויזואל סטדיו- באופן מוחלט ונהדר. אני כותב בC#.
הבעיה היא אצל הלקוחות, ששם זה לא עבר רגסטרי ולכן כנראה אין אפשרות לפנות לDLL הזה.
הבעיה לכשעצמה הוזכרה כבר כאן : אך הפתרון המוצע שם, וכן מה שכתב לי דוד ל.ט. בזמנו כאן לא פועלים בגרסאות מתקדמות של וינדוס.הקוד להפעלה ראשונית, בהשראתו של דוד ל.ט., כאמור, הוא:
var MoreTblFiles = Directory.EnumerateFiles(@"C:\ProgramData\Adobe", "*.tlb", SearchOption.AllDirectories); foreach (string currentFile in MoreTblFiles) { p.StartInfo.Arguments = "\"" + currentFile + "\""; p.StartInfo.FileName = System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory() + "regtlibv12.exe"; counter++; if (!p.Start()) { MessageBox.Show("היתה בעיה."); } p.Close();
שזה מחפש את קבצי הTLB באשר הם בספריות אליהם הוא מפנה, ולאחר מכן עושה להם רגסטרי.
אני אישית הייתי מעדיף פתרון כזה שאני יביא איתי את הDLL למחשב הלקוח, ושם יעשה לו רגסטרי כראוי, כך שלא יהיה תלות במה שיש או אין לו במחשב.
פורסם במקור בפורום CODE613 ב25/08/2016 10:24 (+03:00)
-
אני לא יודע אם זה טוב מה שעשיתי, אבל העתקתי את הקובץ הזה regtlibv12.exe לתקיה בוינינדוס 10 ומשם הפעלתי אותו לרסטרי של הקובץ TLB.
הוא הגיב מצוין.
הענין הוא שregsam לא עובד על TLB, לא ב10 ולא ב7, מה שכן ראיתי שאמור ללכת איתו זה TLBIMP.EXE.
והפעלתי את זה דרך שם והוא באמת הוציא אחריו איזה DLL אבל הוא היה קטן ומצומק ולא היו בכלל את כל הפונקציות שיש בDLL CT דרך רפרנס עם COM. לכן העדפתי לעשות בדרך זו.פורסם במקור בפורום CODE613 ב26/08/2016 13:21 (+03:00)