Calling a VB.NET COM+ Remotely
-
All, We have code to call a component remotely from a standard VB.NET Form. I've compiled the code on my machine and it works fine. Calling from another client over the network causes the following error message: Retrieving the COM class factory for remote component with CLSID {F655F1E8-50B6-31EF-9C5D-B14B7D9B56D3} from machine XP1111 failed due to the following error: 80070005. The Client Call is made as follows:
Dim svr As Type = Type.GetTypeFromProgID("ZFTestCOMPlus.ZFComPlusOne", _ txtServer.Text) ' txtServer.Text is the name of the server e.g "XP1111" Dim o As Object = Activator.CreateInstance(svr) Dim x As ZFTestCOMPlus.ZFComPlusOne = CType(o, ZFTestCOMPlus.ZFComPlusOne) Dim str As String = x.GetSomeDataFromMe()
The problem occurs on the line Dim o As Object = Activator.CreateInstance(svr). This is the first COM+ application that has been written here. It is totally client based but users Library COM+ Application (which causes all kinds off issues). The component is a COM+ Server Application with one class and 2 methods. Troubleshooting (in the dark) so far... 1. Installed Component into GAC. 2. Created a MSI from COM+ to install the components on remote machine as a proxy. 2. Added user calling the component from the remote machine to a role under the COM+ Application. This role has been given access to ZFTestCOMPlus.ZFComPlusOne class 3. Tried disabling Enforce access checks for this application. 4. Granted full access/remote launch to the user in dcomdnfg in the COM Security tab. Anyone have any ideas? Just fumbling about in the dark at the mo and not come across any decent artices :mad: :(( :confused: :sigh: Andez -
All, We have code to call a component remotely from a standard VB.NET Form. I've compiled the code on my machine and it works fine. Calling from another client over the network causes the following error message: Retrieving the COM class factory for remote component with CLSID {F655F1E8-50B6-31EF-9C5D-B14B7D9B56D3} from machine XP1111 failed due to the following error: 80070005. The Client Call is made as follows:
Dim svr As Type = Type.GetTypeFromProgID("ZFTestCOMPlus.ZFComPlusOne", _ txtServer.Text) ' txtServer.Text is the name of the server e.g "XP1111" Dim o As Object = Activator.CreateInstance(svr) Dim x As ZFTestCOMPlus.ZFComPlusOne = CType(o, ZFTestCOMPlus.ZFComPlusOne) Dim str As String = x.GetSomeDataFromMe()
The problem occurs on the line Dim o As Object = Activator.CreateInstance(svr). This is the first COM+ application that has been written here. It is totally client based but users Library COM+ Application (which causes all kinds off issues). The component is a COM+ Server Application with one class and 2 methods. Troubleshooting (in the dark) so far... 1. Installed Component into GAC. 2. Created a MSI from COM+ to install the components on remote machine as a proxy. 2. Added user calling the component from the remote machine to a role under the COM+ Application. This role has been given access to ZFTestCOMPlus.ZFComPlusOne class 3. Tried disabling Enforce access checks for this application. 4. Granted full access/remote launch to the user in dcomdnfg in the COM Security tab. Anyone have any ideas? Just fumbling about in the dark at the mo and not come across any decent artices :mad: :(( :confused: :sigh: Andez