How to package VIXCOM with application

Jun 12, 2009 at 4:22 AM

Hi,

I have my application written and want to deploy it out to some additional machines in my network.  How do I package the VIXCOM API DLLS with the application install?  I have tried to copy over the vixcom.dll and register it but then I get an exception:  "Vestris.VMWareLib.VMWareException: The specified service provider was not found"

I guess as an alternative I can install the full VIX API package, but was hoping for something cleaner for the application install iteself.

Any help would be appreciated!

Thanks,

Curtis

Coordinator
Jun 12, 2009 at 1:26 PM

You have to use the VMWare VIX installer. It registers a COM object (VixCOM.dll), which would be simple. But it also seems to contain magic that deals with installations on machines that include other VMWare software, which looks like a non-trivial problem. I suggest you bootstrap the VIXCOM installer with your application, for example with DNI.

Jun 12, 2009 at 1:39 PM

Thanks!  You don't happen to have a sample of how to install it with DNI do you?  I actually took a look at DNI yesterday not realizing it was your code.  I use SourceGrid in my application and love it!  Anyways, if you have any sample config files of how to bootstrap the VIX installer with the application install and .net Framework 2.0, I would love to see it!

Thanks for some great work!

Curtis

Coordinator
Jun 12, 2009 at 1:47 PM

I don't have a sample, sorry. It should be very simple - add a component to install VixCOM setup.exe and find which registry key specifies that VixCOM is installed and which version (something in HKLM\Software\Microsoft\Windows\CurrentVersion\... or somewhere in a COM CLSID) to make a pre-condition and avoid installing it when it's already there. If you've never used DNI, take the 1.6 beta, it has a much better user's giude.

Actually DNI is not my code ;) I am one of the project maintainers and have contributed quite a bit of code, but it's David Icardi's - www.devage.com. I never touched SourceGrid for example.