משיב מוביל
Internet Explorer Installation Pop-up when Installing Windows Update using WUApiLib

שאלה
-
Hello,
I have a simple program that downloads updates from Windows Update website, using WUApiLib's IUpdateInstaller::Install on Windows server 2008.
In general the program works fine but I’m experiencing the following problem: Although my program is running “silently” from command line, in cases when there’s a version upgrade on Internet Explorer (e.g. from IE8 to IE9), and perhaps in other cases I'm unaware of, there’s a pop-up that requires the user to press “Install” manually in order to install this "update".
I tried enabling the IUpdateInstaller property “IsForced” in order to block this dialog, but no luck.I’d appreciate any advice on how to install all update while avoid this type of dialog.
Thanks in advance
תשובות
-
היי
בהחלט אני בטוח שיהיו שיהיו עוד תובנות אם אבדוק את זה לעומק אבל זה עלול לקחת לי זמן שאין לי כרגע (כאמור אני לא מכיר את הספרייה הספיצית הזו). אני חושב שאני לא אגיע לזה בסוף השבוע הזה אם אני צריך לעבור על כך מאפס (בלי להתבסס על פרוייקט מוכן).
כרגע אני לא בטוח מה השימוש שלך בכלל במחלקה. אם זה כדי לעדכן אפליקציות שלך אז בינתיים תחשוב אם הפתרון הבא בו אני עובד יכול לעזור לך במקום לבחור בספרייה המוכנה:
1. מוודאים שאת האפליקציה יתקין משתמש ADMINISTRATOR (בדיקה בזמן ההתקנה). בזמן ההתקנה שואלים את המשתמש (וכמובן אפשר לשנות את הנתון בכל רגע בהמשך) האם לבצע עדכונים של האפליקציה אוטומטית. התשובה של המשתמש נכנסת לקובת הקונפיגורציה של האפליקציה
2. בכל הפעלה של האפליקציה באירוע ONSTART אם המשתמש בחר לבצע עידכון אוטומטי אז האפליקציה פונה לשרת המרוחק -> בודקת אם יש גרסה חדשה יותר -> אם יש גרסה חדשה יותר אז פותחים THREAD חדש עם המשתמש אדמין (אפשר לבצע עם שירות שרץ ברקע כל הזמן ולכן לא צריך לבצע Impersonation או בצורה יותר יעילה לעבוד עם המחלקה WindowsImpersonationContext) -> מורידים את הקובץ לתקייה מיוחדת בתוך האפליקציה (האפליקציה הותקנה על ידי האדמין ולכן לתקייה יש הרשאות אבטחה מתאימות).
3. בסגירת האפליקציה באירוע ONEND או בהתאם לטכנולוגיה איתה עובד מבצעים בדיקה אם גרסה חדשה יותר בתקייה -> אם כן אז שוב באמצעות המשתמש אדמין ו Impersonation מבצעים פשוט הרצה של האפליקציה בגרסה החדשה.
הערה: את ההתקנה עצמה אני כן מעדיף שתהיה בשירות חיצוני כדי שתמשיך לעבוד אחרי שהאפליקציה נסגרת.
* אם יהיה לי זמן אני אציץ בקוד של המחלקה שאתה עובד איתה אולי ואולי מישהו אחר במקרה מכיר אותה ועובד איתה.
הערה: הרעיון של לסמן תשובות הוא כמובן כדי לסמן את כל התשובות שקיבלת ולא את השאלה שלך :-) מה גם שאני רשום על השרשור הזה וכל תגובה בו אני מקבל מייל. כשאתה סוגר את השירשור אני מקבל מייל מתאים וזה עלול לגרום לחשוב שהנושא אכן סגור. בסיום (בתקווה שיהיה סיום מוצלח מבחינתך אבל בכל מקרה) יהיה לך את העבודה הקטנה של לעבור על כל השירשור ולסמן את כל התשובות שהיו בו ובמקביל לסמן את כל ההודעות שלדעתן מועילות בצורה כזו או אחרת... יש לנו זמן עד שנגיע לשם :-) קודם ננסה למצוא לך פתרון
- נערך על-ידי pituachMVP, Moderator יום שישי 31 מאי 2013 15:07
- הוצע כתשובה על-ידי pituachMVP, Moderator יום שלישי 22 אוקטובר 2013 09:50
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 22 אוקטובר 2013 10:36
כל התגובות
-
אהלן אסף
אני אתחיל מכך שאין תשובה. "סתם" רציתי להגיד שלום
אני צוחק כמובן :-)
אני יכול לחפש לך משהו אולי בסוף השבוע אבל אני אישית לא מכיר את הספרייה WUApiLib. לפחות עד עכשיו לא יצא לי לעבוד איתה או לשמוע עליה. בחיפוש בגוגל כרגע הדבר הראשון שמצאתי הוא את אותה שאלה שלך. ראיתי שכבר מעל שבוע שלא קיבלת בפורום שם תגובה והשאלה כבר עברה אחורה.
1. אני ממליץ לך להקפיץ את השאלה שלך שם. שים תגובה לשאלה שלך כדי שהיא תקפוץ. זה לא משהו שמכובד לעשות אחרי יום אבל אןם עבר שבוע ולא קיבלת אפילו תגובה זה נראה לי הוגן. דרך אגב אני חושב שאחרי ששמים תגובה אפשר אפילו למחוק אותה ועדיין ההודעה נשארת מוקפצת.
2. אם אתה יכול להעביר אלינו את הפרוייקט שלך במלואו אולי אנשים יוכלו להשקיע יותר ולעבור על הדברים. כמובן שלרוב זה משהו שלא אפשר לבצע אז הכדור אצלך.
בלי קשר אני אנסה להציץ מעט בספרייה הזו בסוף השבוע אם אני אזכור ויהיה לי זמן (יש לי בלוג גדול שהתכוונתי להעלות בסוף השבוע).
3. בכל הזהירות מכיוון שכאמור אני לא מכיר את הספרייה הזו אני רוצה להגיד שנשמע לי מוזר קצת שיש אפשרות להכריח את המשתמש לבצע התקנה של עדכון כחלק מעדכון מערכת ההפעלה בלי שהוא צריך לאשר. אפילו עדכוני מערכת ההפעלה מחייבים אישור.
4. בדיקה מהירה מאוד בלי להיכנס לעומק הביאה אותי למשפט הבא:
Before you use IsForced to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails.
נסה לעבור לעומק על הקישור הבא:
http://msdn.microsoft.com/en-us/library/aa386503%28v=vs.85%29 -
-
1. הקפצתי - עדיין אין מענה
2. לצערי אסור לי לעשות זאת
3. אני מסכים שאתה כנראה צודק, אבל הייתי שמח לקבל על כך תשובה ודאית (אם ישנה) :)
4. ממה שהבנתי, הproperty לא משפיע על הבעיה שלי.
תודה רבה על העזרה. אתה חושב שיהיו לך עוד תובנות בהמשך?
- סומן כתשובה על-ידי AssafMarko יום חמישי 30 מאי 2013 15:02
- סימון כתשובה בוטל על-ידי AssafMarko יום חמישי 30 מאי 2013 15:02
-
היי
בהחלט אני בטוח שיהיו שיהיו עוד תובנות אם אבדוק את זה לעומק אבל זה עלול לקחת לי זמן שאין לי כרגע (כאמור אני לא מכיר את הספרייה הספיצית הזו). אני חושב שאני לא אגיע לזה בסוף השבוע הזה אם אני צריך לעבור על כך מאפס (בלי להתבסס על פרוייקט מוכן).
כרגע אני לא בטוח מה השימוש שלך בכלל במחלקה. אם זה כדי לעדכן אפליקציות שלך אז בינתיים תחשוב אם הפתרון הבא בו אני עובד יכול לעזור לך במקום לבחור בספרייה המוכנה:
1. מוודאים שאת האפליקציה יתקין משתמש ADMINISTRATOR (בדיקה בזמן ההתקנה). בזמן ההתקנה שואלים את המשתמש (וכמובן אפשר לשנות את הנתון בכל רגע בהמשך) האם לבצע עדכונים של האפליקציה אוטומטית. התשובה של המשתמש נכנסת לקובת הקונפיגורציה של האפליקציה
2. בכל הפעלה של האפליקציה באירוע ONSTART אם המשתמש בחר לבצע עידכון אוטומטי אז האפליקציה פונה לשרת המרוחק -> בודקת אם יש גרסה חדשה יותר -> אם יש גרסה חדשה יותר אז פותחים THREAD חדש עם המשתמש אדמין (אפשר לבצע עם שירות שרץ ברקע כל הזמן ולכן לא צריך לבצע Impersonation או בצורה יותר יעילה לעבוד עם המחלקה WindowsImpersonationContext) -> מורידים את הקובץ לתקייה מיוחדת בתוך האפליקציה (האפליקציה הותקנה על ידי האדמין ולכן לתקייה יש הרשאות אבטחה מתאימות).
3. בסגירת האפליקציה באירוע ONEND או בהתאם לטכנולוגיה איתה עובד מבצעים בדיקה אם גרסה חדשה יותר בתקייה -> אם כן אז שוב באמצעות המשתמש אדמין ו Impersonation מבצעים פשוט הרצה של האפליקציה בגרסה החדשה.
הערה: את ההתקנה עצמה אני כן מעדיף שתהיה בשירות חיצוני כדי שתמשיך לעבוד אחרי שהאפליקציה נסגרת.
* אם יהיה לי זמן אני אציץ בקוד של המחלקה שאתה עובד איתה אולי ואולי מישהו אחר במקרה מכיר אותה ועובד איתה.
הערה: הרעיון של לסמן תשובות הוא כמובן כדי לסמן את כל התשובות שקיבלת ולא את השאלה שלך :-) מה גם שאני רשום על השרשור הזה וכל תגובה בו אני מקבל מייל. כשאתה סוגר את השירשור אני מקבל מייל מתאים וזה עלול לגרום לחשוב שהנושא אכן סגור. בסיום (בתקווה שיהיה סיום מוצלח מבחינתך אבל בכל מקרה) יהיה לך את העבודה הקטנה של לעבור על כל השירשור ולסמן את כל התשובות שהיו בו ובמקביל לסמן את כל ההודעות שלדעתן מועילות בצורה כזו או אחרת... יש לנו זמן עד שנגיע לשם :-) קודם ננסה למצוא לך פתרון
- נערך על-ידי pituachMVP, Moderator יום שישי 31 מאי 2013 15:07
- הוצע כתשובה על-ידי pituachMVP, Moderator יום שלישי 22 אוקטובר 2013 09:50
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 22 אוקטובר 2013 10:36