1d71964d5SAndrew Rist// ************************************************************* 2d71964d5SAndrew Rist// 3d71964d5SAndrew Rist// Licensed to the Apache Software Foundation (ASF) under one 4d71964d5SAndrew Rist// or more contributor license agreements. See the NOTICE file 5d71964d5SAndrew Rist// distributed with this work for additional information 6d71964d5SAndrew Rist// regarding copyright ownership. The ASF licenses this file 7d71964d5SAndrew Rist// to you under the Apache License, Version 2.0 (the 8d71964d5SAndrew Rist// "License"); you may not use this file except in compliance 9d71964d5SAndrew Rist// with the License. You may obtain a copy of the License at 10d71964d5SAndrew Rist// 11d71964d5SAndrew Rist// http://www.apache.org/licenses/LICENSE-2.0 12d71964d5SAndrew Rist// 13d71964d5SAndrew Rist// Unless required by applicable law or agreed to in writing, 14d71964d5SAndrew Rist// software distributed under the License is distributed on an 15d71964d5SAndrew Rist// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16d71964d5SAndrew Rist// KIND, either express or implied. See the License for the 17d71964d5SAndrew Rist// specific language governing permissions and limitations 18d71964d5SAndrew Rist// under the License. 19d71964d5SAndrew Rist// 20d71964d5SAndrew Rist// ************************************************************* 21*7477dbb9SJürgen Schmidt 22cdf0e10cSrcweir// This script asks for variables, which are necessary for building the 23cdf0e10cSrcweir// examples of the Office Development Kit. The script duplicates the template 24cdf0e10cSrcweir// script and inserts the variables into the copied script. 25cdf0e10cSrcweir// The Script was developed for the operating systems Microsoft Windows. 26*7477dbb9SJürgen Schmidtvar regKeyOfficeCurrentUser6432Node = "HKEY_CURRENT_USER\\Software\\Wow6432Node\\OpenOffice\\UNO\\InstallPath\\"; 27*7477dbb9SJürgen Schmidtvar regKeyOfficeLocaleMachine6432Node = "HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\OpenOffice\\UNO\\InstallPath\\"; 28599cc5b4SOliver-Rainer Wittmannvar regKeyOfficeCurrentUser = "HKEY_CURRENT_USER\\Software\\OpenOffice\\UNO\\InstallPath\\"; 29599cc5b4SOliver-Rainer Wittmannvar regKeyOfficeLocaleMachine = "HKEY_LOCAL_MACHINE\\Software\\OpenOffice\\UNO\\InstallPath\\"; 30cdf0e10cSrcweirvar regKeyDotNetInstallRoot = "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\.NETFramework\\InstallRoot"; 31cdf0e10cSrcweirvar regKeyDotNet1_1 = "HKLM\\Software\\Microsoft\\.NETFramework\\policy\\v1.1\\4322"; 32cdf0e10cSrcweirvar sDirDotNet1_1 = "v1.1.4322"; 33cdf0e10cSrcweirvar regKeyDotNet2_0 = "HKLM\\Software\\Microsoft\\.NETFramework\\Policy\\v2.0\\50727"; 34cdf0e10cSrcweirvar sDirDotNet2_0 = "v2.0.50727"; 35cdf0e10cSrcweir 36cdf0e10cSrcweirvar regKeyJDK = "HKLM\\Software\\JavaSoft\\Java Development Kit\\"; 37cdf0e10cSrcweir//var regKeyVC70 = "HKLM\\SOFTWARE\\Microsoft\\VisualStudio\\7.0\\Setup\\VC\\ProductDir"; 38cdf0e10cSrcweir//var regKeyVC71 = "HKLM\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC\\ProductDir"; 39cdf0e10cSrcweirvar regKeyVC90 = "HKLM\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VC\\ProductDir"; 40cdf0e10cSrcweir 41cdf0e10cSrcweir//var regKeyVCExpress80 = "HKLM\\SOFTWARE\\Microsoft\\VCExpress\\8.0\\Setup\\VC\\ProductDir"; 42cdf0e10cSrcweirvar regKeyVCExpress90 = "HKLM\\SOFTWARE\\Microsoft\\VCExpress\\9.0\\Setup\\VC\\ProductDir"; 43b3ba5bc7SJürgen Schmidtvar regKeyVCExpress90_2 = "HKLM\\SOFTWARE\\Wow6432Node\\Microsoft\\VCExpress\\9.0\\Setup\\VC\\ProductDir"; 44cdf0e10cSrcweirvar regKeyWindowsSDK = "HKLM\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\CurrentInstallFolder"; 45cdf0e10cSrcweir 46cdf0e10cSrcweirvar WshShell = WScript.CreateObject("WScript.Shell"); 47cdf0e10cSrcweirvar WshSysEnv = WshShell.Environment("process"); 48cdf0e10cSrcweirvar aFileSystemObject = new ActiveXObject("Scripting.FileSystemObject"); 49cdf0e10cSrcweirvar stdin = WScript.StdIn; 50cdf0e10cSrcweirvar stdout = WScript.StdOut; 51cdf0e10cSrcweir 52cdf0e10cSrcweirstdout.WriteLine("\n" + 53cdf0e10cSrcweir" *** Configure your SDK environment ***\n\n" + 54cdf0e10cSrcweir" NOTE: This script is working only for Windows 2000, Windows XP or newer versions!\n"); 55cdf0e10cSrcweir 56cdf0e10cSrcweirvar oo_sdk_name=WshSysEnv("OO_SDK_NAME"); 57cdf0e10cSrcweirvar stldebug=""; 58cdf0e10cSrcweirvar oo_sdk_home=getSdkHome(); 59cdf0e10cSrcweirvar oo_user_sdk_dir=WshSysEnv("APPDATA") + "\\" + oo_sdk_name; 60cdf0e10cSrcweirvar oo_user_sdk_env_script=oo_user_sdk_dir + "\\setsdkenv_windows.bat"; 61cdf0e10cSrcweir 62cdf0e10cSrcweirvar office_home=getOfficeHome(); 63cdf0e10cSrcweirvar office_base_home=getOfficeBaseHome(); 64cdf0e10cSrcweir 65cdf0e10cSrcweirvar oo_sdk_make_home=getMakeHome(); 66cdf0e10cSrcweirvar oo_sdk_zip_home=getZipHome(); 67985d02c7SAriel Constenla-Hailevar oo_sdk_cat_home=getCatHome(); 68985d02c7SAriel Constenla-Hailevar oo_sdk_sed_home=getSedHome(); 69cdf0e10cSrcweirvar oo_sdk_manifest_used=""; 70cdf0e10cSrcweirvar oo_sdk_windowssdk=""; 71cdf0e10cSrcweirvar oo_sdk_cpp_home=getCppHome(); 72cdf0e10cSrcweirvar oo_sdk_cli_home=getCliHome(); 73cdf0e10cSrcweirvar oo_sdk_java_home=getJavaHome(); 74cdf0e10cSrcweirvar oo_sdk_out=getOutputDir(); 75cdf0e10cSrcweirvar sdk_auto_deployment=getAutoDeployment(); 76cdf0e10cSrcweir 77cdf0e10cSrcweirwriteBatFile(oo_user_sdk_dir, oo_user_sdk_env_script); 78cdf0e10cSrcweir 79cdf0e10cSrcweirstdout.Write( 80cdf0e10cSrcweir "\n ******************************************************************\n" + 81cdf0e10cSrcweir " * ... \"" + oo_user_sdk_env_script + "\"\n" + 82cdf0e10cSrcweir " * batch file has been prepared.\n" + 83cdf0e10cSrcweir " * This batch file will be used in the future to prepare your\n" + 84cdf0e10cSrcweir " * personal configured SDK environment.\n" + 85cdf0e10cSrcweir " ******************************************************************\n\n"); 86cdf0e10cSrcweir// " * For each time you want to use this configured SDK environment,\n" + 87cdf0e10cSrcweir// " * you have to run the \"setsdkenv_windows.bat\" file in a new shell!\n" + 88cdf0e10cSrcweir 89cdf0e10cSrcweir// done ------------------------------------------------------------------------- 90cdf0e10cSrcweir 91cdf0e10cSrcweir 92cdf0e10cSrcweirfunction skipChoice(msg) 93cdf0e10cSrcweir{ 94cdf0e10cSrcweir stdout.Write("\n Do you want to skip the choice of " + msg + " (YES/NO) [YES]:"); 95cdf0e10cSrcweir var sChoice = stdin.ReadLine(); 96cdf0e10cSrcweir if (sChoice == "" || sChoice.toLowerCase() == "yes") 97cdf0e10cSrcweir return true; 98cdf0e10cSrcweir 99cdf0e10cSrcweir return false; 100cdf0e10cSrcweir} 101cdf0e10cSrcweir 102cdf0e10cSrcweirfunction getSdkHome() 103cdf0e10cSrcweir{ 104cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_HOME"); 105cdf0e10cSrcweir if (sSuggestedHome.length == 0) { 106cdf0e10cSrcweir var scriptname = WScript.ScriptFullName; 107cdf0e10cSrcweir sSuggestedHome = scriptname.substr(0,scriptname.length-10); 108cdf0e10cSrcweir } 109cdf0e10cSrcweir 110cdf0e10cSrcweir while(true) 111cdf0e10cSrcweir { 112cdf0e10cSrcweir stdout.Write("\n Enter the Office Software Development Kit directory [" + 113cdf0e10cSrcweir sSuggestedHome + "]:"); 114cdf0e10cSrcweir var sHome = stdin.ReadLine(); 115cdf0e10cSrcweir if (sHome.length == 0) 116cdf0e10cSrcweir { 117cdf0e10cSrcweir //No user input, use default. 118cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 119cdf0e10cSrcweir { 120cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 121cdf0e10cSrcweir sSuggestedHome + "\". An SDK is required, please" + 122cdf0e10cSrcweir " specify the path to a valid installation."); 123cdf0e10cSrcweir continue; 124cdf0e10cSrcweir } 125cdf0e10cSrcweir sHome = sSuggestedHome; 126cdf0e10cSrcweir } 127cdf0e10cSrcweir else 128cdf0e10cSrcweir { 129cdf0e10cSrcweir //validate the user input 130cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 131cdf0e10cSrcweir { 132cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 133cdf0e10cSrcweir "\" does not exist. Please enter the path to a" + 134cdf0e10cSrcweir "valid SDK installation."); 135cdf0e10cSrcweir continue; 136cdf0e10cSrcweir } 137cdf0e10cSrcweir } 138cdf0e10cSrcweir //Check if this is an sdk folder by looking for the idl sub - dir 139cdf0e10cSrcweir var idlDir = sHome + "\\idl"; 140cdf0e10cSrcweir if (! aFileSystemObject.FolderExists(idlDir)) 141cdf0e10cSrcweir { 142cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 143cdf0e10cSrcweir idlDir + "\". An SDK is required, please specify " + 144cdf0e10cSrcweir "the path to a valid SDK installation."); 145cdf0e10cSrcweir continue; 146cdf0e10cSrcweir } 147cdf0e10cSrcweir 148cdf0e10cSrcweir if (aFileSystemObject.FileExists(sHome + "\\lib\\stlport_vc71_stldebug.lib")) { 149cdf0e10cSrcweir stldebug="_stldebug"; 150cdf0e10cSrcweir } 151cdf0e10cSrcweir 152cdf0e10cSrcweir return sHome; 153cdf0e10cSrcweir } 154cdf0e10cSrcweir} 155cdf0e10cSrcweir 156cdf0e10cSrcweirfunction getOfficeOrUre() 157cdf0e10cSrcweir{ 158cdf0e10cSrcweir var suggestion = "Office"; 159cdf0e10cSrcweir var choice; 160cdf0e10cSrcweir while (choice != "office" && choice != "ure") { 161cdf0e10cSrcweir stdout.Write( 162cdf0e10cSrcweir "\n Use an installed Office or an installed UNO Runtime" 163cdf0e10cSrcweir + " Environment (Office/URE) [" + suggestion + "]:"); 164cdf0e10cSrcweir choice = stdin.ReadLine(); 165cdf0e10cSrcweir if (choice == "") { 166cdf0e10cSrcweir choice = suggestion; 167cdf0e10cSrcweir } 168cdf0e10cSrcweir choice = choice.toLowerCase(); 169cdf0e10cSrcweir } 170cdf0e10cSrcweir return choice; 171cdf0e10cSrcweir} 172cdf0e10cSrcweir 173cdf0e10cSrcweirfunction getOfficeHome() 174cdf0e10cSrcweir{ 175cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OFFICE_HOME"); 176cdf0e10cSrcweir if (sSuggestedHome.length == 0) 177cdf0e10cSrcweir { 178cdf0e10cSrcweir try { 179*7477dbb9SJürgen Schmidt sSuggestedHome = WshShell.RegRead(regKeyOfficeCurrentUser6432Node); 180*7477dbb9SJürgen Schmidt //The registry entry points to the program folder but we need the 181*7477dbb9SJürgen Schmidt //installation folder 182cdf0e10cSrcweir } catch(exc) {} 183cdf0e10cSrcweir if (sSuggestedHome.length == 0) 184*7477dbb9SJürgen Schmidt { 185*7477dbb9SJürgen Schmidt try { 186*7477dbb9SJürgen Schmidt sSuggestedHome = WshShell.RegRead(regKeyOfficeLocaleMachine6432Node); 187*7477dbb9SJürgen Schmidt //The registry entry points to the program folder but we need 188*7477dbb9SJürgen Schmidt //the installation folder 189*7477dbb9SJürgen Schmidt } catch (exc) {} 190*7477dbb9SJürgen Schmidt } 191*7477dbb9SJürgen Schmidt if (sSuggestedHome.length == 0) 192cdf0e10cSrcweir { 193cdf0e10cSrcweir try { 194cdf0e10cSrcweir sSuggestedHome = WshShell.RegRead(regKeyOfficeLocaleMachine); 195cdf0e10cSrcweir //The registry entry points to the program folder but we need 196*7477dbb9SJürgen Schmidt //the installation folder 197*7477dbb9SJürgen Schmidt } catch (exc) {} 198*7477dbb9SJürgen Schmidt } 199*7477dbb9SJürgen Schmidt if (sSuggestedHome.length == 0) 200*7477dbb9SJürgen Schmidt { 201*7477dbb9SJürgen Schmidt try { 202*7477dbb9SJürgen Schmidt sSuggestedHome = WshShell.RegRead(regKeyOfficeLocaleMachine); 203*7477dbb9SJürgen Schmidt //The registry entry points to the program folder but we need 204*7477dbb9SJürgen Schmidt //the installation folder 205cdf0e10cSrcweir } catch (exc) {} 206cdf0e10cSrcweir } 207cdf0e10cSrcweir 208cdf0e10cSrcweir var index=0; 209cdf0e10cSrcweir if ((index = sSuggestedHome.lastIndexOf("\\")) != -1) 210cdf0e10cSrcweir sSuggestedHome = sSuggestedHome.substr(0, index); 211cdf0e10cSrcweir 212cdf0e10cSrcweir if (sSuggestedHome.length == 0) 213cdf0e10cSrcweir sSuggestedHome = searchOffice(); 214cdf0e10cSrcweir } 215cdf0e10cSrcweir 216cdf0e10cSrcweir while(true) 217cdf0e10cSrcweir { 218cdf0e10cSrcweir stdout.Write("\n Enter the Office base installation directory [" + 219cdf0e10cSrcweir sSuggestedHome + "]:"); 220cdf0e10cSrcweir var sHome = stdin.ReadLine(); 221cdf0e10cSrcweir if (sHome.length == 0) 222cdf0e10cSrcweir { 223cdf0e10cSrcweir //No user input, use default. 224cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 225cdf0e10cSrcweir { 226cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 227cdf0e10cSrcweir sSuggestedHome + "\" An office installation is " + 228cdf0e10cSrcweir "required, please specify the path to a valid " + 229cdf0e10cSrcweir "office installation."); 230cdf0e10cSrcweir sSuggestedHome = ""; 231cdf0e10cSrcweir continue; 232cdf0e10cSrcweir } 233cdf0e10cSrcweir sHome = sSuggestedHome; 234cdf0e10cSrcweir } else 235cdf0e10cSrcweir { 236cdf0e10cSrcweir //validate the user input 237cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 238cdf0e10cSrcweir { 239cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 240cdf0e10cSrcweir "\" does not exist. Please specify the path to " + 241cdf0e10cSrcweir "a valid office installation."); 242cdf0e10cSrcweir continue; 243cdf0e10cSrcweir } 244cdf0e10cSrcweir } 245cdf0e10cSrcweir //Check if this is a valid office installtion folder by looking for the 246cdf0e10cSrcweir //program sub-directory 247cdf0e10cSrcweir var progDir = sHome + "\\program"; 248cdf0e10cSrcweir if (! aFileSystemObject.FolderExists(progDir)) 249cdf0e10cSrcweir { 250cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 251cdf0e10cSrcweir progDir + "\". An office installation is required, " + 252cdf0e10cSrcweir "please specify the path to a valid office " + 253cdf0e10cSrcweir "installation."); 254cdf0e10cSrcweir continue; 255cdf0e10cSrcweir } 256cdf0e10cSrcweir return sHome; 257cdf0e10cSrcweir } 258cdf0e10cSrcweir} 259cdf0e10cSrcweir 260cdf0e10cSrcweirfunction searchOffice() 261cdf0e10cSrcweir{ 262cdf0e10cSrcweir var tmp = oo_sdk_home; 263cdf0e10cSrcweir var officepath =""; 264cdf0e10cSrcweir var index=-1; 265cdf0e10cSrcweir 266*7477dbb9SJürgen Schmidt if ((index = tmp.lastIndexOf("\\sdk")) != -1) { 267cdf0e10cSrcweir tmp = tmp.substr(0, index); 268cdf0e10cSrcweir } 269cdf0e10cSrcweir 270cdf0e10cSrcweir if (aFileSystemObject.FileExists(tmp + "\\program\\soffice.exe")) { 271cdf0e10cSrcweir return tmp; 272cdf0e10cSrcweir } 273cdf0e10cSrcweir 274cdf0e10cSrcweir return ""; 275cdf0e10cSrcweir} 276cdf0e10cSrcweir 277cdf0e10cSrcweir 278cdf0e10cSrcweirfunction getOfficeBaseHome() 279cdf0e10cSrcweir{ 280cdf0e10cSrcweir var officebase = oo_sdk_home; 281cdf0e10cSrcweir var index=officebase.lastIndexOf("\\"); 282cdf0e10cSrcweir 283cdf0e10cSrcweir officebase = officebase.substr(0, index); 284cdf0e10cSrcweir 285cdf0e10cSrcweir return officebase; 286cdf0e10cSrcweir} 287cdf0e10cSrcweir 288cdf0e10cSrcweirfunction getMakeHome() 289cdf0e10cSrcweir{ 290cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_MAKE_HOME"); 291cdf0e10cSrcweir 292cdf0e10cSrcweir while(true) 293cdf0e10cSrcweir { 294cdf0e10cSrcweir stdout.Write("\n Enter GNU make (3.79.1 or higher) tools directory [" + 295cdf0e10cSrcweir sSuggestedHome + "]:"); 296cdf0e10cSrcweir var sHome = stdin.ReadLine(); 297cdf0e10cSrcweir if (sHome.length == 0) 298cdf0e10cSrcweir { 299cdf0e10cSrcweir //No user input, use default. 300cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 301cdf0e10cSrcweir { 302cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 303cdf0e10cSrcweir sSuggestedHome + "\". GNU make is required, " + 304cdf0e10cSrcweir "please specify a GNU make tools directory."); 305cdf0e10cSrcweir sSuggestedHome = ""; 306cdf0e10cSrcweir continue; 307cdf0e10cSrcweir } 308cdf0e10cSrcweir sHome = sSuggestedHome; 309cdf0e10cSrcweir } else 310cdf0e10cSrcweir { 311cdf0e10cSrcweir //validate the user input 312cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 313cdf0e10cSrcweir { 314cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 315cdf0e10cSrcweir "\" does not exist. GNU make is required, " + 316cdf0e10cSrcweir "please specify a GNU make tools directory."); 317cdf0e10cSrcweir continue; 318cdf0e10cSrcweir } 319cdf0e10cSrcweir } 320cdf0e10cSrcweir //Check for the make executable 321cdf0e10cSrcweir var sMakePath = sHome + "\\make.exe"; 322cdf0e10cSrcweir if (! aFileSystemObject.FileExists(sMakePath)) 323cdf0e10cSrcweir { 324cdf0e10cSrcweir sMakePath = sHome + "\\mingw32-make.exe"; 325cdf0e10cSrcweir } 326cdf0e10cSrcweir if (! aFileSystemObject.FileExists(sMakePath)) 327cdf0e10cSrcweir { 328cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find \"" + sMakePath + 329cdf0e10cSrcweir "\". GNU make is required, please specify a GNU " + 330cdf0e10cSrcweir "make tools directory."); 331cdf0e10cSrcweir continue; 332cdf0e10cSrcweir } 333cdf0e10cSrcweir return sHome; 334cdf0e10cSrcweir } 335cdf0e10cSrcweir} 336cdf0e10cSrcweir 337cdf0e10cSrcweirfunction getZipHome() 338cdf0e10cSrcweir{ 339cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_ZIP_HOME"); 340*7477dbb9SJürgen Schmidt 341*7477dbb9SJürgen Schmidt if (sSuggestedHome.length == 0 && oo_sdk_make_home.length > 0) { 342*7477dbb9SJürgen Schmidt sSuggestedHome = oo_sdk_make_home; 343*7477dbb9SJürgen Schmidt } 344cdf0e10cSrcweir 345cdf0e10cSrcweir while(true) 346cdf0e10cSrcweir { 347cdf0e10cSrcweir stdout.Write("\n Enter a zip (2.3 or higher) tools directory [" + 348cdf0e10cSrcweir sSuggestedHome + "]:"); 349cdf0e10cSrcweir var sHome = stdin.ReadLine(); 350cdf0e10cSrcweir if (sHome.length == 0) 351cdf0e10cSrcweir { 352cdf0e10cSrcweir //No user input, use default. 353cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 354cdf0e10cSrcweir { 355cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 356cdf0e10cSrcweir sSuggestedHome + "\". zip is required, please " + 357cdf0e10cSrcweir "specify a zip tools directory."); 358cdf0e10cSrcweir sSuggestedHome = ""; 359cdf0e10cSrcweir continue; 360cdf0e10cSrcweir } 361cdf0e10cSrcweir sHome = sSuggestedHome; 362cdf0e10cSrcweir } 363cdf0e10cSrcweir else 364cdf0e10cSrcweir { 365cdf0e10cSrcweir //validate the user input 366cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 367cdf0e10cSrcweir { 368cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 369cdf0e10cSrcweir "\" does not exist. zip is required, please " + 370cdf0e10cSrcweir "specify a zip tools directory."); 371cdf0e10cSrcweir continue; 372cdf0e10cSrcweir } 373cdf0e10cSrcweir } 374cdf0e10cSrcweir //Check for the make executable 375cdf0e10cSrcweir var sZipPath = sHome + "\\zip.exe"; 376cdf0e10cSrcweir if (! aFileSystemObject.FileExists(sZipPath)) 377cdf0e10cSrcweir { 378cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find \"" + sZipPath + 379cdf0e10cSrcweir "\". zip is required, please specify a zip tools " + 380cdf0e10cSrcweir "directory."); 381cdf0e10cSrcweir continue; 382cdf0e10cSrcweir } 383cdf0e10cSrcweir return sHome; 384cdf0e10cSrcweir } 385cdf0e10cSrcweir} 386cdf0e10cSrcweir 387985d02c7SAriel Constenla-Hailefunction getCatHome() 388985d02c7SAriel Constenla-Haile{ 389985d02c7SAriel Constenla-Haile var sSuggestedHome = WshSysEnv("OO_SDK_CAT_HOME"); 390985d02c7SAriel Constenla-Haile 391*7477dbb9SJürgen Schmidt if (sSuggestedHome.length == 0 && oo_sdk_make_home.length > 0) { 392*7477dbb9SJürgen Schmidt sSuggestedHome = oo_sdk_make_home; 393*7477dbb9SJürgen Schmidt } 394*7477dbb9SJürgen Schmidt 395985d02c7SAriel Constenla-Haile while(true) 396985d02c7SAriel Constenla-Haile { 397985d02c7SAriel Constenla-Haile stdout.Write("\n Enter a cat (2.0 or higher) tools directory [" + 398985d02c7SAriel Constenla-Haile sSuggestedHome + "]:"); 399985d02c7SAriel Constenla-Haile var sHome = stdin.ReadLine(); 400985d02c7SAriel Constenla-Haile if (sHome.length == 0) 401985d02c7SAriel Constenla-Haile { 402985d02c7SAriel Constenla-Haile //No user input, use default. 403985d02c7SAriel Constenla-Haile if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 404985d02c7SAriel Constenla-Haile { 405985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: Could not find directory \"" + 406985d02c7SAriel Constenla-Haile sSuggestedHome + "\". cat is required, please " + 407985d02c7SAriel Constenla-Haile "specify a cat tools directory." + 408985d02c7SAriel Constenla-Haile "\nYou can get cat from " + 409985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 410985d02c7SAriel Constenla-Haile sSuggestedHome = ""; 411985d02c7SAriel Constenla-Haile continue; 412985d02c7SAriel Constenla-Haile } 413985d02c7SAriel Constenla-Haile sHome = sSuggestedHome; 414985d02c7SAriel Constenla-Haile } 415985d02c7SAriel Constenla-Haile else 416985d02c7SAriel Constenla-Haile { 417985d02c7SAriel Constenla-Haile //validate the user input 418985d02c7SAriel Constenla-Haile if ( ! aFileSystemObject.FolderExists(sHome)) 419985d02c7SAriel Constenla-Haile { 420985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: The directory \"" + sHome + 421985d02c7SAriel Constenla-Haile "\" does not exist. cat is required, please " + 422985d02c7SAriel Constenla-Haile "specify a cat tools directory." + 423985d02c7SAriel Constenla-Haile "\nYou can get cat from " + 424985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 425985d02c7SAriel Constenla-Haile continue; 426985d02c7SAriel Constenla-Haile } 427985d02c7SAriel Constenla-Haile } 428985d02c7SAriel Constenla-Haile //Check for the make executable 429985d02c7SAriel Constenla-Haile var sCatPath = sHome + "\\cat.exe"; 430985d02c7SAriel Constenla-Haile if (! aFileSystemObject.FileExists(sCatPath)) 431985d02c7SAriel Constenla-Haile { 432985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: Could not find \"" + sCatPath + 433985d02c7SAriel Constenla-Haile "\". cat is required, please specify a cat tools " + 434985d02c7SAriel Constenla-Haile "directory." + 435985d02c7SAriel Constenla-Haile "\nYou can get cat from " + 436985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 437985d02c7SAriel Constenla-Haile continue; 438985d02c7SAriel Constenla-Haile } 439985d02c7SAriel Constenla-Haile return sHome; 440985d02c7SAriel Constenla-Haile } 441985d02c7SAriel Constenla-Haile} 442985d02c7SAriel Constenla-Haile 443985d02c7SAriel Constenla-Hailefunction getSedHome() 444985d02c7SAriel Constenla-Haile{ 445985d02c7SAriel Constenla-Haile var sSuggestedHome = WshSysEnv("OO_SDK_SED_HOME"); 446985d02c7SAriel Constenla-Haile 447*7477dbb9SJürgen Schmidt if (sSuggestedHome.length == 0 && oo_sdk_make_home.length > 0) { 448*7477dbb9SJürgen Schmidt sSuggestedHome = oo_sdk_make_home; 449*7477dbb9SJürgen Schmidt } 450*7477dbb9SJürgen Schmidt 451985d02c7SAriel Constenla-Haile while(true) 452985d02c7SAriel Constenla-Haile { 453985d02c7SAriel Constenla-Haile stdout.Write("\n Enter a sed (3.02 or higher) tools directory [" + 454985d02c7SAriel Constenla-Haile sSuggestedHome + "]:"); 455985d02c7SAriel Constenla-Haile var sHome = stdin.ReadLine(); 456985d02c7SAriel Constenla-Haile if (sHome.length == 0) 457985d02c7SAriel Constenla-Haile { 458985d02c7SAriel Constenla-Haile //No user input, use default. 459985d02c7SAriel Constenla-Haile if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 460985d02c7SAriel Constenla-Haile { 461985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: Could not find directory \"" + 462985d02c7SAriel Constenla-Haile sSuggestedHome + "\". sed is required, please " + 463985d02c7SAriel Constenla-Haile "specify a sed tools directory." + 464985d02c7SAriel Constenla-Haile "\nYou can get sed from " + 465985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 466985d02c7SAriel Constenla-Haile sSuggestedHome = ""; 467985d02c7SAriel Constenla-Haile continue; 468985d02c7SAriel Constenla-Haile } 469985d02c7SAriel Constenla-Haile sHome = sSuggestedHome; 470985d02c7SAriel Constenla-Haile } 471985d02c7SAriel Constenla-Haile else 472985d02c7SAriel Constenla-Haile { 473985d02c7SAriel Constenla-Haile //validate the user input 474985d02c7SAriel Constenla-Haile if ( ! aFileSystemObject.FolderExists(sHome)) 475985d02c7SAriel Constenla-Haile { 476985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: The directory \"" + sHome + 477985d02c7SAriel Constenla-Haile "\" does not exist. sed is required, please " + 478985d02c7SAriel Constenla-Haile "specify a sed tools directory." + 479985d02c7SAriel Constenla-Haile "\nYou can get sed from " + 480985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 481985d02c7SAriel Constenla-Haile continue; 482985d02c7SAriel Constenla-Haile } 483985d02c7SAriel Constenla-Haile } 484985d02c7SAriel Constenla-Haile //Check for the make executable 485985d02c7SAriel Constenla-Haile var sSedPath = sHome + "\\sed.exe"; 486985d02c7SAriel Constenla-Haile if (! aFileSystemObject.FileExists(sSedPath)) 487985d02c7SAriel Constenla-Haile { 488985d02c7SAriel Constenla-Haile stdout.WriteLine("\n Error: Could not find \"" + sSedPath + 489985d02c7SAriel Constenla-Haile "\". sed is required, please specify a sed tools " + 490985d02c7SAriel Constenla-Haile "directory." + 491985d02c7SAriel Constenla-Haile "\nYou can get sed from " + 492985d02c7SAriel Constenla-Haile "http://sourceforge.net/projects/unxutils/files/latest/download"); 493985d02c7SAriel Constenla-Haile continue; 494985d02c7SAriel Constenla-Haile } 495985d02c7SAriel Constenla-Haile return sHome; 496985d02c7SAriel Constenla-Haile } 497985d02c7SAriel Constenla-Haile} 498985d02c7SAriel Constenla-Haile 499cdf0e10cSrcweirfunction getCppHome() 500cdf0e10cSrcweir{ 501cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_CPP_HOME"); 502cdf0e10cSrcweir if (sSuggestedHome.length == 0) 503cdf0e10cSrcweir { 504cdf0e10cSrcweir var sVC=""; 505cdf0e10cSrcweir try { 506cdf0e10cSrcweir sVC = WshShell.RegRead(regKeyVCExpress90); 507cdf0e10cSrcweir }catch (exc) {} 508cdf0e10cSrcweir if (sVC.length == 0) 509cdf0e10cSrcweir { 510b3ba5bc7SJürgen Schmidt try { 511b3ba5bc7SJürgen Schmidt sVC = WshShell.RegRead(regKeyVCExpress90_2); 512b3ba5bc7SJürgen Schmidt }catch (exc) {} 513b3ba5bc7SJürgen Schmidt } 514b3ba5bc7SJürgen Schmidt if (sVC.length == 0) 515b3ba5bc7SJürgen Schmidt { 516b3ba5bc7SJürgen Schmidt try { 517b3ba5bc7SJürgen Schmidt sVC = WshShell.RegRead(regKeyVC90); 518b3ba5bc7SJürgen Schmidt }catch (exc) {} 519b3ba5bc7SJürgen Schmidt } 520b3ba5bc7SJürgen Schmidt // check Windows SDK if VC 9 521cdf0e10cSrcweir if (sVC.length > 0) 522cdf0e10cSrcweir { 523cdf0e10cSrcweir oo_sdk_manifest_used="true"; 524cdf0e10cSrcweir try { 525cdf0e10cSrcweir oo_sdk_windowssdk = WshShell.RegRead(regKeyWindowsSDK); 526cdf0e10cSrcweir }catch (exc) {} 527cdf0e10cSrcweir } 528cdf0e10cSrcweir if (sVC.length == 0) 529cdf0e10cSrcweir { 530cdf0e10cSrcweir try { 531cdf0e10cSrcweir sVC = WshShell.RegRead(regKeyVCExpress80); 532cdf0e10cSrcweir }catch (exc) {} 533cdf0e10cSrcweir if (sVC.length > 0) 534cdf0e10cSrcweir oo_sdk_manifest_used="true"; 535cdf0e10cSrcweir } 536cdf0e10cSrcweir if (sVC.length == 0) 537cdf0e10cSrcweir { 538cdf0e10cSrcweir try { 539cdf0e10cSrcweir sVC = WshShell.RegRead(regKeyVC80); 540cdf0e10cSrcweir }catch (exc) {} 541cdf0e10cSrcweir if (sVC.length > 0) 542cdf0e10cSrcweir oo_sdk_manifest_used="true"; 543cdf0e10cSrcweir } 544cdf0e10cSrcweir if (sVC.length == 0) 545cdf0e10cSrcweir { 546cdf0e10cSrcweir try { 547cdf0e10cSrcweir sVC = WshShell.RegRead(regKeyVC71); 548cdf0e10cSrcweir }catch (exc) {} 549cdf0e10cSrcweir } 550cdf0e10cSrcweir if (sVC.length > 0) 551cdf0e10cSrcweir { 552cdf0e10cSrcweir sVC += "bin"; 553cdf0e10cSrcweir if (aFileSystemObject.FileExists(sVC + "\\cl.exe")) 554cdf0e10cSrcweir sSuggestedHome = sVC; 555cdf0e10cSrcweir } 556cdf0e10cSrcweir } 557cdf0e10cSrcweir 558cdf0e10cSrcweir var bSkip = false; 559cdf0e10cSrcweir while(true) 560cdf0e10cSrcweir { 561cdf0e10cSrcweir stdout.Write("\n Enter the directory of the C++ compiler (optional) [" + 562cdf0e10cSrcweir sSuggestedHome + "]:"); 563cdf0e10cSrcweir var sHome = stdin.ReadLine(); 564cdf0e10cSrcweir if (sHome.length == 0) 565cdf0e10cSrcweir { 566cdf0e10cSrcweir //No user input, check OO_SDK_CPP_HOME or suggested value 567cdf0e10cSrcweir if ( sSuggestedHome.length == 0 ) { 568cdf0e10cSrcweir bSkip = true; 569cdf0e10cSrcweir } else { 570cdf0e10cSrcweir if ( !aFileSystemObject.FolderExists(sSuggestedHome) ) 571cdf0e10cSrcweir { 572cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 573cdf0e10cSrcweir sSuggestedHome + "\"."); 574cdf0e10cSrcweir sSuggestedHome = ""; 575cdf0e10cSrcweir bSkip = true; 576cdf0e10cSrcweir } 577cdf0e10cSrcweir } 578cdf0e10cSrcweir 579cdf0e10cSrcweir sHome = sSuggestedHome; 580cdf0e10cSrcweir } else 581cdf0e10cSrcweir { 582cdf0e10cSrcweir //validate the user input 583cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 584cdf0e10cSrcweir { 585cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 586cdf0e10cSrcweir sHome + "\"."); 587cdf0e10cSrcweir bSkip = true; 588cdf0e10cSrcweir } 589cdf0e10cSrcweir } 590cdf0e10cSrcweir 591cdf0e10cSrcweir if ( !bSkip) { 592cdf0e10cSrcweir //Check if the C++ compiler exist 593cdf0e10cSrcweir var cl = sHome + "\\cl.exe"; 594cdf0e10cSrcweir var mt = sHome + "\\mt.exe"; 595cdf0e10cSrcweir 596cdf0e10cSrcweir if (! aFileSystemObject.FileExists(cl)) 597cdf0e10cSrcweir { 598cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find the C++ compiler \"" 599cdf0e10cSrcweir + cl + "\"."); 600cdf0e10cSrcweir sHome = ""; 601cdf0e10cSrcweir bSkip = true; 602cdf0e10cSrcweir } else { 603cdf0e10cSrcweir if (aFileSystemObject.FileExists(mt)) { 604cdf0e10cSrcweir oo_sdk_vc8_used="true"; 605cdf0e10cSrcweir } 606cdf0e10cSrcweir } 607cdf0e10cSrcweir } 608cdf0e10cSrcweir 609cdf0e10cSrcweir if ( bSkip ) { 610cdf0e10cSrcweir if ( skipChoice("the C++ compiler") ) { 611cdf0e10cSrcweir return ""; 612cdf0e10cSrcweir } else { 613cdf0e10cSrcweir bSkip = false; 614cdf0e10cSrcweir continue; 615cdf0e10cSrcweir } 616cdf0e10cSrcweir } 617cdf0e10cSrcweir 618cdf0e10cSrcweir return sHome; 619cdf0e10cSrcweir } 620cdf0e10cSrcweir} 621cdf0e10cSrcweir 622cdf0e10cSrcweirfunction getCliHome() 623cdf0e10cSrcweir{ 624cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_CLI_HOME"); 625cdf0e10cSrcweir 626cdf0e10cSrcweir if (sSuggestedHome.length == 0) 627cdf0e10cSrcweir { 628cdf0e10cSrcweir try { 629cdf0e10cSrcweir var _ver = WshShell.RegRead(regKeyDotNet2_0); 630cdf0e10cSrcweir if (_ver.length > 0) 631cdf0e10cSrcweir { 632cdf0e10cSrcweir sSuggestedHome = WshShell.RegRead(regKeyDotNetInstallRoot); 633cdf0e10cSrcweir sSuggestedHome += sDirDotNet2_0; 634cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 635cdf0e10cSrcweir sSuggestedHome = ""; 636cdf0e10cSrcweir } 637cdf0e10cSrcweir 638cdf0e10cSrcweir if (sSuggestedHome.length == 0) 639cdf0e10cSrcweir { 640cdf0e10cSrcweir _ver = WshShell.RegRead(regKeyDotNet1_1); 641cdf0e10cSrcweir if (_ver.length > 0) 642cdf0e10cSrcweir { 643cdf0e10cSrcweir sSuggestedHome = WshShell.RegRead(regKeyDotNetInstallRoot); 644cdf0e10cSrcweir sSuggestedHome += sDirDotNet1_1; 645cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome)) 646cdf0e10cSrcweir sSuggestedHome = ""; 647cdf0e10cSrcweir } 648cdf0e10cSrcweir } 649cdf0e10cSrcweir } catch (exc) {} 650cdf0e10cSrcweir } 651cdf0e10cSrcweir 652cdf0e10cSrcweir var bSkip = false; 653cdf0e10cSrcweir while(true) 654cdf0e10cSrcweir { 655cdf0e10cSrcweir stdout.Write("\n Enter the directory of the C# and VB.NET compilers (optional) [" + sSuggestedHome + "]:"); 656cdf0e10cSrcweir var sHome = stdin.ReadLine(); 657cdf0e10cSrcweir if (sHome.length == 0) 658cdf0e10cSrcweir { 659cdf0e10cSrcweir //No user input, check OO_SDK_CLI_HOME or suggested value 660cdf0e10cSrcweir if ( sSuggestedHome.length == 0 ) { 661cdf0e10cSrcweir bSkip = true; 662cdf0e10cSrcweir } else { 663cdf0e10cSrcweir if ( !aFileSystemObject.FolderExists(sSuggestedHome) ) 664cdf0e10cSrcweir { 665cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 666cdf0e10cSrcweir sSuggestedHome + "\"."); 667cdf0e10cSrcweir sSuggestedHome = ""; 668cdf0e10cSrcweir bSkip = true; 669cdf0e10cSrcweir } 670cdf0e10cSrcweir } 671cdf0e10cSrcweir 672cdf0e10cSrcweir sHome = sSuggestedHome; 673cdf0e10cSrcweir } 674cdf0e10cSrcweir else 675cdf0e10cSrcweir { 676cdf0e10cSrcweir //validate the user input 677cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 678cdf0e10cSrcweir { 679cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 680cdf0e10cSrcweir "\" does not exist."); 681cdf0e10cSrcweir bSkip = true; 682cdf0e10cSrcweir } 683cdf0e10cSrcweir } 684cdf0e10cSrcweir 685cdf0e10cSrcweir if ( !bSkip ) { 686cdf0e10cSrcweir //Check if the C# and VB.NET compiler exist 687cdf0e10cSrcweir var csc = sHome + "\\csc.exe"; 688cdf0e10cSrcweir var vbc = sHome + "\\vbc.exe"; 689cdf0e10cSrcweir 690cdf0e10cSrcweir if (! aFileSystemObject.FileExists(csc)) 691cdf0e10cSrcweir { 692cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find the C# compiler \"" + 693cdf0e10cSrcweir csc + "\"."); 694cdf0e10cSrcweir bSkip = true; 695cdf0e10cSrcweir } 696cdf0e10cSrcweir if (! aFileSystemObject.FileExists(vbc)) 697cdf0e10cSrcweir { 698cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find the VB.NET compiler \"" + 699cdf0e10cSrcweir vbc + "\"."); 700cdf0e10cSrcweir bSkip = true; 701cdf0e10cSrcweir } 702cdf0e10cSrcweir } 703cdf0e10cSrcweir 704cdf0e10cSrcweir if ( bSkip ) { 705cdf0e10cSrcweir if ( skipChoice("the C# and VB.NET compilers") ) { 706cdf0e10cSrcweir return ""; 707cdf0e10cSrcweir } else { 708cdf0e10cSrcweir bSkip = false; 709cdf0e10cSrcweir continue; 710cdf0e10cSrcweir } 711cdf0e10cSrcweir } 712cdf0e10cSrcweir 713cdf0e10cSrcweir return sHome; 714cdf0e10cSrcweir } 715cdf0e10cSrcweir} 716cdf0e10cSrcweir 717cdf0e10cSrcweirfunction getJavaHome() 718cdf0e10cSrcweir{ 719cdf0e10cSrcweir var sSuggestedHome = WshSysEnv("OO_SDK_JAVA_HOME"); 720cdf0e10cSrcweir if (sSuggestedHome.length == 0) 721cdf0e10cSrcweir { 722cdf0e10cSrcweir try { 723cdf0e10cSrcweir var currentVersion = WshShell.RegRead(regKeyJDK + "CurrentVersion"); 724cdf0e10cSrcweir if (currentVersion.length > 0) 725cdf0e10cSrcweir { 726cdf0e10cSrcweir sSuggestedHome = WshShell.RegRead(regKeyJDK + currentVersion + 727cdf0e10cSrcweir "\\JavaHome"); 728cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sSuggestedHome) ) 729cdf0e10cSrcweir sSuggestedHome = ""; 730cdf0e10cSrcweir } 731cdf0e10cSrcweir } catch (exc) {} 732cdf0e10cSrcweir } 733cdf0e10cSrcweir 734cdf0e10cSrcweir var bSkip = false; 735cdf0e10cSrcweir while(true) 736cdf0e10cSrcweir { 737cdf0e10cSrcweir stdout.Write("\n Enter JAVA SDK (1.4.1_01 or higher) installation directory (optional) [" + sSuggestedHome + "]:"); 738cdf0e10cSrcweir var sHome = stdin.ReadLine(); 739cdf0e10cSrcweir if (sHome.length == 0) 740cdf0e10cSrcweir { 741cdf0e10cSrcweir //No user input, check OO_SDK_JAVA_HOME or suggested value 742cdf0e10cSrcweir if ( sSuggestedHome.length == 0 ) { 743cdf0e10cSrcweir bSkip = true; 744cdf0e10cSrcweir } else { 745cdf0e10cSrcweir if ( !aFileSystemObject.FolderExists(sSuggestedHome) ) 746cdf0e10cSrcweir { 747cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 748cdf0e10cSrcweir sSuggestedHome + "\"."); 749cdf0e10cSrcweir sSuggestedHome = ""; 750cdf0e10cSrcweir bSkip=true; 751cdf0e10cSrcweir } 752cdf0e10cSrcweir } 753cdf0e10cSrcweir 754cdf0e10cSrcweir sHome = sSuggestedHome; 755cdf0e10cSrcweir } else 756cdf0e10cSrcweir { 757cdf0e10cSrcweir //validate the user input 758cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sHome)) 759cdf0e10cSrcweir { 760cdf0e10cSrcweir stdout.WriteLine("\n Error: The directory \"" + sHome + 761cdf0e10cSrcweir "\" does not exist."); 762cdf0e10cSrcweir bSkip = true; 763cdf0e10cSrcweir } 764cdf0e10cSrcweir } 765cdf0e10cSrcweir 766cdf0e10cSrcweir if ( !bSkip) { 767cdf0e10cSrcweir //Check if this is an sdk folder by looking for the javac compiler 768cdf0e10cSrcweir var javacompiler = sHome + "\\bin\\javac.exe"; 769cdf0e10cSrcweir if (! aFileSystemObject.FileExists(javacompiler)) 770cdf0e10cSrcweir { 771cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find \"" + 772cdf0e10cSrcweir javacompiler + "\"."); 773cdf0e10cSrcweir bSkip = true; 774cdf0e10cSrcweir } 775cdf0e10cSrcweir } 776cdf0e10cSrcweir 777cdf0e10cSrcweir if ( bSkip ) { 778cdf0e10cSrcweir if ( skipChoice("the Java SDK") ) { 779cdf0e10cSrcweir return ""; 780cdf0e10cSrcweir } else { 781cdf0e10cSrcweir bSkip = false; 782cdf0e10cSrcweir continue; 783cdf0e10cSrcweir } 784cdf0e10cSrcweir } 785cdf0e10cSrcweir 786cdf0e10cSrcweir return sHome; 787cdf0e10cSrcweir } 788cdf0e10cSrcweir} 789cdf0e10cSrcweir 790cdf0e10cSrcweirfunction getOutputDir() 791cdf0e10cSrcweir{ 792cdf0e10cSrcweir var defaultdir = "c:\\" + oo_sdk_name; 793cdf0e10cSrcweir var sSuggestedDir = WshSysEnv("OO_SDK_OUT"); 794cdf0e10cSrcweir if (sSuggestedDir.length == 0) 795cdf0e10cSrcweir sSuggestedDir = defaultdir; 796cdf0e10cSrcweir 797cdf0e10cSrcweir var bSkip = false; 798cdf0e10cSrcweir while(true) 799cdf0e10cSrcweir { 800cdf0e10cSrcweir stdout.Write( 801cdf0e10cSrcweir "\n Default output directory is the \"c:\\" + oo_sdk_name + "\".\n" + 802cdf0e10cSrcweir " Enter an existent directory if you prefer a different one. But note" + 803cdf0e10cSrcweir " that only\n a path without spaces is allowed because of a" + 804cdf0e10cSrcweir " limitation of gnu make. (optional) [" + sSuggestedDir + "]:"); 805cdf0e10cSrcweir var sDir = stdin.ReadLine(); 806cdf0e10cSrcweir if (sDir.length == 0) 807cdf0e10cSrcweir { 808cdf0e10cSrcweir //No user input, check OO_SDK_OUT or suggested value 809cdf0e10cSrcweir if ( sSuggestedDir.length == 0 ) { 810cdf0e10cSrcweir bSkip = true; 811cdf0e10cSrcweir } else { 812cdf0e10cSrcweir if (sSuggestedDir == oo_user_sdk_dir || sSuggestedDir == defaultdir) { 813cdf0e10cSrcweir var fso = new ActiveXObject("Scripting.FileSystemObject"); 814cdf0e10cSrcweir if ( !fso.FolderExists(sSuggestedDir) ) 815cdf0e10cSrcweir fso.CreateFolder(sSuggestedDir); 816cdf0e10cSrcweir } 817cdf0e10cSrcweir if ( !aFileSystemObject.FolderExists(sSuggestedDir) ) 818cdf0e10cSrcweir { 819cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 820cdf0e10cSrcweir sSuggestedDir + "\"."); 821cdf0e10cSrcweir sSuggestedDir = ""; 822cdf0e10cSrcweir bSkip = true; 823cdf0e10cSrcweir } 824cdf0e10cSrcweir } 825cdf0e10cSrcweir 826cdf0e10cSrcweir sDir = sSuggestedDir; 827cdf0e10cSrcweir } 828cdf0e10cSrcweir else 829cdf0e10cSrcweir { 830cdf0e10cSrcweir if (sDir.indexOf(' ') != -1) { 831cdf0e10cSrcweir stdout.WriteLine("\n Error: your specified output directory " + 832cdf0e10cSrcweir "\"" + sDir + "\" " + 833cdf0e10cSrcweir "contains one or more spaces.\n That " + 834cdf0e10cSrcweir "causes problems with gnu make. Please specifiy" + 835cdf0e10cSrcweir " a directory without spaces."); 836cdf0e10cSrcweir bSkip = true; 837cdf0e10cSrcweir } 838cdf0e10cSrcweir //validate the user input 839cdf0e10cSrcweir if ( ! aFileSystemObject.FolderExists(sDir)) 840cdf0e10cSrcweir { 841cdf0e10cSrcweir stdout.WriteLine("\n Error: Could not find directory \"" + 842cdf0e10cSrcweir sDir + "\"."); 843cdf0e10cSrcweir bSkip = true; 844cdf0e10cSrcweir } 845cdf0e10cSrcweir } 846cdf0e10cSrcweir 847cdf0e10cSrcweir if ( bSkip ) { 848cdf0e10cSrcweir if ( skipChoice("a special output directory") ) { 849cdf0e10cSrcweir return ""; 850cdf0e10cSrcweir } else { 851cdf0e10cSrcweir bSkip = false; 852cdf0e10cSrcweir continue; 853cdf0e10cSrcweir } 854cdf0e10cSrcweir } 855cdf0e10cSrcweir 856cdf0e10cSrcweir return sDir; 857cdf0e10cSrcweir } 858cdf0e10cSrcweir} 859cdf0e10cSrcweir 860cdf0e10cSrcweirfunction getAutoDeployment() 861cdf0e10cSrcweir{ 862cdf0e10cSrcweir var sSuggestedAuto = WshSysEnv("SDK_AUTO_DEPLOYMENT"); 863cdf0e10cSrcweir if (sSuggestedAuto.length == 0) 864cdf0e10cSrcweir sSuggestedAuto = "YES"; 865cdf0e10cSrcweir 866cdf0e10cSrcweir while(true) 867cdf0e10cSrcweir { 868cdf0e10cSrcweir stdout.Write("\n Automatic deployment of UNO components (YES/NO) ["+ 869cdf0e10cSrcweir sSuggestedAuto + "]:"); 870cdf0e10cSrcweir var sAuto = stdin.ReadLine(); 871cdf0e10cSrcweir if (sAuto.length == 0) 872cdf0e10cSrcweir sAuto = sSuggestedAuto; 873cdf0e10cSrcweir else 874cdf0e10cSrcweir { 875cdf0e10cSrcweir sAutoU = sAuto.toUpperCase(); 876cdf0e10cSrcweir if (sAutoU != "YES" && sAutoU != "NO") 877cdf0e10cSrcweir { 878cdf0e10cSrcweir stdout.WriteLine("\n Error: The value \"" + sAuto + "\" is " + 879cdf0e10cSrcweir "invalid. Please answer YES or NO.") 880cdf0e10cSrcweir continue; 881cdf0e10cSrcweir } 882cdf0e10cSrcweir sAuto = sAutoU; 883cdf0e10cSrcweir } 884cdf0e10cSrcweir return sAuto; 885cdf0e10cSrcweir } 886cdf0e10cSrcweir} 887cdf0e10cSrcweir 888cdf0e10cSrcweir//The function uses sp2bv.exe to obtain a file URL from a 889cdf0e10cSrcweir//system path. The URL is already escaped for use as bootstrap variable. 890cdf0e10cSrcweir//($ -> \$). Then the resulting string is escaped for use in a bat file. 891cdf0e10cSrcweir//That is % signs are made to double % (% -> %%); 892cdf0e10cSrcweirfunction makeBootstrapFileUrl(systemPath) 893cdf0e10cSrcweir{ 894cdf0e10cSrcweir var oExec = WshShell.Exec("sp2bv.exe \"" + systemPath + "\""); 895cdf0e10cSrcweir var output=""; 896cdf0e10cSrcweir while (true) 897cdf0e10cSrcweir { 898cdf0e10cSrcweir if (!oExec.StdOut.AtEndOfStream) 899cdf0e10cSrcweir { 900cdf0e10cSrcweir var next = oExec.StdOut.Read(1); 901cdf0e10cSrcweir if (next == '%') 902cdf0e10cSrcweir output += "%%"; 903cdf0e10cSrcweir else 904cdf0e10cSrcweir output += next; 905cdf0e10cSrcweir } 906cdf0e10cSrcweir else 907cdf0e10cSrcweir break; 908cdf0e10cSrcweir } 909cdf0e10cSrcweir return output; 910cdf0e10cSrcweir} 911cdf0e10cSrcweir 912cdf0e10cSrcweirfunction writeBatFile(fdir, file) 913cdf0e10cSrcweir{ 914cdf0e10cSrcweir var fso = new ActiveXObject("Scripting.FileSystemObject"); 915cdf0e10cSrcweir if ( !fso.FolderExists(fdir) ) 916cdf0e10cSrcweir fso.CreateFolder(fdir); 917cdf0e10cSrcweir var newFile = fso.CreateTextFile(file, true); 918cdf0e10cSrcweir 919cdf0e10cSrcweir newFile.Write( 920cdf0e10cSrcweir "@echo off\n" + 921cdf0e10cSrcweir "REM This script sets all enviroment variables, which\n" + 922cdf0e10cSrcweir "REM are necessary for building the examples of the Office Development Kit.\n" + 923cdf0e10cSrcweir "REM The Script was developed for the operating systems Windows.\n" + 924cdf0e10cSrcweir "REM The SDK name\n" + 925*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_NAME=openoffice4.0_sdk\"\n" + 926*7477dbb9SJürgen Schmidt "@set \"OO_SDK_NAME=" + oo_sdk_name + 927*7477dbb9SJürgen Schmidt "\"\n\n" + 928cdf0e10cSrcweir "REM Installation directory of the Software Development Kit.\n" + 929*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_HOME=C:\\Program Files\\OpenOffice\\4\\sdk\"\n" + 930*7477dbb9SJürgen Schmidt "@set \"OO_SDK_HOME=" + oo_sdk_home + 931*7477dbb9SJürgen Schmidt "\"\n\n" + 932cdf0e10cSrcweir "REM Office installation directory.\n" + 933*7477dbb9SJürgen Schmidt "REM Example: @set \"OFFICE_HOME=C:\\Program Files\\OpenOffice 4\"\n" + 934*7477dbb9SJürgen Schmidt "@set \"OFFICE_HOME=" + office_home + 935*7477dbb9SJürgen Schmidt "\"\n\n" + 936cdf0e10cSrcweir "REM Directory of the make command.\n" + 937*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_MAKE_HOME=C:\\UnxUtils\\usr\\local\\wbin\"\n" + 938*7477dbb9SJürgen Schmidt "@set \"OO_SDK_MAKE_HOME=" + oo_sdk_make_home + 939*7477dbb9SJürgen Schmidt "\"\n\n" + 940b3ba5bc7SJürgen Schmidt "REM Directory of the zip tool.\n" + 941*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_ZIP_HOME=C:\\UnxUtils\\usr\\local\\wbin\"\n" + 942*7477dbb9SJürgen Schmidt "@set \"OO_SDK_ZIP_HOME=" + oo_sdk_zip_home + 943*7477dbb9SJürgen Schmidt "\"\n\n" + 944985d02c7SAriel Constenla-Haile "REM Directory of the cat tool.\n" + 945*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_CAT_HOME=C:\\UnxUtils\\usr\\local\\wbin\"\n" + 946*7477dbb9SJürgen Schmidt "@set \"OO_SDK_CAT_HOME=" + oo_sdk_cat_home + 947*7477dbb9SJürgen Schmidt "\"\n\n" + 948985d02c7SAriel Constenla-Haile "REM Directory of the sed tool.\n" + 949*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_SED_HOME=C:\\UnxUtils\\usr\\local\\wbin\"\n" + 950*7477dbb9SJürgen Schmidt "@set \"OO_SDK_SED_HOME=" + oo_sdk_sed_home + 951*7477dbb9SJürgen Schmidt "\"\n\n" + 952cdf0e10cSrcweir "REM Directory of the C++ compiler.\n" + 953*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_CPP_HOME=C:\\Program Files\\Microsoft Visual Studio 9.0\\VC\\bin\"\n" + 954*7477dbb9SJürgen Schmidt "@set \"OO_SDK_CPP_HOME=" + oo_sdk_cpp_home + 955*7477dbb9SJürgen Schmidt "\"\n@set \"CPP_MANIFEST=" + oo_sdk_manifest_used + 956*7477dbb9SJürgen Schmidt "\"\n@set \"CPP_WINDOWS_SDK=" + oo_sdk_windowssdk + 957*7477dbb9SJürgen Schmidt "\"\n\n" + 958cdf0e10cSrcweir "REM Directory of the C# and VB.NET compilers.\n" + 959*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_CLI_HOME=C:\\WINXP\\Microsoft.NET\\Framework\\v1.0.3705\"\n" + 960*7477dbb9SJürgen Schmidt "@set \"OO_SDK_CLI_HOME=" + oo_sdk_cli_home + 961*7477dbb9SJürgen Schmidt "\"\n\n" + 962cdf0e10cSrcweir "REM Java SDK installation directory.\n" + 963*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_JAVA_HOME=C:\\Program Files\\Java\\jdk1.6.0_05\"\n" + 964*7477dbb9SJürgen Schmidt "@set \"OO_SDK_JAVA_HOME=" + oo_sdk_java_home + 965*7477dbb9SJürgen Schmidt "\"\n\n" + 966cdf0e10cSrcweir "REM Special output directory\n" + 967*7477dbb9SJürgen Schmidt "REM Example: @set \"OO_SDK_OUT=C:\\" + oo_sdk_name + "\"\n" + 968*7477dbb9SJürgen Schmidt "@set \"OO_SDK_OUT=" + oo_sdk_out + 969*7477dbb9SJürgen Schmidt "\"\n\n" + 970cdf0e10cSrcweir "REM Automatic deployment\n" + 971*7477dbb9SJürgen Schmidt "REM Example: @set \"SDK_AUTO_DEPLOYMENT=YES\"\n" + 972*7477dbb9SJürgen Schmidt "@set \"SDK_AUTO_DEPLOYMENT=" + sdk_auto_deployment + 973*7477dbb9SJürgen Schmidt "\"\n\n" + 974*7477dbb9SJürgen Schmidt "REM Check installation path for the Office Development Kit.\n" + 975cdf0e10cSrcweir "if not defined OO_SDK_HOME (\n" + 976cdf0e10cSrcweir " echo Error: the variable OO_SDK_HOME is missing!\n" + 977cdf0e10cSrcweir " goto :error\n" + 978cdf0e10cSrcweir " )\n" + 979*7477dbb9SJürgen Schmidt "\n\n" + 980cdf0e10cSrcweir "REM Check installation path for GNU make.\n" + 981cdf0e10cSrcweir "if not defined OO_SDK_MAKE_HOME (\n" + 982cdf0e10cSrcweir " echo Error: the variable OO_SDK_MAKE_HOME is missing!\n" + 983cdf0e10cSrcweir " goto :error\n" + 984cdf0e10cSrcweir " )\n" + 985cdf0e10cSrcweir "\n" + 986cdf0e10cSrcweir "REM Check installation path for the zip tool.\n" + 987cdf0e10cSrcweir "if not defined OO_SDK_ZIP_HOME (\n" + 988cdf0e10cSrcweir " echo Error: the variable OO_SDK_ZIP_HOME is missing!\n" + 989cdf0e10cSrcweir " goto :error\n" + 990cdf0e10cSrcweir " )\n" + 991cdf0e10cSrcweir "\n" + 992985d02c7SAriel Constenla-Haile "REM Check installation path for the cat tool.\n" + 993985d02c7SAriel Constenla-Haile "if not defined OO_SDK_CAT_HOME (\n" + 994985d02c7SAriel Constenla-Haile " echo Error: the variable OO_SDK_CAT_HOME is missing!\n" + 995985d02c7SAriel Constenla-Haile " goto :error\n" + 996985d02c7SAriel Constenla-Haile " )\n" + 997985d02c7SAriel Constenla-Haile "\n" + 998985d02c7SAriel Constenla-Haile "REM Check installation path for the sed tool.\n" + 999985d02c7SAriel Constenla-Haile "if not defined OO_SDK_SED_HOME (\n" + 1000985d02c7SAriel Constenla-Haile " echo Error: the variable OO_SDK_SED_HOME is missing!\n" + 1001985d02c7SAriel Constenla-Haile " goto :error\n" + 1002985d02c7SAriel Constenla-Haile " )\n" + 1003985d02c7SAriel Constenla-Haile "\n" + 1004cdf0e10cSrcweir "REM Set library path. \n" + 1005*7477dbb9SJürgen Schmidt "@set \"LIB=%OO_SDK_HOME%\\lib;%LIB%\"\n" + 1006cdf0e10cSrcweir "if defined CPP_WINDOWS_SDK (\n" + 1007*7477dbb9SJürgen Schmidt " @set \"LIB=%LIB%;%CPP_WINDOWS_SDK%\\lib\"\n" + 1008cdf0e10cSrcweir " )\n" + 1009cdf0e10cSrcweir "\n" + 1010cdf0e10cSrcweir "REM Set office program path.\n" + 1011cdf0e10cSrcweir "if defined OFFICE_HOME (\n" + 1012*7477dbb9SJürgen Schmidt " @set \"OFFICE_PROGRAM_PATH=%OFFICE_HOME%\\program\"\n" + 1013b3ba5bc7SJürgen Schmidt " )" + 1014cdf0e10cSrcweir "\n" + 1015b3ba5bc7SJürgen Schmidt "REM Set UNO path, necessary to ensure that the cpp examples using the\n" + 1016b3ba5bc7SJürgen Schmidt "REM new UNO bootstrap mechanism use the configured office installation\n" + 1017b3ba5bc7SJürgen Schmidt "REM (only set when using an Office).\n" + 1018b3ba5bc7SJürgen Schmidt "if defined OFFICE_HOME (\n" + 1019*7477dbb9SJürgen Schmidt " @set \"UNO_PATH=%OFFICE_PROGRAM_PATH%\"\n" + 1020b3ba5bc7SJürgen Schmidt " )\n" + 1021*7477dbb9SJürgen Schmidt "\n\n" + 1022*7477dbb9SJürgen Schmidt "@set \"OO_SDK_OFFICE_BIN_DIR=%OFFICE_PROGRAM_PATH%\"\n" + 1023*7477dbb9SJürgen Schmidt "@set \"OO_SDK_OFFICE_LIB_DIR=%OFFICE_BASE_PROGRAM_PATH%\"\n" + 1024*7477dbb9SJürgen Schmidt "@set \"OO_SDK_OFFICE_JAVA_DIR=%OFFICE_BASE_PROGRAM_PATH%\\classes\"\n" + 1025cdf0e10cSrcweir "\n" + 1026cdf0e10cSrcweir "REM Set classpath\n" + 1027*7477dbb9SJürgen Schmidt "@set \"CLASSPATH=%OO_SDK_OFFICE_JAVA_DIR%\\juh.jar;%OO_SDK_OFFICE_JAVA_DIR%\\jurt.jar;%OO_SDK_OFFICE_JAVA_DIR%\\ridl.jar;%OO_SDK_OFFICE_JAVA_DIR%\\unoloader.jar;%OO_SDK_OFFICE_JAVA_DIR%\\unoil.jar\"\n" + 1028cdf0e10cSrcweir "\n" + 1029cdf0e10cSrcweir "REM Add directory of the SDK tools to the path.\n" + 1030*7477dbb9SJürgen Schmidt "set \"PATH=%OO_SDK_HOME%\\bin;%OO_SDK_OFFICE_BIN_DIR%;%OO_SDK_OFFICE_BIN_DIR%;%OO_SDK_HOME%\\WINexample.out\\bin;%OO_SDK_MAKE_HOME%;%OO_SDK_ZIP_HOME%;%OO_SDK_CAT_HOME%;%OO_SDK_SED_HOME%;%PATH%\"\n" + 1031cdf0e10cSrcweir "\n" + 1032cdf0e10cSrcweir "REM Set PATH appropriate to the output directory\n" + 1033cdf0e10cSrcweir "if defined OO_SDK_OUT (\n" + 1034*7477dbb9SJürgen Schmidt " @set \"PATH=%OO_SDK_OUT%\\WINexample.out\\bin;%PATH%\"\n" + 1035cdf0e10cSrcweir " ) else (\n" + 1036*7477dbb9SJürgen Schmidt " @set \"PATH=%OO_SDK_HOME%\\WINexample.out\\bin;%PATH%\"\n" + 1037cdf0e10cSrcweir " )\n" + 1038cdf0e10cSrcweir "\n" + 1039cdf0e10cSrcweir "REM Add directory of the Win SDK to the path, if necessary.\n" + 1040cdf0e10cSrcweir "if defined CPP_WINDOWS_SDK (\n" + 1041*7477dbb9SJürgen Schmidt " @set \"PATH=%CPP_WINDOWS_SDK\\bin%;%PATH%\"\n" + 1042*7477dbb9SJürgen Schmidt " @set \"INCLUDE=%CPP_WINDOWS_SDK\\Include%;%INCLUDE%\"\n" + 1043cdf0e10cSrcweir ")\n" + 1044cdf0e10cSrcweir "REM Add directory of the C# and VB.NET compilers to the path, if necessary.\n" + 1045*7477dbb9SJürgen Schmidt "if defined OO_SDK_CLI_HOME @set \"PATH=%OO_SDK_CLI_HOME%;%PATH%\"\n" + 1046cdf0e10cSrcweir "\n" + 1047cdf0e10cSrcweir "REM Add directory of the Java tools to the path, if necessary.\n" + 1048*7477dbb9SJürgen Schmidt "if defined OO_SDK_JAVA_HOME @set \"PATH=%OO_SDK_JAVA_HOME%\\bin;%OO_SDK_JAVA_HOME%\\jre\\bin;%PATH%\"\n" + 1049cdf0e10cSrcweir "\n" + 1050cdf0e10cSrcweir "REM Set environment for C++ compiler tools, if necessary.\n" + 1051cdf0e10cSrcweir "if defined OO_SDK_CPP_HOME call \"%OO_SDK_CPP_HOME%\\VCVARS32.bat\"\n" + 1052cdf0e10cSrcweir "\n" + 1053cdf0e10cSrcweir "REM Set tilte to identify the prepared shell.\n" + 1054cdf0e10cSrcweir "title Shell prepared for SDK\n" + 1055cdf0e10cSrcweir "\nREM Prepare shell with all necessary environment variables.\n" + 1056cdf0e10cSrcweir "echo.\n" + 1057cdf0e10cSrcweir "echo ******************************************************************\n" + 1058cdf0e10cSrcweir "echo *\n" + 1059cdf0e10cSrcweir "echo * SDK environment is prepared for Windows\n" + 1060cdf0e10cSrcweir "echo *\n" + 1061cdf0e10cSrcweir "echo * SDK = %OO_SDK_HOME%\n" + 1062cdf0e10cSrcweir "echo * Office = %OFFICE_HOME%\n" + 1063cdf0e10cSrcweir "echo * Make = %OO_SDK_MAKE_HOME%\n" + 1064cdf0e10cSrcweir "echo * Zip = %OO_SDK_ZIP_HOME%\n" + 1065985d02c7SAriel Constenla-Haile "echo * cat = %OO_SDK_CAT_HOME%\n" + 1066985d02c7SAriel Constenla-Haile "echo * sed = %OO_SDK_SED_HOME%\n" + 1067cdf0e10cSrcweir "echo * C++ Compiler = %OO_SDK_CPP_HOME%\n" + 1068cdf0e10cSrcweir "echo * C# and VB.NET compilers = %OO_SDK_CLI_HOME%\n" + 1069cdf0e10cSrcweir "echo * Java = %OO_SDK_JAVA_HOME%\n" + 1070cdf0e10cSrcweir "echo * Special Output directory = %OO_SDK_OUT%\n" + 1071cdf0e10cSrcweir "echo * Auto deployment = %SDK_AUTO_DEPLOYMENT%\n" + 1072cdf0e10cSrcweir "echo *\n" + 1073cdf0e10cSrcweir "echo ******************************************************************\n" + 1074cdf0e10cSrcweir "echo.\n" + 1075cdf0e10cSrcweir "goto end\n" + 1076cdf0e10cSrcweir "\n" + 1077cdf0e10cSrcweir " :error\n" + 1078cdf0e10cSrcweir "Error: Please insert the necessary environment variables into the batch file.\n" + 1079cdf0e10cSrcweir "\n" + 1080cdf0e10cSrcweir " :end\n" 1081cdf0e10cSrcweir ); 1082cdf0e10cSrcweir newFile.Close(); 1083cdf0e10cSrcweir} 1084