Örnek: DLL uyumluluk sorunlarını çözmek için DUPS.exe kullanma

Makale çevirileri Makale çevirileri
Makale numarası: 247957
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

DLL Evrensel sorun çözücü aracı (DUPS.exe) bir Ocak 2000'de belgelenen tüm yardımcı programları içeren örnek Microsoft Developer Network (MSDN) haber makalesi "Sonuna kadar DLL Cehennemi." Lütfen inceleyin Bu makaleyi okumadan önce MSDN makalesine.

DUPS paket kümesidir birden fazla DLL sürümlerini karşılaştırmak ve izlemek için kullanabileceğiniz yardımcı programları Windows tabanlı bilgisayarlar. En fazla, SQL Server tarafından yönetilen veya Microsoft Access yüklemesi. DLL'ler üzerinde numaralandırır Dlister istemci bir Sistem, Windows 95 veya Windows 98, Windows NT 4.0 ve Windows 2000 üzerinde çalışır. , izleme yardımcı programları Windows NT 4.0 ve Windows 2000'de geliştirilmiş ve Microsoft Access veya Microsoft SQL Server gerektirir. Test edilmiş Microsoft Access 97 ve daha sonraki sürümleri ve SQL Server 6.5 ve sonraki sürümleri.

Daha fazla bilgi

, Aşağıdaki dosya Microsoft Download Merkezi'nden edinilebilir Merkezi:

DUPS.exe
Yayın Tarihi: 14 Oca 2000

Karşıdan yükleme hakkında ek bilgi için Support dosyalarını makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın Microsoft Bilgi Bankası'nda:
119591 Microsoft Destek Dosyaları Çevrimiçi Hizmetler'den nasıl alınır?
Microsoft bu dosyada virüs taraması yapmıştır. Microsoft en çok kullanılan tarihte kullanılabilir güncel virüs algılama yazılımı, dosya Deftere nakledildi. Dosya, yardım eden güvenliği Gelişmiş sunucularda depolanır herhangi bir yetkisiz değişiklik yapılmasını engellemeye. Bu makale ve beraberindeki kodunu güncelleştirilir düzenli olarak. Tüm yorumlar Hoş Geldiniz ve gelecekte dikkate alınır güncelleştirir. (İçin sağ çerçevedeki gönderme etkin bağlantı kullan Yorum oluşturma.)
Microsoft dahil ancak bunlarla sınırlı olmamak üzere, satılabilirlik ve/veya belirli bir amaca uygunluk zımni garantileri veya açık garanti programlama örneklerini yalnızca gösterim amacıyla sağlar. Bu makale, gösterilen programlama dilini ve oluşturmak ve yordamlar hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek uzmanları belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak işlevsellik sağlamak veya yordamlar, özel gereksinimlerinizi karşılamak için geliştirmek amacıyla bu örnekleri değiştirmezler.
Programlama deneyiminiz kısıtlıysa, bir Microsoft Sertifikalı ortağı veya Microsoft Danışmanlık Hizmetleri başvurun isteyebilirsiniz. Daha fazla bilgi için aşağıdaki Microsoft Web sitelerini ziyaret edin:

Microsoft Sertifikalı İş ortakları- https://Partner.microsoft.com/Global/30000104

Microsoft Danışmanlık Hizmetleri- http://support.microsoft.com/gp/advisoryservice

Kullanılabilir destek seçenekleri ve Microsoft'a başvurma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS DUPS paket tek bir bilgisayarda kullanılan veya için kullanılan Ağ üzerindeki her DLL DLL geçmişini izlemek. Windows 95'te çalışır Windows 2000 ve en basit mod hiçbir bağımlılığı yoktur. DUPS paketi üç C++ yardımcı programları ve çeşitli Visual Basic görüntüleyicileri oluşur.

DLL dosyaları karşılaştırmak istiyorsanız, iki bilgisayarda bir uygulama kullanıyor (A bilgisayarı ve B bilgisayarı), Dlister.exe programını çalıştırın. Varsayılan olarak Dlister C:\ dizininde Comp olduğu Comp_DLL.txt adlı bir dosya oluşturur Dlister çalıştıran bilgisayarın adı. Ayrıca belirtebilirsiniz, Dlister veritabanına yazmak veya başka bir dizin içinde belirtebilirsiniz dosya oluşturulmalıdır. Dlisters özniteliği varsayılan ayarları geçersiz kılmak için iki yol vardır. Bu kayıt defteri anahtarı, Dlister ve Visual Basic görüntüleyicileri alın:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell
Ve aşağıdaki değerleri:
ConnectionString, fileTableDir
Visual Basic uygulamasını kullanabilirsiniz. DllHell\C_clients\ATL4VB\VbregSetup veya bu değerleri ayarlamak için basitçe çalıştırabilirsiniz Dlister ve varsayılan değerleri oluşturur. Örneğin, BağlantıDizesi ayarlama için:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;
					
SQL Server için değerler yazmak Dlister neden olur dllHell veritabanı sırasında:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb
					
yerel bir Microsoft Access veritabanı kullanır.

Özniteliklerini ayarlayarak varsayılan değerleri geçersiz kılmak için kullanılacak ikinci yol ise Dlister.exe dizinindeki DllHell.ini dosyasını. Bu dosyaların içine sıkıştırması DllHell\C_clients\Dlister\Release\ dizin.

Adında bir dosya xdllHell.ini yükleyebileceğiniz bir bağlantı dizesi ile örnek dahil değiştirin. (Bunu kullanmak istiyorsanız, bu dllHell.ini yeniden adlandırın.)

Bilgisayar A ve hem de ActiveX Data Objects (ADO) yüklü olan bilgisayar B basit dllHell veritabanı doldurmak için bağlantı dizesini belirlemek yaklaşımdır SQL Server veya Jet veritabanı. Alternatif olarak, metin dosyasında Dlister çalıştırabilirsiniz. mod sonra C++ yardımcı programını kullanın Çıktı okumak için DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe DllHell veritabanına metin dosyası. ReadTxtTbl MFC uygulaması da olur Veri istemcileri, e-posta metin okuma için kullanışlıdır. Kaydetmeniz gerekir COM sunucuları DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll ve DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll Visual Basic görüntüleyicileri kullanmak için.

CRC sağlama olarak etkinleştirebilirsiniz. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB kayıt defteri anahtarı ayarı Windows 2000 çalıştıran sistemlerde 0x1 için Samples\r1dllHell ComputeCRC. Bir kez Bu anahtara gidin, Sık Kullanılanlar'a ekleyebilirsiniz. Windows NT 4 kullanıcılar gerekir el ile bu anahtarına gidin.

DllHell veritabanı oluşturma

SQL Server 7.0, Microsoft Access 2000 ayrıca önerilir çalışır. DLLhell veritabanı oluşturmak için SQL Server Enterprise Manager kullanabilirsiniz. DLLhell adında boş bir veritabanı oluşturmak için. SQL Server Sorgu Çözümleyicisi'nden Pencere, veritabanı aşağı açılan liste kutusundan seçin DLLhell. Çalıştır Tüm bu pencere ve DllHell\SQL\dllHellSchema.sql komut dosyası oluşturur Dllhell için gereken tabloları.

Alternatif olarak, aşağıdaki çalıştırabilirsiniz SQL Server Sorgu Çözümleyicisi'ndeki komut:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'
				
Kod veritabanı ve tüm tabloları oluşturur.

İki sistemlerde DLL'leri karşılaştırma

Visual cmpWithList iki sistemi kullanımda tüm dll dosyaları karşılaştırmak için Dllhell\VBviewers\VBcmpList2 dizininde temel yardımcı programı.

Sınırlamak için DLL karşılaştırmaları (hedef uygulama yükler genellikle yalnızca bu DLL'ler) Ayrıca karşılaştırmak istediğiniz dll dosyaları içeren bir metin (.txt) dosyası olmalıdır. Depends veya çeşitli araçlar (örneğin, ListDLLs biri olan bu liste oluşturma ve Process Explorer) aşağıdaki Web sitesinden:
http://technet.microsoft.com/en-us/Sysinternals/default.aspx

CmpWithList kullanma

CmpWithList başladığında bu bilgisayarların listesini gösterir Bilgisayarları liste veritabanında DLLhell. Varsayılan olarak, ilk iki bilgisayar Karşılaştırma için listeden seçilir. Hedef bilgisayarı değiştirmek için seçin Bu liste kutusu ve Değiştir düğmesini seçin. Hangi bilgisayarların bilg1 ve Comp2 düzenleme kutularını Göster, karşılaştırır.

Metni seçmek için dizin Gezinti denetimi kullanın iki karşılaştırmak istediğiniz tüm dll dosyalarının adlarını içeren dosya sistemleri. Metin dosyasını çift tıklatarak bunu seçer.

Aksi takdirde Bazı dizinlerde DLL'leri karşılaştırmak istediğiniz (genellikle, DLL'ler hakkında önemli winnt\system32\dllcache ve WINNT\$ NtServicePackUninstall$) çift tıklatın kılavuzunda satırı. Dizin eklemek için _skipDir istenir Tablo. _SkipDir DLL'leri karşılaştırma için dikkate alınmaz.

Otomatik ağ DLL yükleme denetimi

Ayarlama Windows 2000 sistemlerinde zamanlama sırasında:

DllHell\rcomp.cmd komut dosyası ile başlatın. Değiştir sisteminizin yansıtmak için aşağıdaki ortam değişkenlerini:
  1. Dpath: Burada Dlister oluşturur istemci üzerindeki dizin metin dosyası DLL'leri istemci listesi. Varsayılan değer C:\temp\DLLhell\
  2. COMP: İstemci bilgisayarın adı.
  3. ChangeFileLocation: Tam ağ yolu burada DLL fark dosya kopyalanması gerekir. Bu dizindir, HellsMonitor Hizmet izler.
  4. ServerLst: Ağ yolu burada C_clients dizini DLLhell paket bulunur.
Görev çubuğunda, Başlat düğmesini tıklatın, Programlar' ın, Donatılar' ın, Sistem Araçları ' nın üzerine ve Zamanlanmış Görevler' i tıklatın.

Zamanlanmış Görev Ekle uygulamasını etkinleştirin. Rcomp.cmd içeren yerel dizinine göz atın Dosya ve seçin. Sihirbaz sunar, seçenekleri seçtikten sonra rcomp.cmd dosyası için zamanlanmış işleri eklenir. Ayarladığınız ilk kez test edebilirsiniz böylece zamanlanmış işin başlangıç seçin 2-5 dakika gelecekteki saat ayarlarınızı. Genellikle Duraklat komutunu açıklama karakterlerini kaldırın uygun şekilde oluşan hatalar görebilirsiniz.

Hizmet izleme dosyasını kaydettirin

Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency Dizin hizmeti kaydeder bu komutu çalıştırın:
HellsMonitor /Service
				
İstemci Monitörü en önemli parçasıdır. Bir GUI budur, ekleme veya kaldırma hangi dizinleri izlemek için izin verir. Ayrıca olanak tanır Uygulamayı çalıştırmak (kullanışlı Gözat düğmesi ile) belirtin. DUPS için Sistem izleme uygulamasıdır Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

İzlemek için bir dizin eklemek için Ekle' yi tıklatın. Bu burada göz atmanıza olanak dizin Gözat iletişim kutusunu açar izlemek istediğiniz dizin. Bir dizin veya dizinleri kaldırmak için seçin kaldırın ve sonra Kaldır' ı tıklatın istediğiniz dizinleri. Uygulamanın çalışmasını belirtmek için ya da yazabilir veya dosyayı bulun. Bir yol belirtmezseniz, sistem yolunda olmak zorundadır bir yerde. Daha sonra bir değişiklik olduğunda bu uygulamayı çalıştırmak için monitör ayarlamak için Ayarla ' yı tıklatın algıladı.

Not: uygulama değiştirdiğinizde, Ayarla düğmesi yalnızca etkin ne çalıştırmak için şu anda ayarlanır. Kaldır düğmesinin etkin olup sadece kaldırmak için seçilen dizinleri vardır.

Referanslar

Daha fazla bilgi için aşağıdaki Microsoft Web sitesine bakın:
"DLL Cehennemi sonuna"

Özellikler

Makale numarası: 247957 - Last Review: 28 Haziran 2013 Cuma - Gözden geçirme: 5.0
Anahtar Kelimeler: 
kbdownload kbfile kbhowto kbmt KB247957 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 247957

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com