Gå til innhold

registrering .ocx vill inte alls


Anbefalte innlegg

Hei

 

vi har ett program som har en .ocx fil som skall registreras, i 32x bitars miljö fungerar programmet fint, men i 64x miljö så går det riktigt galet, i programmet får jag följande feilmelling

 

System.Runtime.InteropServices.COMException (0x80040154): Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))

at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)

at System.Windows.Forms.AxHost.CreateWithoutLicense(Guid clsid)

at System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)

at System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)

at System.Windows.Forms.AxHost.CreateInstance()

at System.Windows.Forms.AxHost.GetOcxCreate()

at System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)

at System.Windows.Forms.AxHost.CreateHandle()

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.AxHost.EndInit()

at HolteByggsafe.IfcViewerControl.OctagaControl_Loaded(Object sender, RoutedEventArgs e)

at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)

at MS.Internal.FrameworkObject.OnLoaded(RoutedEventArgs args)

at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)

at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)

at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()

at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()

at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)

at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)

at System.Windows.Media.MediaContext.Resize(ICompositionTarget resizedCompositionTarget)

at System.Windows.Interop.HwndTarget.OnResize()

at System.Windows.Interop.HwndTarget.HandleMessage(Int32 msg, IntPtr wparam, IntPtr lparam)

at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

 

 

dock fungerar detta soms agt va i 32x miljö

 

det jag gort är att köra : "%systemroot%\SysWoW64\regsvr32.exe" "OctagaModellerX.ocx"

då har den sagt att filen registrerats korrekt, men samma feil vid körning av application.

 

Sen installerade jag .NET framwork 3.5 SDK på maskinen, (inget annat än att installera det)

nu när jag kör : "%systemroot%\SysWoW64\regsvr32.exe" "OctagaModellerX.ocx"

så får jag feil

"The module "OctagaModellerX.ocx" failed to load.

Make sure the binary is stored at specified path or debug it to check for problems with the binary or dependent .DLL files.

The specified module could not be found.

."

 

saken är att det är samma ocx fil som brukas i 32x OS.

 

pluss att vissa maskiner fungerar detta av någon konstig grund.

jag har kört vista 64x win 7 64x de får feil

samtidigt en kollega som körer vista 64x med visual studio og SDK så fungerar programmet.

alla tipps og ideer är glatt mottagna

Lenke til kommentar
Videoannonse
Annonse

Et 64-bit program kan ikke direkte bruke ocx'er eller dll'er fra et 32-bit bibliotek og omvendt. Så hvis det aktuelle programmet er et 64-bit program, da er en løsning enten å rekompilere 32-bit ocx'en til 64-bit eller rekompilere programmet til 32-bit.

Lenke til kommentar
Et 64-bit program kan ikke direkte bruke ocx'er eller dll'er fra et 32-bit bibliotek og omvendt. Så hvis det aktuelle programmet er et 64-bit program, da er en løsning enten å rekompilere 32-bit ocx'en til 64-bit eller rekompilere programmet til 32-bit.

programmet är 32x program men går att köra på en pc med 64x os med den skall köra som 32x den installeras även under program files (x86) eller var det blir

Lenke til kommentar
Så du har byttet fra "Any CPU" til "x86"?

det var en bättre fråga, men det rara är att på utvecklarnas maskiner så fungerar det hela og de kör 64x os bara att när jag kör detta så fungerar det ikke.

og skillnaden skulle jag gissa är vilka utvecklar applikationer de har på maskinen som kanske någon fil är avhängig av?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...