DCSIMG
איך לבטל את הUAC עבור אפליקציה בודדת. - Bah, Humbug!

Bah, Humbug!

Wear sunscreen...

שטויות

  • Join me

בלוגים שאני קורא

איך לבטל את הUAC עבור אפליקציה בודדת.

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

איך הUAC עובד?

בגדול (מאוד) - כשמשתמש בעל פריווילגיות מתחבר למערכת, הוא מקבל שני Tokens. הראשון (וזה שמולו הוא עובד), Token עם הרשאות של User. הן מאפשרות לו גישה לכל מה שנמצא תחת c:\Users\HisName וגישה לHKCU בRegistry. הToken השני הוא עם מסיכת ההרשאות המלאה שלו. אם מדובר בAdministrator או בכל סט הרשאות אחר.
ברגע שהמשתמש מבקש לבצע פעולה כלשהי הוא צריך לקבל Token מתקדם יותר. במידה והמערכת מזהה שיש לו כזה, היא מציגה את תיבת הבחירה הידועה לשמצה. אחרת, היא מבקשת שמשתמש בעל הרשאות יתחבר (בדומה לפקודת הsu ביוניקס).

למה לא לבטל את הUAC לגמרי?

אפילו שועל קרבות ותיק כמוני (על מי אני מנסה לעבוד?), שהצליח להעביר 3 שנים עם הXP שלי בלי אנטי וירוס (מצד שני, אני לא משתמש בתוכנות שיתוף.. מה שבהחלט עזר) - מגיע לנקודה בחיים שבה הוא לוחץ Double Click על משהו שהוא לא באמת היה אמור ללחוץ. זה יכול להיות קוד זדוני - וזה יכול להיות סתם קובץ מערכת שבטעות לחצת עליו Shift + Delete. בנוסף, זה גם יכול להיות האח של אותו שועל קרבות ששאל את המחשב הנייד שלו, וגלש לאתרים מפוקפקים של רוכבי אופניים בשביל להוריד שומר מסך.. בכל מקרה - הUAC זו אחת התכונות החשובות בויסטה (אם לא החשובה שבהן), וגם אם היא לפעמים מציקה - חשוב לא לבטל אותה באופן מוחלט לכל המערכת.

אבל.. לא כל הנוצץ זהב

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

במקרה כזה, יש לנו כמובן האפשרות לתת לאפליקציה הרשאות Administrator כברירת מחדל.. אך אבוי! בכל פעם שנריץ את אותה אפליקציה שהמפתחים שלה הזניחו את הBest Practices של מיקרוסופט הUAC יצעק עלינו שאנחנו מתכוונים להריץ את האפליקציה כAdministrators - ויבקש מאיתנו לאשר שאכן זו כוונתנו.

image

אז איך אפשר לעצור את הUAC רק עבור אפליקציה בודדת?

ראשית, נייצר פרופיל לאפליקציה. את הפרופיל הזה אח"כ נוכל למחזר בכל מכונה שהיא בארגון!

  1. ראשית, יש להתקין את הApplication Compatibility Toolkit מאתר מיקרוסופט.
  2. imageלאחר ההתקנה, יש להריץ את הCompatibility Administrator שהתווסף לתפריט הStart שלכם. כמובן שיש להריץ אותו עם הרשאות Administrator.
  3. בצד שמאל, תחת Custom Databases אמור להיות פריט ששמו New Database(1) Untitled. יש ללחוץ על הלחצן הימני בתפריט, ולבחור בCreate New ואח"כ Application Fix.
  4. יש imageלמלא את הפרטים הרלוונטיים של התוכנית אותה אתם רוצים לתקן. במקרה שלי, ויז'ואל סטודיו 2005.

    ואח"כ ללחוץ על Next. מסך הCompatibility Modes הוא מסך מאוד חשוב. באופן תמוה, ברירת המחדל היא ריצה במצב תאימות לחלונות 95. כאן יש לבחור None, אחרת האפליקציה במקרה הטוב תרוץ במצב מותאם ל95, ובמקרה הפחות טוב - פשוט לא תרוץ. אח"כ, לחיצה שוב על Next עד שמגיעים לCompatibility Fixes. ברשימה שתוצג, יש לסמן את RunAsInvoker ואח"כ - ללחוץ Next עד הסוף. כמובן שבתהליך הזה ניתן לייצר פרופיל מותאם אישית שלם לכל אפליקציה, אך בפוסט הזה אני אתמקד אך ורק בנושא ביטול הUAC.
  5. עכשיו נשאר רק לשמור לקובץ את הפרופיל החדש שיצרנו (לחיצה על Save תבקש ראשית להכניס שם לDB החדש, ורק אח"כ תאפשר לשמור את הקובץ), וזהו סוף השלב הראשון.

השלב השני יהיה להתקין את הפרופיל שיצרנו במכונה:

  1. נכנס לCommand Prompt (שכמובן נריץ כAdministrator).
  2. נריץ את הפקודה sdbinst PATH_TO_OUR_FILE ו... זהו :).

image

מעכשיו, כשתנסו להריץ את הVS2005, הUAC יתעלם ממנו.

חשוב: אם אתם מחליטים לבטל את הפעולה, פשוט חזרו על השלב השני, אך אחרי sdbinst הוסיפו את הפרמטר -u קרי:

image

קישור למאמר בנושא מהKB.

תוכן התגובה

Moshe L כתב/ה:

אישית, ביטלתי אותה לחלוטין על המחשב הפרטי שלי.

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

(מעניין מתי המפתחים יתחילו להבין שתוכנת חיפוש במאגר תורני לא צריכה הרשאות Administrator ?!)

# January 25, 2008 4:31 PM

Doron Ben-David כתב/ה:

:P נוראיות כל התוכנות לחיפוש במאגר התורני... ;)

# January 25, 2008 6:16 PM

Yisrael כתב/ה:

אתה בטח מכיר בע"פ את התגובה להלן:

התשובה לשאלה "איך לבטל את הUAC?", היא להתקין ולהשתמש במערכת הפעלה מתחרה...

# January 28, 2008 3:40 AM

Doron Ben-David כתב/ה:

ישראל, זה מקביל ל:

ש: "איך מכבים את הNumLock כשהמחשב עולה?"

ת: מחליפים מחשב.

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

# January 28, 2008 8:30 AM

Bah, Humbug! כתב/ה:

אני מזהיר מראש.. הפוסט הזה הולך לעסוק בי, דורון . הפוסט הזה הולך לעסוק באלטר-אגו שלי, הבלוג הזה. הפוסט

# May 18, 2008 11:07 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 5 and 5 and type the answer here:


Enter the numbers above: