From 2e6c56842cd573664e3eecdfc66e4a3fc33db83d Mon Sep 17 00:00:00 2001 From: Balaji Boggaram Ramanarayan Date: Tue, 13 Jun 2017 16:46:52 -0700 Subject: [PATCH] Detailed insrtuctions in sequence for build CLI Added more detailed descriptions for building via CLI. --- tools/win/README.md | 75 +++++++++++++++++++++++++++------------------ 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/tools/win/README.md b/tools/win/README.md index 3fd55ac00..adc209051 100755 --- a/tools/win/README.md +++ b/tools/win/README.md @@ -70,52 +70,67 @@ The source code is developed and tested against following environment: * Wix v3.8 (stable) -## Source code +## Download and Install GIT + +Inorder to checkout source code (from github), Install git client from https://git-scm.com/ + +## Checkout Source code + ``` git clone https://github.com/vmware/lightwave.git -windows source files are under lightwave/tools/win ``` +The source code for windows tools are under lightwave/tools/win +## Download and Install .NET Framework +1. Download .NET from https://www.microsoft.com/en-in/download/details.aspx?id=30653 +2. Confirm installation by following steps at https://msdn.microsoft.com/en-in/library/hh925568(v=vs.110).aspx#net_b -## Build + Note : .NET Framework 3.5+ is recommended -The code can be build either using the build script or manually using Visual Studio. +## Download, Install and Configure WIX -###Pre-requisite client binaries -Download client pre-built binaries (from the link below) and copy them to tools/interop/client_msi folder (create if it does not exists) to satisfy dependencies before attempting to build.: +1. Download WIX binary from http://wixtoolset.org/ + (Downloaded file : wix38-binaries.zip from http://wixtoolset.org/releases/v3.8/stable) +2. Extract wix38-binaries.zip (Downloaded from above step #1) +3. Configure environmental variable 'WIXPATH' set to value /wix38-binaries -https://vmware.bintray.com/lightwave_ui/v1.0/rc/for_developers/win/ + Note : WIX 38 is recommended and ensured working. -####Using build script -``` -Perform following steps to build the Lightwave UI installer for windows using the build script: - -* Download and install .net framework 4.5 (in case it is not present on your machine) from https://www.microsoft.com/en-in/download/details.aspx?id=30653. To confirm whether .net framework 4.5 is installed in your machine please use this link https://msdn.microsoft.com/en-in/library/hh925568(v=vs.110).aspx#net_b . -* Download and install git client from https://git-scm.com/ -* Open git bash shell and run the command: git clone https://github.com/vmware/lightwave.git -* Download wix38-binaries.zip from http://wixtoolset.org/. Do not download any wix installer binaries. -* Right click wix38-binaries.zip and open properties panel and click unblock button present at bottom. -* Now, extract wix38-binaries.zip binaries. -* Create WIXPATH environment variable with value \wix38-binaries -* Go to lightwave windows folder using command prompt: cd lightwave\tools\win -* Run the windows build script: build-lw-win-ui.cmd +## Download and Copy Pre-requisites for Build -``` - -This will generate following three files in tools\win\x64\Debug and tools\win\x64\Release folders. +1. Download pre-requisite binaries from https://vmware.bintray.com/lightwave_ui/v1.0/rc/for_developers/win/ +2. Copy the above downloaded pre-requisites to lightwave/tools/interop/client_msi folder. [Please create folder structure if doesn't exist] + +## Build -1) VMIdentityTools_Installer.msi - contains only Lightwave MMC tools and requires pre-requisite client libraries to be already installed on machine. +We can build the LIGHTWAVE UI tools via two methods : + +1. via CLI (Command Line Interface) +2. via Visual Studio IDE (Integrated Dev Environment) + +### via CLI + +The process of building via CLI uses a pre-existing script(build-lw-win-ui.cmd) in source code. + +``` +1. cd lightwave/tools/win [Navigate to windows tools folder] +2. build-lw-win-ui.cmd [Invoke build command] +``` -2) VMIdentityTools_Prerequisite.exe - does not contains Lightwave MMC tools and used to install pre-requisite client libraries on machine +If the above command succeeds, It should generate the following files: -3) VMIdentityTools_Standalone.exe - contains both pre-requisite libs + Lightwave MMC tools +* VMIdentityTools_Installer.msi - Contain Lightwave-MMC tools + Pre-requisite client libraries +* VMIdentityTools_Prerequisite.exe - Contain only Pre-requisite client libraries +* VMIdentityTools_Standalone.exe - Contain Lightwave-MMC + Pre-requisite client libraries -You can find installer log in win\logs folder. +#### Troubleshooting/Common Issues: +The installer logs can be found at lightwave\tools\win\logs folder. -If you get any wix related errors e.g. light.exe error, then delete all obj folders from wininstaller projects and run script again. +WIX related errors : +On wix related errors e.g. light.exe error, then delete all obj folders from wininstaller projects and run script again. -####Using Visual Studio +### via Visual Studio To build the tools indiviudally using Visual Studio, you need to build the pre-requisite interops first. @@ -213,4 +228,4 @@ example: Add entry for all the nodes in the hosts file For linux, hosts file is located under: /etc/hosts -For windows, hosts file is located under: C:\Windows\System32\drivers\etc\hosts \ No newline at end of file +For windows, hosts file is located under: C:\Windows\System32\drivers\etc\hosts