Using a REGISTRATION-FREE .Net DLL in PowerBuilder

1
0
-1

I created a .Net DLL (COM) and managed to use it in PowerBuilder (12.5 Classic)... so far so good...

The downside that we need te register this DLL in order to be able to use it.
I've read that there's possibility to use such a DLL without registration: this via the creation/use of manifests.

Can anyone help me on this and explain what I need to do (and how) in order to be able to use the Net DLL (COM) in PowerBuilder without registration?
Any examples maybe?

The things I've (already) read are not really clear/straightforward: I can't make it work at the moment... sad

Anyone with experience with this (and willing to help)?

Thanks in advance,
Marc.

 

Question Tags: 

Answers

Ashutosh Varshney answered Using a REGISTRATION-FREE .Net DLL in PowerBuilder

Bruce Armstrong's picture

Thumbs up.   Rick Strahl's blog is the place to turn to when I run into problems (like the manifest caching issue I'd forgotten about).

marc_schmidtmayer_27277's picture

Thanks for your reply.
Found this article earlier but didn't try it out since it is the other way round: try to use an external DLL within .NET and I wan't to use an .NET DLL in PowerBuilder.
But will check it out again...

Bruce Armstrong answered Using a REGISTRATION-FREE .Net DLL in PowerBuilder

1
0
-1

You might want to look at this:

https://community.appeon.com/groups/powerbuilder/calling-net-components-powerbuilder-com-wrappers-redux

That articles actually a bit old though (10 years according to the post on the article).

I did a session on the topic at Elevate 2017 that is much more current.  The video is here:

https://www.appeon.com/developers/library/videos/using-net-nonvisual-assemblies-powerbuilder.html

Marc Schmidtmayer's picture

-----

Marc Schmidtmayer answered Using a REGISTRATION-FREE .Net DLL in PowerBuilder

1
0
-1

Hi Bruce,
Thanks for taking the time to answer... really! yes

I checked out your video and things are less 'cloudy'.
This is what I understood from this... can you tell me if I'm correct please?
So:
(1) generate the PowerBuilder exe with an external manifest
(2) generate a manifest for the assembly (.net dll) with the 'Side by Side Manifest Maker'
(3) add the info of generated assembly manifest to the PowerBuilder exe manifest
This way the GACUTIL and REGASM aren't necessay anymore.
Correct?

Just this as 'vagueness':
(A) Are the options for generating the PowerBuilder manifest of any imporrtance (" as invoker", "highest available", ... + "allow access to protected system ui")?
(B) Is the GUID still of any importance since no registration is necessary?
(C) Is it of any importance of the assembly is signed (or not) for this solution?
(D) I guess that the assembly should be located in the same folder as the PowerBuilder exe? If not, how will the exe find the assembly?
(E) Is there a possibility to get the manifest back into the PowerBuilder exe? Or not possible since the 'bootstrap'-thing?

Sorry about all this...
Just trying to understand... blush

Thanks again,
Marc.

Michael Kramer answered Using a REGISTRATION-FREE .Net DLL in PowerBuilder

1
-1
-1

Hi Marc,

AFAIK, registration is required for the COM Callable Wrapper to work. PB uses OLE Automation to talk to the COM Callable Wrapper which in turn calls across the Win32 <=> .NET barrier.

There may be alternatives that I haven't used, but as I see it: You need registration to use COM interoperability between PB Classic and .NET.

 

/Michael

marc_schmidtmayer_27277's picture

Thanks for answering Michael.