1

enter image description hereI have a Visual Studio Community 2015 project that was working properly, until I tried creating an MSI package with it. It would seem that one of the references to an ActiveX library changed to type Assembly, and I can't figure out how to change it back. The properties field is uneditable. On another computer, the project works just fine (as the reference is file type "ActiveX").

valen
  • 807
  • 1
  • 16
  • 43
  • 1
    A screenshot would be helpful – Jeremy Thompson Oct 23 '16 at 21:51
  • 1
    Hmm, you've been fumbling around for a while. Looks like you eventually ended up adding the build result (the generated interop assembly) from another machine through a OneDrive copy. Note the obj/x86/Debug folder name. Why you are not telling us anything about that is strange, you are not helping us help you at all. Blind guess is that you did these things simply because the COM component is not installed on this machine. Run the vendor's installer. – Hans Passant Oct 24 '16 at 05:21

1 Answers1

2

Sound like the ActiveX is not registered on your machine. Find the DLL and then register it by using the command "regsvr32.exe nameofdll.dll" from a command prompt. If all goes well Windows should say "DLLRegisterServer in nameofdll.dll succeeded ". Now reload the project.

OrdinaryOrange
  • 2,420
  • 1
  • 16
  • 25
  • 1
    Getting error "The module nameofdll.dll was loaded but the entry-point DllRegisterServer was not found. Make sure that nameofdll.dll is a valid DLL or OCX file and then try again" – valen Oct 27 '16 at 02:10
  • 1
    run `dumpbin /exports mydll.dll` and confirm you can see a DllRegisterServer function. If not then you DLL is not COM. As per Hans comment is there an installer ? If `dumpbin` return that there is the function then make sure there is not a duplicate dll on your machine. – OrdinaryOrange Oct 27 '16 at 06:49