![]()
Herkese merhabalar,
Bu makalemiz Excel 2010 içerisinde almış olduğum bir hata mesajı hakkında olacak. Esasında aynı hata Outlook 2010’u da etkilemekte. Kısacası bir köprü (hyperlink) problemi olan hata, Excel 2010 içerisinde tıkladığım bir köprüde (ki bu köprü ile excel dökümanı ile aynı klasörde bulunan bir winword belgesi açılıyor) “İşlem, bu bilgisayardaki kısıtlamalar nedeniyle iptal edildi. Lütfen sistem yöneticinize danışın.” hata mesajını ekrana getiriyor ve işlem yapmıyor (Şekil 1). İşin ilginç olan tarafıysa oturum açmış olan etki alanı kullanıcısına Grup İlkesi (Group Policy) uyguladığım zaman bu hatayı alıyor olmam. Eğer bu ilkeyi kaldırırsam (pasif konuma alırsam) hata mesajı gelmiyor ve herşey olması gerekltiği gibi çalışıyor.Aynı durum Outlook 2010 ile açılan mailler içerisinde gelen köprüler (hyperlink) için de geçerli.

Şekil 1: Hata mesajı
İsterseniz problem çözümü için neler yaptığımı anlatarak başlayalım. Daha önce söylediğim gibi, Grup İlkesi uyguladığım zaman (ki bu ilke etki alanı kullanıcılarının çalıştırmasına izin verilen Windows uygulamalarını belirliyor) hata mesajı geliyor.Grup poliçesi Şekil 2’de görülebilir. Bu yüzden ben de procmon.exe ve procexp.exe araçlarını (Sysinternals’ın yayınladığı Process Monitor ve Process Explorer araçları) kullanmaya karar verdim. Böylece hyperlink’e tıkladığım zaman neler olduğunu görebilecektim.

Şekil 2: İzin verilen Windows uygulamaları
İlk çalıştırdığım araç procmon.exe aracı oldu. Bu araçla birlikte bir takım hata mesajları görmeyi umuyordum. Hiç yoksa hyperlink’in çalıştığı ve çalışmadığı iki makine arasındaki farklara bakacaktım. Fakat maalesef procmon.exe bana hiçbir ipucu vermedi. Esasında hata Excel içerisindeki köprü’ye tıklar tıklamaz çıktığı için hiçbir I/O olmuyordu. Böylece procmon.exe aracına da bana özel durumla ilgili herhangi bir mesaj düşmüyordu. Ben de en azından procmon.exe ekranında görünen çalıştırılabilir ne varsa (exe uzantılı uygulamaların hepsi) hepsini grup ilkeme ekledim (zira problemin bu poliçe yüzünden olduğunu düşünüyordum). Bu ilke yardımıyla izin verdiğim birçok uygulamanın da benim problemimle çok ilgili olmadığı aşikardı fakat yine de bu bile problemden kurtulmama yardımcı olmadı. Hatayı yine alıyordum.
Çalıştırdığım ikinci araç ise procexp.exe aracı idi. Belki bu araç bana bir ipucu verecekti Excel 2010 içerisinden köprüye tıkladığım zaman olanlar hakkında. Bu araçla bir gözlem yaptığımda ise, Grup İlkesini uygulamadığım zaman köprü bağlantısı çalıştığında, winword.exe uygulamasının svchost.exe işleminin altında çalıştırıldığını gördüm. Esasında bu ilginçti zira ben winword.exe’nin excel.exe altında çalışmasını umuyordum. Fakat bunun yerine winword.exe uygulaması, DCOM Sunucusu İşlem Başlatıcı ve Terminal Hizmetleri servislerinden sorumlu olan svchost.exe uygulaması altında çalışmıştı. Bu esnada çalışan winword.exe ve excel.exe uygulamalarının da özelliklerini dikkatli bir şekilde incelememe rağmen hiç şansım yoktu. Zaten Grup İlkesini uygulayarak tekrar bu aracı çalıştırdığımda, arayüze hiçbirşey gelmiyordu bile. Dolayısıyla bu araçta bana çok yardımcı olmadı. Ben de şansımı interneti biraz araştırmakta denemeye karar verdim.

Şekil 3: svchost.exe altında çalışan winword.exe
Hepinizin takdir edeceği gibi İngilizce olarak hata mesajını ararsam çok daha fazla kaynağa ulaşacağımdan dolayı “İşlem, bu bilgisayardaki kısıtlamalar nedeniyle iptal edildi. Lütfen sistem yöneticinize danışın.” hatasının İngilizcesi olan “This operation has been cancelled due to restrictions in effect on this computer. Please contact your system administrator” mesajını internette arattığım zaman birçok faydalı sayfaya rastladım. Bu sayfalardan birçoğu bu problemin çıkması ile ilgili olası sebepleri anlatıyordu ve çoğunluğu da Internet Explorer ile ilgili kayıt defteri girdilerinin bozulmuş olabileceği konusunda hemfikirdi. Bu bozulma kazara olabileceği gibi, üçüncü parti bir web tarayıcısı kurmak veya Internet Explorer’ı yükseltmek yüzünden de olabilirdi. Hata ile ilgili çok yararlı iki bağlantıyı http://www.slipstick.com/problems/link_restrict.htm ve http://support.microsoft.com/kb/310049 olarak sıralayabilirim. Bu iki bağlantı faydalı olmasına faydalıydı fakat benim durumumu %100 açıklamıyorlardı. Bu makaleler problemin koşul ne olursa olsun bilgisayarı tümüyle etkilediğini varsayıyorlardı. Fakat benim durumumda ise Grup İlkesini uygulamadan ben bu hatayı almıyordum. Sadece ve sadece grup ilkesini uyguladığım zaman bu hatayı alıyordum. Herneyse, ben de Internet Explorer 8’i makinemden kaldırmaya karar verdim zira Microsoft’un makalesinde Internet Explorer yükseltmelerinde bu hatanın alınabildiğinden bahsediyordu.
Internet Explorer 8’i kaldırdıktan sonra bilgisayarım tekrar Internet Explorer 6’ya döndüğünde problem gitmişti :) . Bu gerçekten ilginç bir durumdu. Böylece Grup İlkesinin problemle birebir ilgili olduğu tezi çürümüş oluyordu. Böyle bir durum sözkonusu olunca ben de kayıt defterinin Internet Explorer ile ilgili olan bazı bölümlerini dosyaya kaydettim (export ettim). [HKEY_CLASSES_ROOT\.htm] , [HKEY_CLASSES_ROOT\.html] ve [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile] anahtarlarını (ve tüm alt anahtarlarını) kaydettikten sonra bilgisayarıma tekrar IE8 kurulumu yaptım. Hata geri gelmişti :) . Kaydetmiş olduğum IE6’nın çalışan kayıt defteri anahtarları ile IE8’in çalışamayan kayıt defteri anahtarlarını karşılaştırmaya başladım. Sadece [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile] anahtarı altında birkaç değişik değer mevcuttu. Hangisinin probleme yol açtığını bulmak içinse öncelikle IE6’nın çalışan değerlerini kayıt defteri içerisine import ettim. Problem artık gitmişti (IE8 yüklüyken IE6 kayıt defteri değerleri ile). Artık Excel 2010 içinden winword.exe açılabiliyordu. Artı iyice emindim ki problem kayıt defteri ile ilgiliydi, fakat hangi değer?
Ben de teker teker değerleri IE8’in orjinal değerlerine geri dönmeye başladım (ki problem tekrar ortaya çıktığında son yaptığım değişiklik problemin sebebi olacaktı). En sonunda problemli satıra ulaşmıştım. Microsoft’un sayfasında da söylediği değer olan [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell\open\command] anahtarı problemin kaynağıydı. Tablo 1’de farkı görebilirsiniz.
Tablo 1: IE6 ve IE8 değerleri araındaki fark
| [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\htmlfile\shell\open\command]Varsayılan | |
| Internet Explorer 8 | “C:\Program Files\Internet Explorer\IEXPLORE.EXE” -nohome |
| Internet Explorer 6 | “C:\Program Files\Internet Explorer\iexplore.exe” -nohome |
Sizin de rahatlıkla görebileceğiniz gibi hatanın kaynağı iexplore.exe kelimesinin yazılış şekli ile ilgili. Eğer bu kelime küçük harflerle yazılırsa herşey mükemmel bir şekilde çalışıyor. Ne zaman ki bu kelime büyük harflerle yazılıyor, hata ortaya çıkıyor (ki IE8’deki durumda bu). Grup İlkesi içerisine her iki şeklini yazsam da bu durum değişmiyor (Şekil 1). Ayrıca işletim sistemimin Türkçe olduğunu da söylemeliyim. Bu durum da büyük harf-küçük harf algılamasının yanlış yapılmasına sebep olmuş olabilir (hepimizin bildiği gibi Windows işletim sistemleri case insensitive’dir. Yani normalde Unix sistemlerin aksine büyük harf-küçük harf farkını farketmezler).
Bu makalemin de sonuna gelmiş bulunmaktayım. Bu makalemde Office 2010 uygulamaları içerisinde almış olduğumuz, köprülerle alakalı bir hatadan bahsettik. Umarım faydalı olmuştur. Bir dahaki sefere görüşmek üzere.
İlgili Makaleler
İlgili makale bulunamadı.







RSS feed for comments on this post.




