VMware {code} Community
mickmason
Contributor
Contributor

.Net App only runs on machine it was built on - which assemblies are required.

Hi,

I've created an app that gets information from the Virtual Center so that we can use it for capacity planning. It works fine on the machine on which it was built, but doesn't run on other machines.

This is obviously to do with missing/unregistered assemblies, but i'm having a bit of a struggle determining how to get it to run on other machines.

The Visual Studio 2005 Setup project automatically added the following DLLs as Detected dependencies:

VimService20.dll

VimService2005.dll

VimService2005.XMLSerializers.dll

VimService25.dll

VimService40.dll

VMWare.Vim.dll

After running my apps installer on another machine, it didn't work. I then installed the VMWare vSphere PowerCLI on the new machine, and it still didn't work. I got the following message:

'There was an error generating the XML document. The type VimApi_25.TraversalSpec was not expected. Use the XmlInclude or SoapInclude attribute to specify types that are not known statically'

So I tried to do exactly that, but Visual Studio only recognised VimApi.TraversalSpec, not VimApi_25.TraversalSpec, which makes me think the second machine is defaulting to a different assembly. The assemblies on both machines are exactly the same.

I'm pulling my hair out trying to figure this out, so any help is greatly appreciated.

Cheers

M

Tags (3)
0 Kudos
1 Reply
mickmason
Contributor
Contributor

I found the solution. The DLLs need to be copied into the GAC (c:\windows\assembly). If they remain in the application installation folder, there are duplicate call issues.

M

0 Kudos