VMware vCenter Lab Manager 3.0 User guide

  • Hello! I am an AI chatbot trained to assist you with the VMware vCenter Lab Manager 3.0 User guide. I’ve already reviewed the document and can help you find the information you need or explain it in simple terms. Just ask your questions, and providing more details will help me assist you more effectively!
SOAP API Guide
Lab Manager 3.0
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
2 VMware, Inc.
Lab Manager SOAP API Guide
You can find the most up-to-date technical documentation on our Web site at:
http://www.vmware.com/support/
The VMware Web site also provides the latest product updates.
If you have comments about this documentation, submit your feedback to:
docfeedback@vmware.com
© 2006–2008 VMware, Inc. All rights reserved. Protected by one or more U.S. Patent Nos. 6,397,242,
6,496,847, 6,704,925, 6,711,672, 6,725,289, 6,735,601, 6,785,886, 6,789,156, 6,795,966, 6,880,022,
6,944,699, 6,961,806, 6,961,941, 7,069,413, 7,082,598, 7,089,377, 7,111,086, 7,111,145, 7,117,481,
7,149,843, 7,155,558, 7,222,221, 7,260,815, 7,260,820, 7,269,683, 7,275,136, 7,277,998, 7,277,999,
7,278,030, 7,281,102, 7,290,253, and 7,356,679; patents pending.
VMware, the VMware “boxes” logo and design, Virtual SMP and VMotion are registered trademarks or
trademarks of VMware, Inc. in the United States and/or other jurisdictions. Microsoft is a registered
trademark of Microsoft Corporation in the United States and other countries. All other marks and
names mentioned herein may be trademarks of their respective companies.
Lab Manager is distributed with AxpDataGrid, a third-party product, copyright by Axezz, Oslo,
Norway, http://www.axezz.com/axpdatagrid.
Lab Manager SOAP API Guide
Revision: 20080804
Item: EN-000067-00
VMware, Inc. 3
Contents
AboutThisBook 7
1 IntroducingVMwareLab ManagerSOAPAPI 9
IntegratingLabManagerwithAutomatedTestingTools 10
SupportedOperations 10
LabManagerDataObjects 10
StandardsComplianceandCompatibleDevelopmentPlatforms 11
Security 11
UserAuthentication 11
2 GettingStartedwiththeLab ManagerSOAPAPI 13
Requirements 13
ObtainingandImportingtheWSDL 14
ImportingtheWSDLFileintoYourDevelopmentPlatform 14
InstructionsforUsingMicrosoftVisualStudiowithLabManagerWSDL 14
SimpleandAdvancedCodeSamples 16
SimpleC#ConsoleApplication 17
AdvancedC#Sample:IntegratingLabManagerandQualityCenter 19
3 LabManagerAPIData Types 27
PrimitiveXMLDataTypes 27
LabManagerDataTypes 28
AuthenticationHeader 28
SupportedAPICalls 28
Fields 28
SampleUsage:C# 29
Configuration 29
Machine 30
Lab Manager SOAP API Guide
4 VMware, Inc.
4 LabManagerAPIMethodReference 33
ConfigurationCapture 34
Syntax 34
Arguments 34
Response 35
SampleCode:C# 35
ConfigurationCheckout 36
Syntax 36
Arguments 36
Response 36
SampleCode:C# 36
ConfigurationClone 37
Syntax 37
Arguments 37
Response 38
SampleCode:C# 38
ConfigurationDelete 38
Syntax 38
Arguments 39
Response 39
SampleCode:C# 39
ConfigurationDeploy 40
Syntax 40
Arguments 40
Response 40
SampleCode:C# 40
ConfigurationPerformAction 41
Syntax 42
Arguments 42
Response 42
SampleCode:C# 42
ConfigurationSetPublicPrivate 43
Syntax 43
Arguments 43
Response 43
SampleCode:C# 43
ConfigurationUndeploy 44
Syntax 44
Arguments 44
Response 44
SampleCode:C# 44
VMware, Inc. 5
Contents
GetConfiguration 45
Syntax 45
Response 45
SampleCode:C# 46
GetConfigurationByName 47
Syntax 47
Arguments 47
Response 47
SampleCode:C# 47
GetMachine 48
Syntax 48
Arguments 48
Response 49
SampleCode:C# 49
GetMachineByName 50
Syntax 50
Arguments 50
Response 50
SampleCode:C# 50
GetSingleConfigurationByName 51
Syntax 51
Arguments 51
Response 51
SampleCode:C# 51
ListConfigurations 52
Syntax 52
Arguments 52
Response 52
SampleCode:C# 53
ListMachines 54
Syntax 54
Arguments 54
Response 54
SampleCode:C# 54
LiveLink 55
Syntax 55
Arguments 55
Response 55
SampleCode:C# 56
Lab Manager SOAP API Guide
6 VMware, Inc.
MachinePerformAction 56
Syntax 57
Arguments 57
Response 57
SampleCode:C# 57
Index 59
VMware, Inc. 7
UsetheLab ManagerSOAPAPIGuidetodevelopapplicationsthatuseLab Manager
Webservicedata,automatetasks,orintegrateVMware
®
Lab Managerwithother
softwaretestingtools.
Intended Audience
ThisguideisintendedfordeveloperswhowanttouseLab Managerdatafor
customizedtestingsolutions,orintegrateLab Managerandothersoftwaretestingtools
intheirenvironment.Forexample,usingtheLab ManagerSOAPAPIletsyouintegrate
Lab Managerwithautomatedsoftwaretestingtools.
Thisguideassumesyouhavesomefamiliaritywith:
Virtualmachinetechnology
Distributed,multitieredsystemsconcepts
Developmentandtestingpractices
WindowsorLinuxoperatingsystems
WebServices,SOAP,andXML
Document Feedback
VMwarewelcomesyoursuggestionsforimprovingourdocumentation.Ifyouhave
comments,sendyourfeedbackto:
About This Book
Lab Manager SOAP API Guide
8 VMware, Inc.
Technical Support and Education Resources
Thefollowingsectionsdescribethetechnicalsupportresourcesavailabletoyou.To
accessthecurrentversionsofthisbookandotherbooks,goto:
http://www.vmware.com/support/pubs
Online and Telephone Support
Useonlinesupporttosubmittechnicalsupportrequests,viewyourproductand
contractinformation,andregisteryourproducts.Goto:
http://www.vmware.com/support
Customerswithappropriatesupportcontractsshouldusetelephonesupportforthe
fastestresponseonpriority1issues.Goto:
http://www.vmware.com/support/phone_support.html
Support Offerings
FindouthowVMwaresupportofferingscanhelpmeetyourbusinessneeds.Goto:
http://www.vmware.com/support/services
VMware Professional Services
VMwareEducationServicescoursesofferextensivehandsonlabs,casestudy
examples,andcoursematerialsdesignedtobeusedasonthejobreferencetools.
Coursesareavailableonsite,intheclassroom,andliveonline.Foronsitepilot
programs andimplementationbestpractices,VMwareConsultingServicesprovides
offeringsto helpyouassess,plan,
build,andmanageyourvirtualenvironment.To
accessinformationabouteducationclasses,certificationprograms,andconsulting
services,goto:
http://www.vmware.com/services/
VMware, Inc. 9
1
TheLab ManagerSOAPapplicationprogramminginterface(API)provides
programmaticaccesstotheLab Managersystem.ByusingthesecureAPI,youcan
connecttoLab ManagerServertoautomateorperformvariousoperations.
TheLab ManagerSOAPAPIusesXMLbasedtechnologies,includingSOAP,asthe
communicationprotocolandWebServicesDescriptionLanguage(WSDL)
asthe
interfacedescriptionlanguage.TheLab ManagerWSDLfiledetailstheavailable
methodsoftheservice(called“operations”inWebServicesvernacular)andparameter
types,aswellastheSOAPendpointfortheservice.
Thischapterincludesthefollowingtopics:
“IntegratingLabManagerwithAutomatedTestingTools”onpage 10
“SupportedOperations”onpage 10
“LabManagerDataObjects”onpage 10
“StandardsComplianceandCompatibleDevelopmentPlatforms”onpage 11
“Security”onpage 11
“UserAuthentication”onpage 11
Introducing VMware
Lab Manager SOAP API
1
Lab Manager SOAP API Guide
10 VMware, Inc.
Integrating Lab Manager with Automated Testing Tools
TheLab ManagerSOAPAPIallowsyoutointeractwithLab Managerdatausingthe
languageandplatformofyourchoice.TheexamplesinthisguideusetheC#
programminglanguageandtheMicrosoft.NETframework,butotherprogramming
languagesanddevelopmentenvironmentsarealsosupported.Ifyouareusinga
languageother
thanC#,seethedocumentationonyourdevelopmentenvironmentfor
comparableinformationaboutdevelopingWebserviceapplications.
InadditiontoextendingorcustomizingLab ManagerbyusingtheSOAPAPI,youcan
alsointegrateLab Managerwithautomatedtestingsystems.Youcanseeanexampleof
thisintegrationinAdvancedC#Sample:Integrating
LabManagerandQuality
Centeronpage 19.
FormoreinformationaboutLab Managersolutions,developerresources,and
communityresources,gotohttp://www.vmware.com.
Supported Operations
UsingyourpreferredWebenableddevelopmentenvironment,youcanconstructWeb
serviceclientapplicationsusingstandardWebserviceprotocolstoprogrammatically:
Queryforvirtualmachineandconfigurationinformation.
Performactionsonmachinesandconfigurations.
Capture,checkout,clone,delete,anddeployconfigurations.
CreateaLiveLinkconfigurationURLthatyoucanemailtootherteammembers.
FordetailedinformationaboutsupportedWebserviceoperations,see“LabManager
APIMethodReference”onpage 33.
Lab Manager Data Objects
TheLab ManagerSOAPAPIinteractswiththedatainyourorganizationusingobjects,
whichareprogrammaticrepresentationsoftheLab Managerdata.Objectproperties
representfieldsinthosedataentities.Forexample,aLab Managerconfigurationis
representedbyaConfigurationobject,whichhasfieldsthatrepresenttheconfiguration
name,configurationnumericidentifier,
deploymentstatus,sharedstate,andmore.
Thisdocumentdescribeshowtoperformoperationssuchasquery,clone,capture,and
deployonLab ManagerdatausingtheLab Managerdataobjects.See“LabManager
APIData Types”onpage 27.
VMware, Inc. 11
Chapter 1 Introducing VMware Lab Manager SOAP API
Standards Compliance and Compatible Development
Platforms
TheLab ManagerSOAPAPIcomplieswithSOAP1.1,WSDL1.1,andotherstandards
identifiedintheWSIBasicProfileVersion1.1.TheLab ManagerSOAPAPIworkswith
currentSOAPdevelopmentenvironmentsthatadheretotheBasicProfileVersion1.1
standards.TheexamplesinthisdocumentusetheMicrosoftVisualStudio
.NET2003
developmentenvironmentandtheC#programminglanguage.
IfyouareusingVisualStudiofor.NETdevelopment,VMwarerecommendsthatyou
useVisualStudio2003orhigher.
Security
ClientapplicationsthataccesstheLab Managerdatainyourorganizationaresubjectto
thesamesecurityprotectionsthatareusedintheLab ManagerWebconsole.
Lab ManagerexposesallSOAPAPImethodsusingSSL.
WhenaccessingtheSOAPAPIwiththeWebserviceURL,youmightseeanSSL
certificatewarning.Accept
thecertificatetousetheAPIorreplacethecertificatewitha
validsignedcertificate.
User Authentication
Clientapplicationsmustprovidevalidcredentials—aLab Manageruseraccount,
password,andorganizationname—witheachLab ManagerWebservicemethodcall.
TheLab ManagerServerauthenticatesthesecredentials.
N
OTEImplementationdifferencesincertaindevelopmentplatformsmightprevent
accesstosomeorallofthefeaturesintheLab ManagerSOAPAPI.
Lab Manager SOAP API Guide
12 VMware, Inc.
VMware, Inc. 13
2
YoucanreviewintroductoryinformationaboutusingtheLab ManagerSOAPAPIto
developanXMLWebserviceclient.AnXMLWebserviceclientisanycomponentor
applicationthatreferencesandusesanXMLWebservice.Thisdoesnotrequirea
clientbasedapplication.Inmanycases,XMLWebserviceclients
mightbeotherWeb
applications,suchasWebFormsorevenotherXMLWebservices.
Thischaptercoversthesetopics:
“Requirements”onpage 13
“ObtainingandImportingtheWSDL”onpage 14
“SimpleandAdvancedCodeSamples”onpage 16
Requirements
TheinstructionsinthischapterassumethataninstanceofLab Managerisinstalled,
configured,andrunningonyournetwork.Beforeyoucanstartdevelopingan
application,reviewtheserequirements:
YoumustknowtheaddressoftheLab Managerserverinstance,startingwithits
fullyqualifiedhostnameorIPaddress.Forexample:
https://hostname.company.com/LabManager
YoumusthaveanaccountonthetargetLab Managerserver.
AssumingyouhaveanappropriateaccountontheLab ManagerServer,youcan
continuewith“ObtainingandImportingtheWSDL”onpage 14.
Getting Started with the
Lab Manager SOAP API
2
Lab Manager SOAP API Guide
14 VMware, Inc.
Obtaining and Importing the WSDL
AswithanystandardsbasedSOAPAPIimplementation,theLab ManagerAPI
definitionisavailableontheWebserviceasanXMLformattedWSDLfile.
ToobtaintheWSDL,launchInternetExplorer5.5orhigherandnavigatetothisURL
foryourLab ManagerServer:
https://<hostname>/LabManager/SOAP/LabManager.asmx?WSDL
TheWSDLdefinesalltheLab ManagerAPIcallsandobjects.
FormoreinformationonWSDL,gotohttp://www.w3.org/TR/wsdl.
Importing the WSDL File into Your Development Platform
AfteryouobtaintheWSDL,importitintoyourdevelopmentenvironmentand
generatethenecessaryobjectsforuseinbuildingclientWebserviceapplications.The
processdependsonyourdevelopmentenvironment,programminglanguage,and
associatedtools.Forexample,theMicrosoftVisualStudiodevelopmentenvironment
handlesthetasksautomatically.
Thenextsection
providesanexampleofobtainingtheWSDLandimportingitinthe
MicrosoftVisualStudio2003.Forinstructionsaboutotherdevelopmentplatforms,see
theproductdocumentationforyourplatform.
Instructions for Using Microsoft Visual Studio with Lab Manager
WSDL
MicrosoftVisualStudioprogramminglanguagesaccesstheLab ManagerSOAPAPI
throughobjectsthatserveasproxiesfortheirserversidecounterparts.
WhenaccessingXMLWebservicesinmanagedcode,aproxyclassandthe.NET
Frameworkhandlealloftheinfrastructurecoding.
BeforeyoucanusetheLab ManagerSOAPAPIwith
VisualStudio,youmustfirst
generatetheproxyclassobjectfromtheWSDLfile.
VisualStudioprovidesawizard(“AddaWebReference”)toconnecttoaWebservice
andgeneratethenecessaryartifacts.YoucanaddaWebreferencetoanexisting
applicationorcreateanewapplicationinVisual
Studio.
TheinstructionsbelowarespecifictoMicrosoftVisualStudio2003.
VMware, Inc. 15
Chapter 2 Getting Started with the Lab Manager SOAP API
To add a Web reference
1FromtheWindowsStartmenu,launchMicrosoftVisualStudio.NET2003.
TheVisualStudioenvironmentopens.
2 SelectNewProjecttocreateanewproject,orselectOpentoopenanexisting
project.
3InVisualStudio,chooseAddWebReferencefromtheProjectmenu.
4IntheURLtextbox,typetheURLto
obtaintheservicedescriptionofthe
Lab ManagerWebservice:
https://<hostname>/LabManager/SOAP/LabManager.asmx
5ClickGo.
ThecertificateexchangebetweentheLab Managerserverandthedevelopment
environmentclientbegins.Asecurityalertdisplaysthedetailsofthecertificate
sentfromtheserver.
6ClickYes.
AnalertfromtheVisualStudioenvironmentmightappear.ClickYes.
The
MicrosoftVisualStudioenvironmentconnectstotheWebserviceendpointand
displaystheoperationsdescribedintheLab ManagerWebserviceWSDL.
7 SelectthetextintheWebreferencenametextboxandrenametheWebreference
toLabManagerSoap,thenamespaceusedforthisWebreference.
“LabManagerSoap”isoneword,withoutspaces.
8ClickAddReference.
Acertificatewarningmessagemightappear.ClickYes.
9ClickYesagain.
Seethe“A d d i ng andRemovingWebReferences”topicintheVisualStudio
documentation.
N
OTEThesecurityalertmessagesaregeneratedwhentheLab Managerserver
usesthedefault,selfsignedcertificates.Youcanreplacethesecertificatesonthe
Lab ManagerserverwithcertificatespurchasedfromVerisign,Thawte,andother
certificateauthorities.
Lab Manager SOAP API Guide
16 VMware, Inc.
VisualStudioretrievestheservicedescriptionandgeneratesaproxyclass
(LabManagerSoap)thatservesasaninterfacetotheLab ManagerWebservicefrom
yourapplication.Attheendoftheprocess,theclassisaddedtotheWebReferences
folderoftheproject.(ClickSolutionExplorertoseeLabManagerSoaplistedin
theWeb
Referencesfolder .)
Withthisbasicsetuptaskcompleted,youcanbuildclientapplicationsthatusethe
Lab ManagerSOAPAPI.ThefastestwaytobecomefamiliarwiththeAPIisby
reviewingthecodesamplelistedin“SimpleandAdvancedCodeSamples”onpage 16.
Simple and Advanced Code Samples
Thissectioncontainstwocodesamples—onesimpleandonemorecomplex—written
inC#usingtheMicrosoftVisualStudio2003IDE.
AssumingthatyouhaveaLab Managerinstancerunning,yourprogramming
environmentissetup,andyouhavetheappropriatepermissionsontheLab Manager
server(see“Requirements”onpage 13),youcantest
basicAPIprogramming
connectivitybetweenyourdevelopmentworkstationandyourLab ManagerWeb
servicebyusingthe“SimpleC#ConsoleApplication.”Copythecodelistingdisplayed
inthenextsection,andpasteitintoyourMicrosoftVisualStudio2003environment.
Thecodeperformsseveralsimpletasks.Thefirsttwotasks(bindingto
theWebservice
andprovidingcredentials)aretypicallyrequiredofanyapplicationthatmakescallsto
aLab ManagerWebservice:
BindstotheLab ManagerSOAPAPI.
SetsuptheusernameandpasswordformakingaSOAPcall.
SetsuptheServicePointManagercertificatepolicytoaccepttheSSLcertificate.You
mustsetupthecertificatepolicytoacceptallcertificatestoconnecttotheAPI.
Makesacalltogetaconfigurationobjectbasedonname.
Displaysallconfigurationfieldsintheconsole.
N
OTEVMwareassumesyouarefamiliarwithbasicprogrammingconceptsand
alreadyhaveaprogrammingdevelopmentenvironmentsetuponyourcomputer.If
youareusingaprogramminglanguageotherthanC#andaWebservicesdevelopment
environmentotherthanMicrosoftVisualStudio2003,seetheappropriate
documentationformoreinformation.
VMware, Inc. 17
Chapter 2 Getting Started with the Lab Manager SOAP API
Simple C# Console Application
using System;
using System.Net;
namespace LMConsoleApplication1
{
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
try
{
//
//** Bind to the Lab Manager SOAP API
//
LabManagerSoap.VMwareLabManagerSOAPinterface binding =
new LabManagerSoap.VMwareLabManagerSOAPinterface();
//
//** Enter the URL for your system here
//
binding.Url
="https://10.6.1.248/LabManager/SOAP/LabManag
er.asmx;
binding.Timeout = 10 * 60 * 1000; // 10 minutes
ServicePointManager.CertificatePolicy = new
CertificateAccepter();
//**
//** Allocate AuthenticationHeader object to hold caller’s
//** user name and password
//**
binding.AuthenticationHeaderValue = new
LabManagerSoap.AuthenticationHeader();
//
//** Substitute a real user’s user name, password, and
organization name here
//
binding.AuthenticationHeaderValue.username = "jaya";
binding.AuthenticationHeaderValue.password = "Lab Manager";
binding.AuthenticationHeaderValue.organizationname =
"MyOrg";
Lab Manager SOAP API Guide
18 VMware, Inc.
//**
//** Call GetSingleConfigurationByName()
//** Get default configuration that comes with Lab Manager
//** installation and write all property values to console
//**
LabManagerSoap.Configuration defCfg=
binding.GetSingleConfigurationByName("Sample
Configuration");
//
//** Print out all configuration properties to the Console
//
Console.WriteLine("Name = " + defCfg.name);
Console.WriteLine("ID = " + defCfg.id.ToString());
Console.WriteLine("Description = "+ defCfg.description);
Console.WriteLine("isPublic = "+
defCfg.isPublic.ToString());
Console.WriteLine("isDeployed = "+
defCfg.isDeployed.ToString());
Console.WriteLine("fenceMode = "+
defCfg.fenceMode.ToString());
Console.WriteLine("type = " + defCfg.type.ToString());
Console.WriteLine("owner = " + defCfg.owner);
Console.WriteLine("dateCreated = " +
defCfg.dateCreated.ToString());
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
Console.ReadLine();
}
} //** end Main
} //** end Class1
/// <summary>
/// This class is needed to automatically accept the SSL certificate
/// the Lab Manager sends on each API call.
/// </summary>
VMware, Inc. 19
Chapter 2 Getting Started with the Lab Manager SOAP API
public class CertificateAccepter : System.Net.ICertificatePolicy
{
public CertificateAccepter() {}
public bool CheckValidationResult(
System.Net.ServicePoint servicePoint,
System.Security.Cryptography.X509Certificates.X509Certificate
cert,
System.Net.WebRequest webRequest, int iProblem)
{
return true;
}
}
} //** end Namespace}
Advanced C# Sample: Integrating Lab Manager and Quality
Center
TheC#.NETexampleinthissectionisamoreextensive—andmorepractical—example
ofusingtheLab ManagerSOAPAPI.Thissampleshowstheintegrationofthe
Lab ManagerSOAPAPIcallswithMercuryInteractiveCorporationQualityCenter
product.Thesamplecodeperformsthesetasks:
MakesLab ManagerAPI(Lab ManagerSOAPAPI)callstocheckouta
configurationfromtheLibraryanddeployit.
RunsaseriesofpredefinedtestsonthedeployedconfigurationusingMercury
QualityCenter.
MakesLab ManagerSOAPAPIcallstocapturetheconfigurationandundeployit
fromtheWorkspace.
Thesetasksareaccomplishedinthesamplecodeusingthesethreemethods:
CheckoutDeployConfiguration()methodObtainstheconfigurationfromthe
LibraryanddeploysittotheLab ManagerWorkspace.
RunQCTestset()methodRunsaseriesofpredefinedMercuryInteractiveQuality
Centertests.(Formoreinformationaboutthepredefinedtests,seetheMercury
InteractiveQualityCenterdocumentation.)
CaptureUndeployConfiguration()methodUndeploystheconfigurationand
capturesittotheLibrary.
Inaddition,theGetLMAPI()methodcreatesanewbindingtotheLab ManagerAPI
andsetsupauthenticationparameters.Thismethodconfiguresthecertificatepolicyfor
the.NETservicepointmanagertoacceptanycertificateprogrammatically.
GetLMAPI()returnsaninstance
oftheLab Managerbinding.
Lab Manager SOAP API Guide
20 VMware, Inc.
using System;
using System.Configuration;
using System.Collections.Specialized;
using System.IO;
using System.Net;
using TDAPIOLELib; //** From Mercury Quality Center
namespace MATRun
{
/// <summary>
/// Class1 comprises methods to check out a configuration from the Lab
/// Manager Library and deploy it to the Workspace; execute several
/// tests; and capture a configuration.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
NameValueCollection settings=ConfigurationSettings.AppSettings;
string filename = null;
string buildlocation = null;
string buildversion = null;
if ( args.Length > 0 )
{
buildlocation = args[0];
buildversion = args[1];
}
if ( buildlocation == null )
{
buildlocation =
@"\\fs.labmanger.com\public\build\outputdir\1423\artifac
ts";
buildversion = "Lab Manager-2.0.4018";
}
filename =
@"\\fs.labmanager.com\public\build\build-to-test.bat";
StreamWriter f = new StreamWriter(filename);
f.WriteLine(String.Format(@"xcopy {0}\setup.exe c:\ /Y",
buildlocation));
/