it-swarm-tr.com

Windows 7 64-bit'te bir DLL dosyasını nasıl kaydederim?

Aşağıdaki kodu kullanmaya çalıştım:

cd c:\windows\system32
regsvr32.exe dllname.ax

Ama bu benim için çalışmıyor. Windows Vista'da DLL dosyasını 64 bit işlemciye nasıl kaydedebilirim?

99
Rajkumar Reddy

Komut İstemine regsvr32 name.dll yazın (yükseltilmiş modda çalıştırılır!) Ve "Enter" tuşuna basın. name.dll öğesinin, kaydetmek istediğiniz DLL adıyla değiştirilmesi gerektiğini unutmayın. Örneğin, iexplore.dll dosyasını kaydetmek istiyorsanız, regsvr32 iexplore.dll yazın.

67
Harold SOTA

Peki, 32 bit mi yoksa 64 bit dll mi olduğunu ve hata iletisini ekleyip eklemeyeceğinizi belirtmezsiniz, ancak tahminimce bu KB makalesinde açıklanan ile aynı sorun var: Ne Zaman Hata İletisi? 64-Bit Windows'ta Regsvr32.exe'yi çalıştırın

Bu makaleden alıntı:

Bu davranış, System32 klasöründeki Regsvr32.exe dosyasının 64 bit bir sürüm olması nedeniyle oluşur. Bir DLL dosyasını kaydetmek için Regsvr32'yi çalıştırdığınızda, 64-bit sürümünü varsayılan olarak kullanıyorsunuzdur.

Bu makalenin çözümü:

Bu sorunu gidermek için,% SystemRoot%\Syswow64 klasöründen Regsvr32.exe dosyasını çalıştırın. Örneğin, DLL dosyasını kaydetmek için aşağıdaki komutları yazın: cd \windows\syswow64regsvr32 c:\filename.dll

194
Hans Olsson

DLL ise 32 bit:

DLL öğesini C:\Windows\SysWoW64\konumuna kopyalayın
Bir yükseltilmiş komutunda İstemi: %windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll

DLL ise 64 bit:

DLL C:\Windows\System32\konumuna kopyalayın
Bir yükseltilmiş komutunda İstemi: %windir%\System32\regsvr32.exe %windir%\System32\namedll.dll

Biliyorum, yanlış anlaşılıyor, ama işe yarıyor. Görmek:

http://support.Microsoft.com/kb/24987
Alıntı: "Not Windows işletim sisteminin 64 bit sürümünde, Regsv32.exe dosyasının iki sürümü vardır:
64 bit sürümü% sistemkökü%\System32\regsvr32.exe'dir.
32 bit sürümü% sistemkökü%\SysWoW64\regsvr32.exe'dir.
"

101
Liam

Bir x64 sisteminde, sistem32 64 bit içindir ve syswow64 32 bit içindir (başka bir cevapta belirtildiği gibi başka türlü değil). WOW (Windows'ta Windows), 64 bit alt sistemi altında çalışan 32 bitlik alt sistemdir).

Adlandırma açısından bir karışıklık ve sadece kafa karıştırmak için hizmet ediyor, ama bu böyle.

Tekrar ...

syswow64 32 bit, 64 bit değil.

system32 64 bit, 32 bit değil.

Bu dizinlerin her birinde bir regsrv32 vardır. Biri 64 bit, diğeri 32 bit. Odbcad32 ve ark. (32-bit ODBC 64-bit sistem32'deki varsayılan odbcad32 ile görünmeyen sürücüleri görmek istiyorsanız.)

29
phill

Başlat menüsünü açın ve arama kutusuna cmd yazın, Ctrl + Shift tuşunu basılı tutun ve Enter tuşuna basın

Bu, Yönetici modunda Komut İstemi'ni çalıştırır.

Şimdi yazın: regsvr32 MyComobject.dll

8
Sushant Rath

Sonunda çözümü sadece CMD'yi yönetici olarak çalıştırdıktan sonra yazmaya başladım.

cd \windows\syswow64

o zaman bunu yaz

regsvr32 c:\filename.dll

Umarım bu cevap size yardımcı olur

6
Hayder Chebaane

DLL 32 bit ise:

  1. DLL öğesini C:\Windows\SysWoW64\konumuna kopyalayın
  2. Yükseltilmiş cmd içinde:% windir%\SysWoW64\regsvr32.exe% windir%\SysWoW64\namedll.dll

DLL 64 bit ise:

  1. DLL C:\Windows\System32\konumuna kopyalayın
  2. Yükseltilmiş cmd içinde:% windir%\System32\regsvr32.exe% windir%\System32\namedll.dll
6
Dragos

Buradaki her şey yanlış yol olarak başarısız oldu. Sonra eski Win95 gününden bir numara hatırladım. .Dll'nin bulunduğu program klasörünü açın, C:/Windows/System32 dosyasını açın ve aşağı doğru regsvr32'ye kaydırın ve dll'yi program klasöründen sürükleyip rgsrver32'ye bırakın. Boom, bitti.

5
ohm1

Ve bunu yaparken, 0x80040201 hata kodunu alırsanız, DllRegisterServer, 0x80040201 hata koduyla başarısız old 'da deneyin. emin olun komutunu açın Yönetici Olarak Çalıştır .

3
SHAKIR SHABBIR

Hata mesajını bilmek oldukça değerli olurdu. Sizin için bir anlam ifade etmese bile, bize bilgi vermeyi amaçlıyor. Tahmin etmek zorunda kalmak gerekirse, DLL öğesinin 32 bit DirectX filtresi olduğunu söyleyebilirim. Bu durumda, bu uygun eylem planı olmalıdır:

cd c:\windows\syswow64
move ..\system32\dllname.ax .
regsvr32.exe dllname.ax

Bu, UAC'nin gerekli olan kayıt defteri erişimini durduramaması için yükseltilmiş bir Komut İsteminde çalıştırılmalıdır. Superuser.com adresinde bu konuda daha fazla soru sorun

3
Hans Passant

cmd.exe içinde c:\windows\system32\ by administrator komutunu çalıştırmanız gerekir.

Komutlar: Kaydı için * .dll dosyaları

regsvr32.exe /u C:\folder\folder\name.dll

Kayıt için * .dll dosyaları

regsvr32.exe C:\folder\folder\name.dll
3
lails

Bu son derece basit yöntemi test ettim ve mükemmel çalışıyor - ancak yerleşik Yönetici hesabını kullanıyorum, bu nedenle yükseltilmiş ayrıcalıklar için çemberin içine atlamak zorunda kalmıyorum.

Aşağıdaki toplu iş dosyası, kullanıcının sistem klasörlerinin içine/dışına taşınması ihtiyacını giderir. Ayrıca uygun Regsvr32 sürümünü uygulamak için Windows'a bırakır.

TALİMATI:

  • Kayıt olmak istediğiniz kütüphane (-.dll veya -.ax) dosyasını içeren klasörde, yeni bir metin dosyası açın ve aşağıdaki rutinlerden BİRİNİ yapıştırın:

    echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 64-BIT SYSTEMS
    copy %1 C:\Windows\System32
    regsvr32 "%nx1"
    echo END BATCH FILE
    pause
    
    echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 32-BIT SYSTEMS
    copy %1 C:\Windows\SysWOW64
    regsvr32 "%nx1"
    echo END BATCH FILE
    pause
    
  • Yeni metin dosyanızı toplu iş (-.bat) dosyası olarak kaydedin; sonra basitçe -.dll veya -.ax dosyanızı toplu iş dosyasının üstüne sürükleyip bırakın.

  • UAC size toplu dosyayı Yönetici olarak çalıştırma fırsatı vermezse, ayrıcalıkları el ile yükseltmeniz gerekebilir (talimatlar Windows 7 içindir):

    1. Toplu iş dosyasına sağ tıklayın;
    2. Create shortcut öğesini seçin;
    3. Kısayolu sağ tıklayın;
    4. Properties öğesini seçin;
    5. Compatibility sekmesini tıklayın;
    6. Run this program as administrator etiketli kutuyu işaretleyin;
    7. -.dll veya -.ax dosyanızı toplu iş dosyası yerine yeni kısayolun üzerine sürükleyip bırakın.

Bu kadar.COPY[] yerineMOVE[UAC ile ilgili herhangi bir takip girişiminin/girişimlerinin başarısızlığını önlemek için] seçtim. Başarılı kayıt, orijinal kütüphanenin silinmesi ile takip edilmelidir (-.dllveya-.ax) dosyası.

Endişelenme sistem klasörüne yapılan kopyalar hakkında (C:\Windows\System32veyaC:\Windows\SysWOW64) önceki pasolar ile - üzerine yazılacaktır toplu iş dosyasını her çalıştırdığınızda.

Yanlış toplu iş dosyasını çalıştırmadıysanız, bu durumda muhtemelen yanlış sistem klasörüne kopyalanan kopyayı silmek isteyeceksiniz (C:\Windows\System32veyaC:\Windows\SysWOW64 ) ygun toplu iş dosyasını çalıştırmadan önce, ... veya ...

  • Dizin konumunu tam olarak niteleyerek, Windows'un kayıt olmak için doğru kitaplığı seçmesine yardımcı olun.

    1. Sağ toplu iş dosyasından Sistem klasör yolunu kopyalayın
      • 64-bit ise: C:\Windows\System32
      • 32 bit ise: C:\Windows\SysWOW64
    2. Bir sonraki satıra yapıştırın, böylece %nx1 'dan önce gelsin.
      • 64-bit ise: regsvr32 "C:\Windows\System32\%nx1"
      • Eğer 32 bit ise: regsvr32 "C:\Windows\SysWOW64\%nx1"
        • Tırnak işareti içine yolu yapıştırın
        • %nx1 dosyasını sistem klasörü yolundan ayırmak için ters eğik çizgi ekleyin
      • veya ...

  • Bu tüfek toplu iş dosyasını çalıştırın (ki sırada):

    1. İptal edilen kayıt işlemlerini temizleme
      • Kütüphane dosyanız tarafından tamamlanan herhangi bir kayıt işlemini ters çevirin;
      • Kütüphane dosyanızın herhangi bir sistem klasörüne kaydedilmiş olan kopyalarını silin;
      • Toplu iş dosyasını bu noktada sonlandırmanıza izin vermek için duraklatın (ve isterseniz başka bir tane çalıştırın).
    2. Kütüphane dosyanızda 64 Bit Kurulumunu deneyin
      • Kütüphane dosyanızı C:\Windows\System32 dizinine kopyalayın;
      • Kütüphane dosyanızı 64-bit bir işlem olarak kaydedin;
      • Toplu iş dosyasını bu noktada sonlandırmanıza izin vermek için duraklatın.
    3. 64-Bit Kurulumu Geri Al
      • Kütüphane dosyanızdaki herhangi bir kaydı 64 bitlik bir işlem olarak ters çevirin;
      • Kütüphane dosyanızı C:\Windows\System32 adresinden silin;
      • Toplu iş dosyasını bu noktada sonlandırmanıza izin vermek için duraklatın (ve isterseniz başka bir tane çalıştırın).
    4. Kütüphane dosyanızda 32-Bit Kurulum girişimi
      • Kütüphane dosyanızı C:\Windows\SystemWOW64 dizinine kopyalayın
      • Kütüphane dosyanızı 32 bit bir işlem olarak kaydedin;
      • Toplu iş dosyasını bu noktada sonlandırmanıza izin vermek için duraklatın.
    5. Orijinal, kayıtsız kütüphane dosyasının bir kopyasını sil
3

Windows 7'de bir fark var. Yönetici olarak oturum açmak değil gibi bir programı Yönetici olarak çalıştırırken kullandığınız hakların aynısını verir.

Başlat - Tüm Programlar - Aksesuarlar. Komut penceresine sağ tıklayın ve "Yönetici olarak çalıştır" ı seçin Şimdi normal olarak dll'yi kaydedin: regsrvr32 xxx.dll

3

Regsvr32 ile ilgili karışıklığın bir kısmı, 64 bit pencerelerde adın ve yolun değişmediği, ancak şimdi 64 bit DLL'leri kaydettiğidir. 32 bitlik regsvr32, 64 bitlik uygulamaları temsil eden bir isim olan SysWOW64'ta bulunur. Ancak, addaki WOW64, Windows 64'te Windows veya Windows 64-bit'te daha açık bir şekilde Windows 32-bit anlamına gelir. Bu şekilde düşündüğünüzde, isim bu bağlamda kafa karıştırıcı olsa da mantıklı geliyor.

Özgün kaynağımı bir MSDN blogunda bulamıyorum ancak bu Vikipedi makalesinde http://en.wikipedia.org/wiki/WoW64

2
Adam

Win7 x64 makinesinde bu sorunu nasıl düzelttiğim:

1 - hata mesajı:

"CoCreateInstance () başarısız oldu Plkease, CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3} kayıt defteri girişlerinizi kontrol edin ve yönetici olarak giriş yaptığınızdan emin olun"

2 - düzeltme prosedürü:

  • Başlat/şunu yazın cmd/RightMouseClick on cmd.exe ve "Yönetici Olarak Çalıştır" ı seçin
  • yazılan: regsvr32/s C:\Program Files\Autodesk\3ds Max Tasarım 2015\atl.dll regsvr32/s C:\Program Files\Autodesk\3ds Max Tasarım 2015\MAXComponents.dll
  • win 7'yi yeniden başlatın ve tekrar işinize dönün!

Bu yardımcı olur umarım !

1
LAOMUSIC ARTS