• Welcome to Advance DreamBox Forum. Please login or sign up.
 

VMware vSphere client op Windows 7 (build 7127)

Started by arjanhs, June 10, 2009, 01:01:03 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

arjanhs

June 10, 2009, 01:01:03 PM Last Edit: June 10, 2009, 01:04:19 PM by arjanhs
Na het installeren van de vSphere client op mijn 64 bits Windows 7 virtual machine, kreeg ik de volgende error te zien toen ik verbinding wilde maken met mijn vCenter Server: "Error Parsing the server "192.168.0.100″ "clients.xml" file Login will continue contact your system administrator". Nadat ik op "OK" geklikt had kreeg ik vervolgens de tweede error voor mijn kiezen: "The type initializer for "VirtualInfrastrcture.Utils.HttpWebRequestProxy" threw an exception". Wat Googlen leerde me snel dat het niet mogelijk was om de vSphere client werkend te krijgen, zonder hierbij gebruik te maken van een workaround. Sommigen brachten als oplossing het gebruiken van de Windows XP modus aan. Dit werkt alleen niet als je het wil gebruiken in een reeds gevirtualiseerde omgeving, zoals in mijn geval op mijn ESX host. Daarom kwam ik snel uit op een stappenplan wat iemand op het VMware Communities forum aandroeg. Na wat gepuzzle met config files, x86-paths en andere tweaks is het me gelukt om de vSphere client aan de praat te krijgen op Windows 7 x64 (Build 7127). Dit is hoe:



Na het installeren van de vSphere client op mijn 64 bits Windows 7 virtual machine, kreeg ik de volgende error te zien toen ik verbinding wilde maken met mijn vCenter Server: "Error Parsing the server "192.168.0.100″ "clients.xml" file Login will continue contact your system administrator". Nadat ik op "OK" geklikt had kreeg ik vervolgens de tweede error voor mijn kiezen: "The type initializer for "VirtualInfrastrcture.Utils.HttpWebRequestProxy" threw an exception". Wat Googlen leerde me snel dat het niet mogelijk was om de vSphere client werkend te krijgen, zonder hierbij gebruik te maken van een workaround. Sommigen brachten als oplossing het gebruiken van de Windows XP modus aan. Dit werkt alleen niet als je het wil gebruiken in een reeds gevirtualiseerde omgeving, zoals in mijn geval op mijn ESX host. Daarom kwam ik snel uit op een stappenplan wat iemand op het VMware Communities forum aandroeg. Na wat gepuzzle met config files, x86-paths en andere tweaks is het me gelukt om de vSphere client aan de praat te krijgen op Windows 7 x64 (Build 7127). Dit is hoe:

   1. Kopieer de System.dll van een systeem waar geen Windows 7, maar waar wel .NET 3.5 SP1 op staat geinstalleerd, naar de Windows 7 computer. Deze DLL is te vinden in de map %SystemRoot%\Microsoft.NET\Framework\v2.0.50727\ op de non-Windows 7 computer (voor de mensen die niet zo snel een .NET 3.5 SP1 installatie klaar hebben staan, daar geen zin in hebben of het lekker makkelijk willen hebben, mijn System.dll online gezet).
   2. Maak een directory aan op de Windows 7 computer waar de VMware vSphere Client geinstalleerd staat, en kopieer de DLL-file van stap 1 naar deze map. Ikzelf heb C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib\ gebruikt om mijn DLL-file in te zetten. Deze map ga ik later ook nog gebruiken om een tweetal scriptjes in te plaatsen, welke verderop besproken worden.
   3. In de vSphere Client Launcher directory staat de VpxClient.exe.config file. Open deze in een tekst editor en voeg een runtime-element toe (de rood gekleurde tekst), en sla het bestand daarna op.

      VpxClient.exe.config ziet er dan als volgt uit:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.net>
        <connectionManagement>
            <clear/>
            <add address="*" maxconnection="8" />
        </connectionManagement>
  </system.net>
  <appSettings>
    <add key = "protocolports" value = "https:443"/>
  </appSettings>
  [color=red]<runtime>
    <developmentMode developerInstallation="true"/>
  </runtime>[/color]
</configuration>


Maak een batch file (bijvoorbeeld vpxclient.bat) door in een tekst file een drietal regels te typen en deze vervolgens op te slaan als "vpxclient.bat" inclusief de quotes, om de bestandsextensie te behouden. Deze regels bevatten een commando om de DEVPATH variabele naar de folder te verwijzen van stap 2.

Voorbeeld:

@ECHO OFF
SET DEVPATH=C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib
"C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe"


#  Door vervolgens bovenstaande vpxclient.bat uit te voeren als Administrator, wordt de VMware vSphere Client opgestart en is het mogelijk om in te loggen op de ESX-host of de vCenter Server.
# <OPTIONEEL-01> Door de vpxclient.bat file op een plaats naar keuze (in mijn geval C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib) neer te zetten, vervolgens een snelkoppeling aan te maken op het bureaublad en de eigenschappen van de snelkoppeling zo aan te passen dat de batch file in een "minimized window" gestart wordt.



   7. <OPTIONEEL-02> Om deze workaround nog gebruiksvriendelijker te maken (het openstaande DOS-window is behoorlijk ongewenst aanwezig, ook al draait het inmiddels geminimaliseerd) heb ik 2 kleine scriptjes geschreven, zodat het DOS-window na opstart helemaal verborgen word en men er geen last meer van heeft. De 2 kleine scriptjes bestaan uit:
         1. een Visual Basic script (invisible.vbs) wat er voor zorgt dat het DOS-window verborgen wordt, nadat vpxclient.bat aangeroepen wordt.
         2. een batch file die ervoor zorgt dat de batch file om de VMware vSphere Client op te starten (vpxclient.bat) en het Visual Basic script (invisible.vbs) samen aangeroepen worden. Deze batch file heb ik vsphere client on win7.bat genoemd.

      De invisible.vbs file heb ik samen met System.dll (stap 2) en vpxclient.bat (stap 6) in de C:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\Lib directory gezet. Vervolgens heb ik de vsphere client on win7.bat file op het bureaublad geplaatst, welke er voor zorgt dat het Visual Basic script en de batch file samen uitgevoerd worden. De batch files en het vbs script zijn door mijzelf geschreven. In de scriptjes is boven de eigenlijke code commentaar te vinden, waarin uitgelegd staat wat het scriptje doet. De scripts zijn gebaseerd op een Windows 7 x64 installatie, waarbij het Program Files path afwijkt van een 32 bits installatie van Windows 7.

      Let op! de batch files moeten allemaal uitgevoerd moeten worden als administrator (rechtsklikken op de file –> "Run as administrator"), anders krijg je de melding: "VpxClient has stopped working".

Uiteindelijk is het dus, na een grote omweg, mogelijk om de vSphere client te draaien op een 64 bits Windows 7 installatie: