it-swarm-tr.com

32 bit COM'a kaydolun DLL 64 bit Windows 7'ye

Bir 32 bit COM bileşenim var DLL ve bu DLL Delphi ..__ ile yazılmış. Bu bir Win32 DLL .Bu DLL Visual C # projemde kullanmak istiyorum .NET platformunda.

Bu projeye başvuru DLL ekleyemiyorum .. Windows 7 64 bit'te Komut İstemi'nde Yönetici olarak kaydetmeye çalışıyorum, ancak bu hatayı alıyorum:

Modülün regsvr32.exe'nin x86 (32 bit) veya x64 (64 bit) sürümüyle uyumlu olup olmadığını kontrol edin.

Önce DLL dosyasını windows/system32 klasörüne koydum. Sonra Yönetici olarak Komut İstemi'ni açtım. regsvr32 huginalpha.dll yazarım ve bu komutu uygularım. Ama ben hatayı alıyorum. Ne yapabilirim?

30
Murat

Sorun muhtemelen regsvr32'nin 64 bit sürümüne sahip bir 32 bit kitaplığı kaydetmeye çalışmanızdır. Bu KB makalesine bakın - 32 bit kütüphaneler için regsvr32 dosyasını windows\SysWOW64 içinden çalıştırmanız gerekir.

52
sharptooth

Windows 64 bit platformlarındaki 32 bit DLL'ler için:

  1. Whatever.dll dosyasını c:\windows\sysWOW64\ dizinine kopyalayın
  2. Bir CMD İstemi AS ASMINISTRATOR açın (çok önemli)

CMD penceresinde:

  1. CD c:\windows\sysWOW64\
  2. regsvr32 whatever.dll

Daha sonra 32 bit dll'de 32 bit regsvr (c:\windows\sysWOW64\regsvr.exe) çalıştırıyor olacaksınız

29
RichC

İnanıyorum ki, şimdi işler değişti. Win 2008 R2 Kutusunda, 64 bitlik sürüm, hedef bitliği algılayabildiği ve% SYSWOW% klasöründen yeni bir 32 bitlik regsvr32 çıkardığı için 64 bitlik bir regsvr32 ile 32 bitlik bir dll kaydı yapabildim.

Bakınız: 64 bit ile 32 bit DLL kaydetme regsvr32

4
Abhijit

http://onerkaya.blogspot.com/2013/03/register-com-dll-on-windows-64-bit.html

CLSID {...} bileşenine sahip COM sınıfı fabrikasını alma aşağıdaki hata nedeniyle başarısız oldu: 80040154 Sınıf kayıtlı değil (HRESULT dışında: 0x80040154 (REGDB_E_CLASSNOTREG)).

eğer bunu denersen;

c:\windows\system32\regsvr32.exe <dosyaadı> .dll

hala bu istisnayı alabilirsin. yani IIS havuzu Gelişmiş ayarları, 32 bit uygulamayı etkinleştirin: true;)

2
onerkaya

Windows 7 32-bit'te bir comm .dll veya .ocx dosyasını kaydetmek için aşağıdakileri yapın:

.Dll veya .ocx dosyasını c:\windows\system32 dizinine kopyalayın, Çalıştır menüsüne cmd yazın, cmd.exe dosyasını arar, sağ tıklayıp Run as Administrator

c:\windows\system32 konumunda bir Bilgi İstemi gösterecek

Tip

regsvr32 ocxname.ocx .ocx dosyasını kaydetmek için

veya

.dll dosyasını kaydetmek için regsvr32 dllname.dll yazın.

2
raju chowrsiya

Framework64'te çalıştırmayı deneyin.

Örnek:

  • 32 bit

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe D:\DemoIconOverlaySln\Demo\bin\Debug\HandleOverlayWarning\AsmOverlayIconWarning.dll /codebase 
    
  • 64 bit

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\RegAsm.exe D:\DemoIconOverlaySln\Demo\bin\Debug\HandleOverlayWarning\AsmOverlayIconWarning.dll /codebase
    
0
Dragon-Vo

dll'yi system32 veya syswow32 dizinine yerleştirin ve kaydetmek için uygun regsvr32 kullanın . hata kaydedemese bile, WIN 7 64'ü yeniden başlattım ve benim vb.

0
anonymous

RegSvr32'nin (32 bit ve 64 bit) her iki sürümü için "Modül, bu Windows sürümüyle uyumlu olabilir" hatası alıyorum. Server 2008 R2 (x64) için DLL (32 bit) için oluşturulmuş bir XP kaydı yapmaya çalışıyordum ve Regsr32 kararlarının hiçbiri benim için işe yaramadı. Ancak, derleme uygun. Net kaydettirmek benim için mükemmel çalıştı . C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe 

0
Dave Heffernan

Sorun çözülmediyse, regsvr32'nin SysWoW64 sürümünü kullanırken, tüm kütüphane bağımlılıklarının aynı arşivlemeye sahip olduğundan emin olun. Örneğin, ne zaman

regsvr32 lib_x86.dll kitaplığı kaydedemiyor ve. %SystemRoot%\SysWow64\regsvr32 lib_x86 da başarısız olur, bağımlılıkların listesini görmek için lib_x86 bağımlılığını Walker uygulamasına yüklemeyi deneyin. Herhangi bir öğenin 64 bit arşivi varsa, işte bunun nedeni, regsvr32'nin 32 bit kitaplığı yükleyememesidir.

0
Alexus

Aşağıdaki bağlantı günü kurtardı

https://msdn.Microsoft.com/en-us/library/ms229076(VS.80).aspx

yukarıdaki linkte belirtildiği gibi ilgili RegSvcs kullanın.

c:\Windows\Microsoft. NET\Framework\v4.0.30319\RegSvcs.exe ....\Paylaşılan\Your.dll/tlb:Your.tlb 

0
Mathulan