How to register assembly with regasm using installshield
![how to register assembly with regasm using installshield how to register assembly with regasm using installshield](https://west-wind.com/presentations/vfpDotNetInterop/ProjectComExportProperty.gif)
File not found errors are very easy to diagose with SysInternals' Process Monitor. Forgetting the /codebase option when you ran the 32-bit version of Regasm is another way.īest thing to do is just not guess at this. Simple changes to the project or file can then trigger "File not found". Like Visual Studio registering it, you'd normally always favor it doing that way because it prevents registry pollution. You'd normally get "Class not registered", that didn't happen, maybe there was an earlier registration we don't know about. Which is easy to overlook of course, you never mentioned doing this so that's a Big Red flag. And again with the 32-bit version, it writes the keys to HKLM\Software\Wow6432Node, where 32-bit client programs search for keys. Once with the 64-bit version of Regasm.exe so that the 64-bit registry keys are written.
![how to register assembly with regasm using installshield how to register assembly with regasm using installshield](https://image.slidesharecdn.com/iswpcomextractfeb13-140411115648-phpapp01/95/what-installation-authors-need-to-know-about-com-extraction-4-638.jpg)
But it is certainly possible, you have to register the assembly twice. "File not found" is not the first kind of error you'd expect in this scenario. This leads me to suspect the problem from c# is related, but I still don't get it.
![how to register assembly with regasm using installshield how to register assembly with regasm using installshield](https://s3.manualzz.com/store/data/035296271_1-a962885821b1ae97726ca6ffc21c0cb9.png)
How to register assembly with regasm using installshield 64 Bit#
The cscript I used was from c:\windows\system32 so it was the 64 bit version.įrom the command line if I deliberately use the 32 bit version of cscript I also get the 0x80070002 error. I dont understand why it is different from C# to the command line. When I run this way I get the 0x80070002 error, which is basically a file not found error. Si.Arguments = "c:\mypath\myvb.vbs argument" ProcessStartInfo si = new ProcessStartInfo() I now am trying to run this same command from C#. If I run this on the command line it all works properly, creates the object calls the method via com. I do a createObject on the COM object and call methods on the object in a vbs script run with cscript. Why do I get 0x80070002 error calling a C# COM object from VB when launched from C#? - c# I have a C# COM object in a dll that I have registered using regasm.exe.