1. Switch CommandLauncher from a console application to a windows application so that no windows pop up during install.
2. Handle spaces in files names.
This commit is contained in:
parent
9dbe2a3ade
commit
f357e87c11
@ -47,6 +47,7 @@ public class ClientKeystoreSetup
|
|||||||
|
|
||||||
String sInstallDir;
|
String sInstallDir;
|
||||||
Properties properties;
|
Properties properties;
|
||||||
|
int rc;
|
||||||
|
|
||||||
// debug stuff
|
// debug stuff
|
||||||
File file;
|
File file;
|
||||||
@ -55,12 +56,12 @@ public class ClientKeystoreSetup
|
|||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
ClientKeystoreSetup p = new ClientKeystoreSetup(args);
|
ClientKeystoreSetup p = new ClientKeystoreSetup(args);
|
||||||
p = null;
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClientKeystoreSetup(String[] args)
|
ClientKeystoreSetup(String[] args)
|
||||||
{
|
{
|
||||||
int rc;
|
rc = ERROR_NO_ERROR;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -96,24 +97,53 @@ public class ClientKeystoreSetup
|
|||||||
{
|
{
|
||||||
rc = ERROR_IO_EXCEPTION;
|
rc = ERROR_IO_EXCEPTION;
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
String sProperties;
|
String sProperties;
|
||||||
File fileInstallDir = null;
|
File fileInstallDir = null;
|
||||||
File fileProperties = null;
|
File fileProperties = null;
|
||||||
FileInputStream fisProperties = null;
|
FileInputStream fisProperties = null;
|
||||||
|
int iOld;
|
||||||
int i;
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length < 2)
|
if (argsOld.length < 2)
|
||||||
{
|
{
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + args[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (i = 0; i <= iNew; i++)
|
||||||
{
|
{
|
||||||
// is this the install dir param?
|
// is this the install dir param?
|
||||||
if (args[i].startsWith(INSTALL_DIR))
|
if (args[i].startsWith(INSTALL_DIR))
|
||||||
|
@ -1,136 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <conio.h>
|
|
||||||
#include <process.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
#define ERROR_NO_ERROR 0
|
|
||||||
#define ERROR_MEMORY_ALLOCATION_FAILED -1
|
|
||||||
#define ERROR_INVALID_NUMBER_OF_PARAMETERS -2
|
|
||||||
#define ERROR_EXEC_E2BIG -3
|
|
||||||
#define ERROR_EXEC_EACCES -4
|
|
||||||
#define ERROR_EXEC_EINVAL -5
|
|
||||||
#define ERROR_EXEC_EMFILE -6
|
|
||||||
#define ERROR_EXEC_ENOENT -7
|
|
||||||
#define ERROR_EXEC_ENOEXEC -8
|
|
||||||
#define ERROR_EXEC_ENOMEM -9
|
|
||||||
#define ERROR_EXEC_UNKNOWN -10
|
|
||||||
|
|
||||||
|
|
||||||
char * errorMessage(int err)
|
|
||||||
{
|
|
||||||
switch (err)
|
|
||||||
{
|
|
||||||
case ERROR_NO_ERROR:
|
|
||||||
return "No error\n";
|
|
||||||
case ERROR_MEMORY_ALLOCATION_FAILED:
|
|
||||||
return "Memory allocation failed\n";
|
|
||||||
case ERROR_INVALID_NUMBER_OF_PARAMETERS:
|
|
||||||
return "Invalid number of parameters\n";
|
|
||||||
case ERROR_EXEC_E2BIG:
|
|
||||||
return "_exec: The space required for the arguments and environment settings exceeds 32 KB.\n";
|
|
||||||
case ERROR_EXEC_EACCES:
|
|
||||||
return "_exec: The specified file has a locking or sharing violation.\n";
|
|
||||||
case ERROR_EXEC_EINVAL:
|
|
||||||
return "_exec: Invalid parameter.\n";
|
|
||||||
case ERROR_EXEC_EMFILE:
|
|
||||||
return "_exec: Too many files open (the specified file must be opened to determine whether it is executable).\n";
|
|
||||||
case ERROR_EXEC_ENOENT:
|
|
||||||
return "_exec: The file or path not found.\n";
|
|
||||||
case ERROR_EXEC_ENOEXEC:
|
|
||||||
return "_exec: The specified file is not executable or has an invalid executable-file format.\n";
|
|
||||||
case ERROR_EXEC_ENOMEM:
|
|
||||||
return "_exec: Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.\n";
|
|
||||||
case ERROR_EXEC_UNKNOWN:
|
|
||||||
return "Unknown _exec error.\n";
|
|
||||||
default:
|
|
||||||
return "Unknown error.\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int main( int cArg, char* rgArg[] )
|
|
||||||
{
|
|
||||||
int cArgCommand = cArg; // Take one off for the name of this exe, then add
|
|
||||||
// one for the null at the end of the arg list.
|
|
||||||
int i; // Looping variable
|
|
||||||
int rc = ERROR_NO_ERROR; // Return code
|
|
||||||
char **rgArgCommand; // An array for the command args
|
|
||||||
|
|
||||||
// Make sure we got enough parameters to execute.
|
|
||||||
if( cArg < 4)
|
|
||||||
{
|
|
||||||
fprintf(stderr, errorMessage(ERROR_MEMORY_ALLOCATION_FAILED));
|
|
||||||
fprintf( stderr, "Usage: %s <full path path to java.exe> <-cp classpath> <class> [arg1 [arg2 [...]]]\n", rgArg[0] );
|
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMETERS;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allocate room to the arglist for the cal to exec
|
|
||||||
rgArgCommand = (char **)malloc(sizeof(char *)*cArgCommand);
|
|
||||||
|
|
||||||
// Did the memory allocation succeed?
|
|
||||||
if (NULL == rgArgCommand)
|
|
||||||
{
|
|
||||||
fprintf(stderr, errorMessage(ERROR_MEMORY_ALLOCATION_FAILED));
|
|
||||||
return ERROR_MEMORY_ALLOCATION_FAILED;
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf( stderr, "Arg count = %d\n", cArg);
|
|
||||||
fprintf( stderr, "Command arg count = %d\n", cArgCommand);
|
|
||||||
|
|
||||||
// copy over the arguments for the command
|
|
||||||
for (i = 1; i < cArg; i++)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "rgArgCommand[%d] = rgArg[%d] (%s)\n", (i - 1), i, rgArg[i]);
|
|
||||||
rgArgCommand[i - 1] = rgArg[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
// null out the command arg array
|
|
||||||
fprintf( stderr, "null out rgArgCommand[%d]\n",i);
|
|
||||||
rgArgCommand[cArgCommand - 1] = (char *)0;
|
|
||||||
|
|
||||||
// exec the command
|
|
||||||
if (-1 == _execv( rgArg[1], rgArgCommand))
|
|
||||||
{
|
|
||||||
switch (errno)
|
|
||||||
{
|
|
||||||
case E2BIG: // The space required for the arguments and environment settings exceeds 32 KB.
|
|
||||||
rc = ERROR_EXEC_E2BIG;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EACCES: // The specified file has a locking or sharing violation.
|
|
||||||
rc = ERROR_EXEC_EACCES;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EINVAL: // Invalid parameter.
|
|
||||||
rc = ERROR_EXEC_EINVAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EMFILE: // Too many files open (the specified file must be opened to determine whether it is executable).
|
|
||||||
rc = ERROR_EXEC_EMFILE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ENOENT: // The file or path not found.
|
|
||||||
rc = ERROR_EXEC_ENOENT;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ENOEXEC: // The specified file is not executable or has an invalid executable-file format.
|
|
||||||
rc = ERROR_EXEC_ENOEXEC;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ENOMEM: // Not enough memory is available to execute the new process; the available memory has been
|
|
||||||
// corrupted; or an invalid block exists, indicating that the calling process was not allocated
|
|
||||||
// properly.
|
|
||||||
rc = ERROR_EXEC_ENOMEM;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
rc = ERROR_EXEC_UNKNOWN;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
free(rgArgCommand);
|
|
||||||
|
|
||||||
return rc;
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,499 @@
|
|||||||
|
// CommandLauncher.cpp : Defines the entry point for the application.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "CommandLauncher.h"
|
||||||
|
#include "string.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <conio.h>
|
||||||
|
#include <process.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
WCHAR ** G_rgArgs; // Command line arguments
|
||||||
|
int G_cArg; // Count of command line arguments
|
||||||
|
FILE * G_pf;
|
||||||
|
|
||||||
|
// Forward declarations of functions included in this code module:
|
||||||
|
int processArguments(LPTSTR lpCmdLine);
|
||||||
|
void freeArgs();
|
||||||
|
int countArgs(LPTSTR lpCmdLine);
|
||||||
|
int addArg(int iArg, LPTSTR lpString, int cChar);
|
||||||
|
void log(LPTSTR szMessage);
|
||||||
|
_TCHAR * errorMessage(int err);
|
||||||
|
int executeCommand( int cArg, _TCHAR* rgArg[]);
|
||||||
|
|
||||||
|
|
||||||
|
#define ERROR_NO_ERROR 0
|
||||||
|
#define ERROR_MEMORY_ALLOCATION_FAILED -1
|
||||||
|
#define ERROR_INVALID_NUMBER_OF_PARAMETERS -2
|
||||||
|
#define ERROR_EXEC_E2BIG -3
|
||||||
|
#define ERROR_EXEC_EACCES -4
|
||||||
|
#define ERROR_EXEC_EINVAL -5
|
||||||
|
#define ERROR_EXEC_EMFILE -6
|
||||||
|
#define ERROR_EXEC_ENOENT -7
|
||||||
|
#define ERROR_EXEC_ENOEXEC -8
|
||||||
|
#define ERROR_EXEC_ENOMEM -9
|
||||||
|
#define ERROR_EXEC_UNKNOWN -10
|
||||||
|
#define ERROR_STRCPY_FAILED -11
|
||||||
|
#define ERROR_JAVA_EXE_ARG_MISSING -12
|
||||||
|
#define ERROR_JAVA_CLASSPATH_OPTION_ARG_MISSING -13
|
||||||
|
#define ERROR_JAVA_CLASSPATH_ARG_MISSING -14
|
||||||
|
#define ERROR_BAD_COMMAND_LINE -15
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int APIENTRY _tWinMain(HINSTANCE hInstance,
|
||||||
|
HINSTANCE hPrevInstance,
|
||||||
|
LPTSTR lpCmdLine,
|
||||||
|
int nCmdShow)
|
||||||
|
{
|
||||||
|
UNREFERENCED_PARAMETER(hInstance);
|
||||||
|
UNREFERENCED_PARAMETER(hPrevInstance);
|
||||||
|
UNREFERENCED_PARAMETER(lpCmdLine);
|
||||||
|
UNREFERENCED_PARAMETER(nCmdShow);
|
||||||
|
|
||||||
|
int rc;
|
||||||
|
|
||||||
|
_wfopen_s(&G_pf, L"C:\\CommandLauncher.log", L"a+");
|
||||||
|
|
||||||
|
// Process the command line
|
||||||
|
if (ERROR_NO_ERROR != (rc = processArguments(lpCmdLine)))
|
||||||
|
{
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = executeCommand(G_cArg, G_rgArgs);
|
||||||
|
|
||||||
|
log(errorMessage(rc));
|
||||||
|
|
||||||
|
fwprintf(G_pf, L"CommandLauncher: return = %d\n", rc);
|
||||||
|
|
||||||
|
fclose(G_pf);
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// <java exe path> -cp <classpath> class k1=v1 k2=k2
|
||||||
|
int processArguments(LPTSTR lpCmdLine)
|
||||||
|
{
|
||||||
|
int iArg;
|
||||||
|
int iChar;
|
||||||
|
int iAssignment;
|
||||||
|
int iClassStart;
|
||||||
|
int iClassEnd;
|
||||||
|
int iClassPathStart;
|
||||||
|
int iClassPathEnd;
|
||||||
|
int rc;
|
||||||
|
bool fClasspathOptionFound = false;
|
||||||
|
int iKeyStart;
|
||||||
|
int iValueEnd;
|
||||||
|
|
||||||
|
fwprintf( G_pf, L"current command line = %s\n", lpCmdLine);
|
||||||
|
|
||||||
|
|
||||||
|
// Validate the command line
|
||||||
|
if (NULL == lpCmdLine || (WCHAR)0 == *lpCmdLine)
|
||||||
|
{
|
||||||
|
return ERROR_BAD_COMMAND_LINE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Count the arguments on the command line. TThe name of this executable
|
||||||
|
// is not included in the count.
|
||||||
|
G_cArg = countArgs(lpCmdLine);
|
||||||
|
|
||||||
|
// Make sure we got enough to exec something. There must be at least the
|
||||||
|
// path to jave.exe, the classpath option, the classpath and a class.
|
||||||
|
if (G_cArg < 4)
|
||||||
|
{
|
||||||
|
return ERROR_INVALID_NUMBER_OF_PARAMETERS;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Allocate an array of wide string for the arguments, add 1 for a NULL at
|
||||||
|
// the end of the array
|
||||||
|
G_rgArgs = (WCHAR**)malloc((G_cArg + 1) * sizeof(WCHAR *));
|
||||||
|
if (NULL == G_rgArgs)
|
||||||
|
{
|
||||||
|
return ERROR_MEMORY_ALLOCATION_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Null out the array
|
||||||
|
memset(G_rgArgs, 0, (G_cArg + 1) * sizeof(WCHAR *));
|
||||||
|
|
||||||
|
// Find the java.exe argument
|
||||||
|
iChar = 0;
|
||||||
|
for (iChar = 0; 0 != lpCmdLine[iChar + 4]; iChar++)
|
||||||
|
{
|
||||||
|
if (0 == _wcsnicmp(lpCmdLine + iChar, L".exe", 4))
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (0 == lpCmdLine[iChar + 4])
|
||||||
|
{
|
||||||
|
rc = ERROR_JAVA_EXE_ARG_MISSING;
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add the java.exe argument
|
||||||
|
if (ERROR_NO_ERROR != (rc = addArg(0, lpCmdLine, iChar + 4)))
|
||||||
|
{
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move past the java.exe argument
|
||||||
|
iChar += 4;
|
||||||
|
|
||||||
|
// Move past any spaces
|
||||||
|
for (;L' ' == lpCmdLine[iChar]; iChar++)
|
||||||
|
{
|
||||||
|
// Intentionally left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the classpath argument
|
||||||
|
for (; 0 != lpCmdLine[iChar + 3]; iChar++)
|
||||||
|
{
|
||||||
|
if (0 == _wcsnicmp(lpCmdLine + iChar, L"-cp", 3))
|
||||||
|
{
|
||||||
|
fClasspathOptionFound = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!fClasspathOptionFound)
|
||||||
|
{
|
||||||
|
rc = ERROR_JAVA_CLASSPATH_OPTION_ARG_MISSING;
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
if (0 == lpCmdLine[iChar + 3])
|
||||||
|
{
|
||||||
|
rc = ERROR_JAVA_CLASSPATH_ARG_MISSING;
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add the classpath option argument
|
||||||
|
if (ERROR_NO_ERROR != (rc = addArg(1, L"-cp", iChar + 3)))
|
||||||
|
{
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move past the classpath option argument
|
||||||
|
iChar += 3;
|
||||||
|
|
||||||
|
// Move past any spaces
|
||||||
|
for (;L' ' == lpCmdLine[iChar]; iChar++)
|
||||||
|
{
|
||||||
|
// Intentionally left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// The classpath is next. It can have spaces in it so we need to work
|
||||||
|
// backards from the first key/value pair, or the end of the line if
|
||||||
|
// there are no key/value pairs.
|
||||||
|
iClassPathStart = iChar;
|
||||||
|
|
||||||
|
// Find the location of the next '='
|
||||||
|
for (; 0 != lpCmdLine[iChar] && L'=' != lpCmdLine[iChar]; iChar++)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there was a key/value pair - move to the start of the key
|
||||||
|
if (L'=' == lpCmdLine[iChar])
|
||||||
|
{
|
||||||
|
iAssignment = iChar;
|
||||||
|
|
||||||
|
// Move back to the previous space. This should put us at the
|
||||||
|
// beginning of the first key/value pair. Assume that all args
|
||||||
|
// are property key/value pairs and property keys have no spaces.
|
||||||
|
for (; L' ' != lpCmdLine[iChar] && iChar >= 0; iChar--)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
iAssignment = 0;
|
||||||
|
iChar--;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move past any spaces (moving toward the start of the line)
|
||||||
|
for (;L' ' == lpCmdLine[iChar]; iChar--)
|
||||||
|
{
|
||||||
|
// Intentionally left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// This should put us at the end of the class to be executed
|
||||||
|
iClassEnd = iChar;
|
||||||
|
|
||||||
|
// Move to the previous space (moving toward the start of the line)
|
||||||
|
for (;L' ' != lpCmdLine[iChar]; iChar--)
|
||||||
|
{
|
||||||
|
// Intentionally left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
iClassStart = iChar + 1;
|
||||||
|
|
||||||
|
// Add the class argument
|
||||||
|
if (ERROR_NO_ERROR != (rc = addArg(3, lpCmdLine + iClassStart, iClassEnd - iClassStart + 1)))
|
||||||
|
{
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move past any spaces (moving toward the start of the line)
|
||||||
|
for (;L' ' == lpCmdLine[iChar]; iChar--)
|
||||||
|
{
|
||||||
|
// Intentionally left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// This should put us at the end of the classpath
|
||||||
|
iClassPathEnd = iChar;
|
||||||
|
|
||||||
|
// Add the class path argument
|
||||||
|
if (ERROR_NO_ERROR != (rc = addArg(2, lpCmdLine + iClassPathStart, iClassPathEnd - iClassPathStart + 1)))
|
||||||
|
{
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Are the any key/value pairs?
|
||||||
|
if (0 != iAssignment)
|
||||||
|
{
|
||||||
|
iArg = 4;
|
||||||
|
while (0 != lpCmdLine[iAssignment])
|
||||||
|
{
|
||||||
|
iKeyStart = iAssignment;
|
||||||
|
|
||||||
|
// Move back to the previous space. This should put us at the
|
||||||
|
// beginning of the current next key/value pair. Assume that all args
|
||||||
|
// are property key/value pairs and property keys have no spaces.
|
||||||
|
for (; L' ' != lpCmdLine[iKeyStart] && iKeyStart > 0; iKeyStart--)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
if (L' ' == lpCmdLine[iKeyStart])
|
||||||
|
{
|
||||||
|
iKeyStart++;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the location of the next '='
|
||||||
|
iValueEnd = iAssignment + 1;
|
||||||
|
for (; 0 != lpCmdLine[iValueEnd] && L'=' != lpCmdLine[iValueEnd]; iValueEnd++)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// If there was a property...
|
||||||
|
if (L'=' == lpCmdLine[iValueEnd])
|
||||||
|
{
|
||||||
|
iAssignment = iValueEnd;
|
||||||
|
|
||||||
|
// Move back to the previous space. This should put us at the
|
||||||
|
// beginning of the next key/value pair. Assume that all args
|
||||||
|
// are property key/value pairs and property keys have no spaces.
|
||||||
|
for (; L' ' != lpCmdLine[iValueEnd] && iValueEnd >= 0; iValueEnd--)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We have reached the end of the command line - back off from the
|
||||||
|
// null terminator.
|
||||||
|
iAssignment = iValueEnd;
|
||||||
|
iValueEnd--;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Move thorugh any spaces
|
||||||
|
for (; L' ' == lpCmdLine[iValueEnd] && iValueEnd >= 0; iValueEnd--)
|
||||||
|
{
|
||||||
|
// Intentially left blank
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add the key/value pair
|
||||||
|
if (ERROR_NO_ERROR != (rc = addArg(iArg, lpCmdLine + iKeyStart, iValueEnd - iKeyStart + 1)))
|
||||||
|
{
|
||||||
|
goto ErrorOut;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Go on to the next arg
|
||||||
|
iArg++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ERROR_NO_ERROR;
|
||||||
|
|
||||||
|
ErrorOut:
|
||||||
|
|
||||||
|
freeArgs();
|
||||||
|
log(errorMessage(rc));
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void freeArgs()
|
||||||
|
{
|
||||||
|
int iArg;
|
||||||
|
if (NULL != G_rgArgs)
|
||||||
|
{
|
||||||
|
for (iArg = 0; iArg < G_cArg; iArg++)
|
||||||
|
{
|
||||||
|
if (NULL != G_rgArgs[iArg])
|
||||||
|
{
|
||||||
|
free(G_rgArgs[iArg]);
|
||||||
|
G_rgArgs[iArg] = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
free(G_rgArgs);
|
||||||
|
G_rgArgs = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int countArgs(LPTSTR lpCmdLine)
|
||||||
|
{
|
||||||
|
int cArgument;
|
||||||
|
|
||||||
|
// Check if the exe to execute is the only argument. Assume that all additional
|
||||||
|
// arguments have an '=' in them.
|
||||||
|
for (cArgument = 4; *lpCmdLine != (WCHAR)0; lpCmdLine++)
|
||||||
|
{
|
||||||
|
if (*lpCmdLine == L'=')
|
||||||
|
{
|
||||||
|
cArgument++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cArgument;
|
||||||
|
}
|
||||||
|
|
||||||
|
int addArg(int iArg, LPTSTR lpString, int cChar)
|
||||||
|
{
|
||||||
|
int cb = (cChar + 3) * sizeof(WCHAR); // count of bytes
|
||||||
|
|
||||||
|
// Allocate space for the new arg
|
||||||
|
G_rgArgs[iArg] = (WCHAR *)malloc(cb);
|
||||||
|
if (NULL == G_rgArgs[iArg])
|
||||||
|
{
|
||||||
|
return ERROR_MEMORY_ALLOCATION_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Null out the argument
|
||||||
|
memset(G_rgArgs[iArg], 0, cb);
|
||||||
|
|
||||||
|
// Add a starting quote
|
||||||
|
// G_rgArgs[iArg][0] = L'\"';
|
||||||
|
|
||||||
|
// Copy the arg
|
||||||
|
if (0 != wcsncpy_s(G_rgArgs[iArg], cChar + 1, lpString, cChar))
|
||||||
|
{
|
||||||
|
return ERROR_STRCPY_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a terminating quote
|
||||||
|
// G_rgArgs[iArg][cb-1] = L'\"';
|
||||||
|
|
||||||
|
return ERROR_NO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void log(LPTSTR szMessage)
|
||||||
|
{
|
||||||
|
LPTSTR szT = L"";
|
||||||
|
if (NULL == szMessage)
|
||||||
|
szMessage = szT;
|
||||||
|
fwprintf(G_pf, L"JavaLauncher: %s\n", szMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
_TCHAR * errorMessage(int err)
|
||||||
|
{
|
||||||
|
switch (err)
|
||||||
|
{
|
||||||
|
case ERROR_NO_ERROR:
|
||||||
|
return L"No error\n";
|
||||||
|
case ERROR_MEMORY_ALLOCATION_FAILED:
|
||||||
|
return L"Memory allocation failed\n";
|
||||||
|
case ERROR_INVALID_NUMBER_OF_PARAMETERS:
|
||||||
|
return L"Invalid number of parameters\n";
|
||||||
|
case ERROR_EXEC_E2BIG:
|
||||||
|
return L"_exec: The space required for the arguments and environment settings exceeds 32 KB.\n";
|
||||||
|
case ERROR_EXEC_EACCES:
|
||||||
|
return L"_exec: The specified file has a locking or sharing violation.\n";
|
||||||
|
case ERROR_EXEC_EINVAL:
|
||||||
|
return L"_exec: Invalid parameter.\n";
|
||||||
|
case ERROR_EXEC_EMFILE:
|
||||||
|
return L"_exec: Too many files open (the specified file must be opened to determine whether it is executable).\n";
|
||||||
|
case ERROR_EXEC_ENOENT:
|
||||||
|
return L"_exec: The file or path not found.\n";
|
||||||
|
case ERROR_EXEC_ENOEXEC:
|
||||||
|
return L"_exec: The specified file is not executable or has an invalid executable-file format.\n";
|
||||||
|
case ERROR_EXEC_ENOMEM:
|
||||||
|
return L"_exec: Not enough memory is available to execute the new process; the available memory has been corrupted; or an invalid block exists, indicating that the calling process was not allocated properly.\n";
|
||||||
|
case ERROR_EXEC_UNKNOWN:
|
||||||
|
return L"Unknown _exec error.\n";
|
||||||
|
case ERROR_STRCPY_FAILED:
|
||||||
|
return L"String copy failed.\n";
|
||||||
|
case ERROR_JAVA_CLASSPATH_OPTION_ARG_MISSING:
|
||||||
|
return L"Classpath option \"-cp\" missing\n";
|
||||||
|
case ERROR_JAVA_CLASSPATH_ARG_MISSING:
|
||||||
|
return L"Classpath argument missing\n";
|
||||||
|
case ERROR_BAD_COMMAND_LINE:
|
||||||
|
return L"Bad command line\n";
|
||||||
|
default:
|
||||||
|
return L"Unknown error.\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int executeCommand( int cArg, _TCHAR* rgArg[] )
|
||||||
|
{
|
||||||
|
int i; // Looping variable
|
||||||
|
int rc = ERROR_NO_ERROR; // Return code
|
||||||
|
|
||||||
|
fwprintf( G_pf, L"Arg count = %d\n", cArg);
|
||||||
|
for (i = 0; i < cArg; i++)
|
||||||
|
{
|
||||||
|
fwprintf(G_pf, L"rgArg[%d] (%s)\n", i, rgArg[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// exec the command
|
||||||
|
// if (-1 == _wexecv( rgArg[0], rgArg))
|
||||||
|
if (-1 == _wspawnv(_P_WAIT, rgArg[0], rgArg))
|
||||||
|
{
|
||||||
|
switch (errno)
|
||||||
|
{
|
||||||
|
case E2BIG: // The space required for the arguments and environment settings exceeds 32 KB.
|
||||||
|
rc = ERROR_EXEC_E2BIG;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EACCES: // The specified file has a locking or sharing violation.
|
||||||
|
rc = ERROR_EXEC_EACCES;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EINVAL: // Invalid parameter.
|
||||||
|
rc = ERROR_EXEC_EINVAL;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EMFILE: // Too many files open (the specified file must be opened to determine whether it is executable).
|
||||||
|
rc = ERROR_EXEC_EMFILE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ENOENT: // The file or path not found.
|
||||||
|
rc = ERROR_EXEC_ENOENT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ENOEXEC: // The specified file is not executable or has an invalid executable-file format.
|
||||||
|
rc = ERROR_EXEC_ENOEXEC;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case ENOMEM: // Not enough memory is available to execute the new process; the available memory has been
|
||||||
|
// corrupted; or an invalid block exists, indicating that the calling process was not allocated
|
||||||
|
// properly.
|
||||||
|
rc = ERROR_EXEC_ENOMEM;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
rc = ERROR_EXEC_UNKNOWN;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fwprintf(G_pf, L"ExecuteCommand returning %d\n", rc);
|
||||||
|
return rc;
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "resource.h"
|
@ -4,6 +4,8 @@
|
|||||||
Version="8.00"
|
Version="8.00"
|
||||||
Name="CommandLauncher"
|
Name="CommandLauncher"
|
||||||
ProjectGUID="{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
|
ProjectGUID="{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
|
||||||
|
RootNamespace="CommandLauncher"
|
||||||
|
Keyword="Win32Proj"
|
||||||
>
|
>
|
||||||
<Platforms>
|
<Platforms>
|
||||||
<Platform
|
<Platform
|
||||||
@ -15,9 +17,10 @@
|
|||||||
<Configurations>
|
<Configurations>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Debug|Win32"
|
Name="Debug|Win32"
|
||||||
OutputDirectory="./bin"
|
OutputDirectory="bin"
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
CharacterSet="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
@ -36,6 +39,15 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="3"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="4"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
@ -48,6 +60,10 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="2"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
@ -76,9 +92,11 @@
|
|||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
Name="Release|Win32"
|
Name="Release|Win32"
|
||||||
OutputDirectory="./bin"
|
OutputDirectory="bin"
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
ConfigurationType="1"
|
ConfigurationType="1"
|
||||||
|
CharacterSet="1"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
>
|
>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreBuildEventTool"
|
Name="VCPreBuildEventTool"
|
||||||
@ -97,6 +115,12 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
|
||||||
|
RuntimeLibrary="2"
|
||||||
|
UsePrecompiledHeader="2"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="true"
|
||||||
|
DebugInformationFormat="3"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCManagedResourceCompilerTool"
|
Name="VCManagedResourceCompilerTool"
|
||||||
@ -109,6 +133,12 @@
|
|||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLinkerTool"
|
Name="VCLinkerTool"
|
||||||
|
LinkIncremental="1"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
TargetMachine="1"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
@ -145,15 +175,47 @@
|
|||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\CommandLauncher.c"
|
RelativePath=".\CommandLauncher.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\stdafx.cpp"
|
||||||
|
>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Debug|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
UsePrecompiledHeader="1"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
<FileConfiguration
|
||||||
|
Name="Release|Win32"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
UsePrecompiledHeader="1"
|
||||||
|
/>
|
||||||
|
</FileConfiguration>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Header Files"
|
Name="Header Files"
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||||
>
|
>
|
||||||
|
<File
|
||||||
|
RelativePath=".\CommandLauncher.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Resource.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\stdafx.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
Name="Resource Files"
|
Name="Resource Files"
|
||||||
|
@ -57,7 +57,7 @@ package-clean clean-local:
|
|||||||
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
|
rm -rf Release/* Release Debug/* Debug*/Release */Debug *.log *.suo
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo
|
rm -rf Release/* Release Debug/* Debug */Release */Debug *.log *.suo bin/* bin
|
||||||
|
|
||||||
distclean-local: package-clean
|
distclean-local: package-clean
|
||||||
rm -f Makefile
|
rm -f Makefile
|
||||||
|
Binary file not shown.
@ -1,3 +1,8 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
||||||
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
</assembly>
|
</assembly>
|
||||||
|
Binary file not shown.
@ -1 +1 @@
|
|||||||
Manifest resource last updated at 15:03:11.42 on Wed 01/24/2007
|
Manifest resource last updated at 13:12:58.17 on Wed 01/31/2007
|
||||||
|
Binary file not shown.
@ -0,0 +1,31 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ generated include file.
|
||||||
|
// Used by CommandLauncher.rc
|
||||||
|
//
|
||||||
|
|
||||||
|
#define IDS_APP_TITLE 103
|
||||||
|
|
||||||
|
#define IDR_MAINFRAME 128
|
||||||
|
#define IDD_COMMANDLAUNCHER_DIALOG 102
|
||||||
|
#define IDD_ABOUTBOX 103
|
||||||
|
#define IDM_ABOUT 104
|
||||||
|
#define IDM_EXIT 105
|
||||||
|
#define IDI_COMMANDLAUNCHER 107
|
||||||
|
#define IDI_SMALL 108
|
||||||
|
#define IDC_COMMANDLAUNCHER 109
|
||||||
|
#define IDC_MYICON 2
|
||||||
|
#ifndef IDC_STATIC
|
||||||
|
#define IDC_STATIC -1
|
||||||
|
#endif
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
|
||||||
|
#define _APS_NO_MFC 130
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 110
|
||||||
|
#endif
|
||||||
|
#endif
|
Binary file not shown.
@ -0,0 +1,8 @@
|
|||||||
|
// stdafx.cpp : source file that includes just the standard includes
|
||||||
|
// CommandLauncher.pch will be the pre-compiled header
|
||||||
|
// stdafx.obj will contain the pre-compiled type information
|
||||||
|
|
||||||
|
#include "stdafx.h"
|
||||||
|
|
||||||
|
// TODO: reference any additional headers you need in STDAFX.H
|
||||||
|
// and not in this file
|
@ -0,0 +1,37 @@
|
|||||||
|
// stdafx.h : include file for standard system include files,
|
||||||
|
// or project specific include files that are used frequently, but
|
||||||
|
// are changed infrequently
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
||||||
|
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
||||||
|
#ifndef WINVER // Allow use of features specific to Windows XP or later.
|
||||||
|
#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
|
||||||
|
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later.
|
||||||
|
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later.
|
||||||
|
#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
||||||
|
// Windows Header Files:
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
// C RunTime Header Files
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
#include <memory.h>
|
||||||
|
#include <tchar.h>
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: reference additional headers your program requires here
|
@ -52,6 +52,8 @@ public class InitConfigFile
|
|||||||
final static int ERROR_MISSING_TEMPLATE_FILE_PARAM = -27;
|
final static int ERROR_MISSING_TEMPLATE_FILE_PARAM = -27;
|
||||||
final static int ERROR_MISSING_OUTPUT_FILE_PARAM = -28;
|
final static int ERROR_MISSING_OUTPUT_FILE_PARAM = -28;
|
||||||
final static int ERROR_BAD_PROPERTY_PARAM = -29;
|
final static int ERROR_BAD_PROPERTY_PARAM = -29;
|
||||||
|
final static int ERROR_UNABLE_TO_OPEN_TEMPLATE = -30;
|
||||||
|
final static int ERROR_FILEWRITER_CREATE_FAILED = -31;
|
||||||
|
|
||||||
final static String TEMPLATE_FILE_PARAM = "template=";
|
final static String TEMPLATE_FILE_PARAM = "template=";
|
||||||
final static String OUTPUT_FILE_PARAM = "output=";
|
final static String OUTPUT_FILE_PARAM = "output=";
|
||||||
@ -65,21 +67,24 @@ public class InitConfigFile
|
|||||||
File fileTemplate;
|
File fileTemplate;
|
||||||
File fileOutput;
|
File fileOutput;
|
||||||
File file;
|
File file;
|
||||||
FileWriter fw;
|
//FileWriter fw;
|
||||||
|
RandomAccessFile raf;
|
||||||
String[] rgsSearchFor;
|
String[] rgsSearchFor;
|
||||||
String[] rgsReplaceWith;
|
String[] rgsReplaceWith;
|
||||||
String sInstallDir;
|
String sInstallDir;
|
||||||
String sTemplate;
|
String sTemplate;
|
||||||
String sOutput;
|
String sOutput;
|
||||||
|
int rc;
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
InitConfigFile p = new InitConfigFile(args);
|
InitConfigFile p = new InitConfigFile(args);
|
||||||
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
InitConfigFile(String[] args)
|
InitConfigFile(String[] args)
|
||||||
{
|
{
|
||||||
int rc = ERROR_NO_ERROR;
|
rc = ERROR_NO_ERROR;
|
||||||
|
|
||||||
properties = new Properties();
|
properties = new Properties();
|
||||||
fileProperties = null;
|
fileProperties = null;
|
||||||
@ -90,13 +95,10 @@ public class InitConfigFile
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
file = new File("c:\\test.log");
|
file = new File("c:\\test.log");
|
||||||
fw = new FileWriter(file);
|
//fw = new FileWriter(file);
|
||||||
|
|
||||||
log("Here we go: " + args.length);
|
raf = new RandomAccessFile(file, "rw");
|
||||||
for (int i = 0; i < args.length; i++)
|
raf.seek(raf.length());
|
||||||
{
|
|
||||||
log("Arg " + i + " = " + args[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Process the arguments
|
// Process the arguments
|
||||||
if (ERROR_NO_ERROR == (rc = processArgs(args)))
|
if (ERROR_NO_ERROR == (rc = processArgs(args)))
|
||||||
@ -117,32 +119,55 @@ public class InitConfigFile
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
log(rc);
|
log(rc, " " + sOutput + "\n\n\n");
|
||||||
fw.flush();
|
//raf.flush();
|
||||||
fw.close();
|
raf.close();
|
||||||
}
|
}
|
||||||
catch (Exception e1)
|
catch (Exception e1)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
String sProperties;
|
String sProperties;
|
||||||
File fileInstallDir = null;
|
File fileInstallDir = null;
|
||||||
int i;
|
|
||||||
int iEquals;
|
int iEquals;
|
||||||
String sKey;
|
String sKey;
|
||||||
String sValue;
|
String sValue;
|
||||||
|
int iOld;
|
||||||
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length < 3)
|
if (argsOld.length < 2)
|
||||||
{
|
{
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
{
|
{
|
||||||
log("arg[" + i + "] = " +args[i]);
|
log("arg[" + i + "] = " +args[i]);
|
||||||
@ -171,6 +196,7 @@ public class InitConfigFile
|
|||||||
return ERROR_INSTALL_DIR_NOT_A_DIR;
|
return ERROR_INSTALL_DIR_NOT_A_DIR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log("Adding property (key = " + INSTALL_DIR_PROPERTY + " - value = " + sInstallDir);
|
||||||
properties.setProperty(INSTALL_DIR_PROPERTY, sInstallDir);
|
properties.setProperty(INSTALL_DIR_PROPERTY, sInstallDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,6 +272,7 @@ public class InitConfigFile
|
|||||||
}
|
}
|
||||||
sKey = args[i].substring(0, iEquals);
|
sKey = args[i].substring(0, iEquals);
|
||||||
sValue = args[i].substring(iEquals + 1);
|
sValue = args[i].substring(iEquals + 1);
|
||||||
|
log("Adding property (key = " + sKey + " - value = " + sValue);
|
||||||
properties.setProperty(sKey, sValue);
|
properties.setProperty(sKey, sValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -287,6 +314,7 @@ public class InitConfigFile
|
|||||||
rgsSearchFor = new String[properties.size()];
|
rgsSearchFor = new String[properties.size()];
|
||||||
rgsReplaceWith = new String[properties.size()];
|
rgsReplaceWith = new String[properties.size()];
|
||||||
|
|
||||||
|
log("property count = " + properties.size());
|
||||||
while (e.hasMoreElements())
|
while (e.hasMoreElements())
|
||||||
{
|
{
|
||||||
sKey = (String)e.nextElement();
|
sKey = (String)e.nextElement();
|
||||||
@ -323,7 +351,7 @@ public class InitConfigFile
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
return -40;
|
return ERROR_UNABLE_TO_OPEN_TEMPLATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -332,7 +360,7 @@ public class InitConfigFile
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
return -41;
|
return ERROR_FILEWRITER_CREATE_FAILED;
|
||||||
}
|
}
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -454,6 +482,12 @@ public class InitConfigFile
|
|||||||
case ERROR_UNABLE_TO_READ_PROPERTIES:
|
case ERROR_UNABLE_TO_READ_PROPERTIES:
|
||||||
sMessage = "Unable to read properties file";
|
sMessage = "Unable to read properties file";
|
||||||
break;
|
break;
|
||||||
|
case ERROR_UNABLE_TO_OPEN_TEMPLATE:
|
||||||
|
sMessage = "Unable to open template";
|
||||||
|
break;
|
||||||
|
case ERROR_FILEWRITER_CREATE_FAILED:
|
||||||
|
sMessage = "FileWriter create failed";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
sMessage = "Unknown error: " + err;
|
sMessage = "Unknown error: " + err;
|
||||||
break;
|
break;
|
||||||
@ -470,7 +504,7 @@ public class InitConfigFile
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fw.write(this.getClass().getName() + ": " + s + "\r\n");
|
raf.writeUTF(this.getClass().getName() + ": " + s + "\r\n");
|
||||||
}
|
}
|
||||||
catch (IOException ioe)
|
catch (IOException ioe)
|
||||||
{
|
{
|
||||||
|
@ -52,15 +52,17 @@ public class MungeCryptoPropertiesFilePath
|
|||||||
FileWriter fw;
|
FileWriter fw;
|
||||||
String sInput;
|
String sInput;
|
||||||
String sOutput;
|
String sOutput;
|
||||||
|
int rc;
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
MungeCryptoPropertiesFilePath p = new MungeCryptoPropertiesFilePath(args);
|
MungeCryptoPropertiesFilePath p = new MungeCryptoPropertiesFilePath(args);
|
||||||
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
MungeCryptoPropertiesFilePath(String[] args)
|
MungeCryptoPropertiesFilePath(String[] args)
|
||||||
{
|
{
|
||||||
int rc = ERROR_NO_ERROR;
|
rc = ERROR_NO_ERROR;
|
||||||
|
|
||||||
fileInput = null;
|
fileInput = null;
|
||||||
fileOutput = null;
|
fileOutput = null;
|
||||||
@ -100,20 +102,48 @@ public class MungeCryptoPropertiesFilePath
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
|
int iOld;
|
||||||
int i;
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length != 2)
|
if (argsOld.length < 2)
|
||||||
{
|
{
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + args[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i <= iNew; i++)
|
||||||
{
|
{
|
||||||
log("arg[" + i + "] = " +args[i]);
|
log("arg[" + i + "] = " +args[i]);
|
||||||
|
|
||||||
@ -250,7 +280,7 @@ public class MungeCryptoPropertiesFilePath
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR_MISSING_INPUT_FILE:
|
case ERROR_MISSING_INPUT_FILE:
|
||||||
sMessage = "Invalid number of parameters: 2 expected";
|
sMessage = "Missing input file";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ERROR_OUTPUT_COPY_FAILED:
|
case ERROR_OUTPUT_COPY_FAILED:
|
||||||
|
@ -47,6 +47,7 @@ public class ServerKeystoreSetup
|
|||||||
|
|
||||||
String sInstallDir;
|
String sInstallDir;
|
||||||
Properties properties;
|
Properties properties;
|
||||||
|
int rc;
|
||||||
|
|
||||||
// debug stuff
|
// debug stuff
|
||||||
File file;
|
File file;
|
||||||
@ -55,26 +56,18 @@ public class ServerKeystoreSetup
|
|||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
ServerKeystoreSetup p = new ServerKeystoreSetup(args);
|
ServerKeystoreSetup p = new ServerKeystoreSetup(args);
|
||||||
p = null;
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
ServerKeystoreSetup(String[] args)
|
ServerKeystoreSetup(String[] args)
|
||||||
{
|
{
|
||||||
int rc;
|
rc = ERROR_NO_ERROR;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// DEBUG STUFF
|
// DEBUG STUFF
|
||||||
file = new File("c:\\test2.log");
|
file = new File("c:\\test2.log");
|
||||||
fw = new FileWriter(file);
|
fw = new FileWriter(file);
|
||||||
|
|
||||||
log("Here we go again: " + args.length);
|
|
||||||
for (int i = 0; i < args.length; i++)
|
|
||||||
{
|
|
||||||
log("Arg " + i + " = " + args[i] + "\r\n");
|
|
||||||
}
|
|
||||||
// DEBUG STUFF
|
|
||||||
|
|
||||||
// Process the input params
|
// Process the input params
|
||||||
if (ERROR_NO_ERROR == (rc = processArgs(args)))
|
if (ERROR_NO_ERROR == (rc = processArgs(args)))
|
||||||
{
|
{
|
||||||
@ -96,16 +89,24 @@ public class ServerKeystoreSetup
|
|||||||
{
|
{
|
||||||
rc = ERROR_IO_EXCEPTION;
|
rc = ERROR_IO_EXCEPTION;
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
String sProperties;
|
String sProperties;
|
||||||
File fileInstallDir = null;
|
File fileInstallDir = null;
|
||||||
File fileProperties = null;
|
File fileProperties = null;
|
||||||
FileInputStream fisProperties = null;
|
FileInputStream fisProperties = null;
|
||||||
|
int iOld;
|
||||||
int i;
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length < 2)
|
if (args.length < 2)
|
||||||
@ -113,7 +114,28 @@ public class ServerKeystoreSetup
|
|||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + args[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for (i = 0; i <= iNew; i++)
|
||||||
{
|
{
|
||||||
// is this the install dir param?
|
// is this the install dir param?
|
||||||
if (args[i].startsWith(INSTALL_DIR))
|
if (args[i].startsWith(INSTALL_DIR))
|
||||||
|
@ -58,15 +58,17 @@ public class SetupAsWindowsService
|
|||||||
FileWriter fw;
|
FileWriter fw;
|
||||||
String sInstallDir;
|
String sInstallDir;
|
||||||
String sOutput;
|
String sOutput;
|
||||||
|
int rc;
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
SetupAsWindowsService p = new SetupAsWindowsService(args);
|
SetupAsWindowsService p = new SetupAsWindowsService(args);
|
||||||
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetupAsWindowsService(String[] args)
|
SetupAsWindowsService(String[] args)
|
||||||
{
|
{
|
||||||
int rc = ERROR_NO_ERROR;
|
rc = ERROR_NO_ERROR;
|
||||||
|
|
||||||
properties = new Properties();
|
properties = new Properties();
|
||||||
fileProperties = null;
|
fileProperties = null;
|
||||||
@ -111,24 +113,47 @@ public class SetupAsWindowsService
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
String sProperties;
|
String sProperties;
|
||||||
File fileInstallDir = null;
|
File fileInstallDir = null;
|
||||||
int i;
|
|
||||||
int iEquals;
|
int iEquals;
|
||||||
String sKey;
|
String sKey;
|
||||||
String sValue;
|
String sValue;
|
||||||
|
int iOld;
|
||||||
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length != 2)
|
if (args.length < 2)
|
||||||
{
|
{
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
{
|
{
|
||||||
log("arg[" + i + "] = " +args[i]);
|
log("arg[" + i + "] = " +args[i]);
|
||||||
|
@ -60,16 +60,16 @@ public class UpdateWarFile
|
|||||||
String sInstallDir;
|
String sInstallDir;
|
||||||
File file;
|
File file;
|
||||||
FileWriter fw;
|
FileWriter fw;
|
||||||
|
int rc;
|
||||||
|
|
||||||
public static void main(String[] args)
|
public static void main(String[] args)
|
||||||
{
|
{
|
||||||
UpdateWarFile p = new UpdateWarFile(args);
|
UpdateWarFile p = new UpdateWarFile(args);
|
||||||
|
System.exit(p.rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateWarFile(String[] args)
|
UpdateWarFile(String[] args)
|
||||||
{
|
{
|
||||||
int rc = ERROR_NO_ERROR;
|
|
||||||
|
|
||||||
sInstallDir = null;
|
sInstallDir = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
@ -106,20 +106,43 @@ public class UpdateWarFile
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.exit(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int processArgs(String[] args)
|
int processArgs(String[] argsOld)
|
||||||
{
|
{
|
||||||
File fileInstallDir = null;
|
File fileInstallDir = null;
|
||||||
|
int iOld;
|
||||||
int i;
|
int i;
|
||||||
|
String args[] = new String[argsOld.length];
|
||||||
|
int iNew;
|
||||||
|
|
||||||
|
log("Original arg count " + argsOld.length);
|
||||||
|
for (i = 0; i < argsOld.length; i++)
|
||||||
|
{
|
||||||
|
log("Arg " + i + " = " + argsOld[i] + "\r\n");
|
||||||
|
}
|
||||||
|
|
||||||
// Validate the number of parameters
|
// Validate the number of parameters
|
||||||
if (args.length != 1)
|
if (args.length < 1)
|
||||||
{
|
{
|
||||||
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
return ERROR_INVALID_NUMBER_OF_PARAMS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
iNew = -1;
|
||||||
|
for (iOld = 0; iOld < argsOld.length; iOld++)
|
||||||
|
{
|
||||||
|
if (0 <= argsOld[iOld].indexOf("="))
|
||||||
|
{
|
||||||
|
iNew++;
|
||||||
|
args[iNew] = argsOld[iOld];
|
||||||
|
for (i = iOld + 1; i < argsOld.length && (-1 == argsOld[i].indexOf("=")); i++)
|
||||||
|
{
|
||||||
|
args[iNew] += " " + argsOld[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log("New arg count " + args.length);
|
||||||
for (i = 0; i < args.length; i++)
|
for (i = 0; i < args.length; i++)
|
||||||
{
|
{
|
||||||
log("arg[" + i + "] = " + args[i]);
|
log("arg[" + i + "] = " + args[i]);
|
||||||
@ -388,7 +411,7 @@ public class UpdateWarFile
|
|||||||
sMessage = "No error";
|
sMessage = "No error";
|
||||||
break;
|
break;
|
||||||
case ERROR_INVALID_NUMBER_OF_PARAMS:
|
case ERROR_INVALID_NUMBER_OF_PARAMS:
|
||||||
sMessage = "Invalid number of parameters: 4 expected";
|
sMessage = "Invalid number of parameters: 1make expected";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sMessage = "Unknown error: " + err;
|
sMessage = "Unknown error: " + err;
|
||||||
|
@ -75,6 +75,12 @@
|
|||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
|
"MsmKey" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
"MsmKey" = "8:_4023D519AC024666B875F39FEE70302D"
|
"MsmKey" = "8:_4023D519AC024666B875F39FEE70302D"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
@ -243,12 +249,6 @@
|
|||||||
}
|
}
|
||||||
"Entry"
|
"Entry"
|
||||||
{
|
{
|
||||||
"MsmKey" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
|
||||||
}
|
|
||||||
"Entry"
|
|
||||||
{
|
|
||||||
"MsmKey" = "8:_D49BFC7330DD49F0BDE8F9C2EF409405"
|
"MsmKey" = "8:_D49BFC7330DD49F0BDE8F9C2EF409405"
|
||||||
"OwnerKey" = "8:_UNDEFINED"
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
"MsmSig" = "8:_UNDEFINED"
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
@ -386,199 +386,199 @@
|
|||||||
{
|
{
|
||||||
"CustomAction"
|
"CustomAction"
|
||||||
{
|
{
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0649C6635880499891B6B5E745610A71"
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0C4AE9D91D7D47208BF7E9E0CBB1710F"
|
||||||
{
|
{
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaAuthTokenSettingsEditor.bat)"
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - startup.bat)"
|
||||||
"Condition" = "8:"
|
"Condition" = "8:"
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
"FileType" = "3:2"
|
"FileType" = "3:2"
|
||||||
"InstallAction" = "3:1"
|
"InstallAction" = "3:1"
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\startup.bat output=[TARGETDIR]ats\\bin\\startup.bat"
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:10"
|
|
||||||
"Identifier" = "8:_C9280ED9_FF85_41A1_A63F_1D5A4DE7F708"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_0D67D4E2DF614063A6E484DA7634504E"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (ServerKeystoreSetup)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ServerKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:1"
|
|
||||||
"Identifier" = "8:_95FF5D11_14EF_4F9B_8F58_CE64CB7D4B8C"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_1342D0740E9D4057A7A52F213A87522E"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - shutdown.bat)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\shutdown.bat output=[TARGETDIR]ats\\bin\\shutdown.bat"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:8"
|
|
||||||
"Identifier" = "8:_D5A5CC5A_E7DE_4A66_8B8B_AC62B1F0E802"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_18232292AAE24AC8890F4EDC2C6CA303"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - svc.setting)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\svc.settings output=[TARGETDIR]ats\\etc\\svc\\svc.settings"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:13"
|
|
||||||
"Identifier" = "8:_D0E0C7AD_FE1B_42BC_84CB_367FF7DA3462"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_29F602AEB0EE49038CF6F2FCCAB91D13"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (UpdateWarFile) Must occur after MungeCryptoPropertiesFilePath"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" UpdateWarFile ATS_INSTALL_DIR=[TARGETDIR]"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:6"
|
|
||||||
"Identifier" = "8:_EE7DCFDC_5F7D_4CB5_A0CF_94F7FA99D5E3"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_4C26B01B6C7D45C1B87201E4021E5C34"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaSvcSettingsEditor.bat)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaSvcSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaSvcSettingsEditor.bat"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:12"
|
|
||||||
"Identifier" = "8:_0712449A_9964_46BE_B561_3D920BEB6858"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_86FFE7CBBCAE482B943C1345B8A19463"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - crypto.properties) Must occur prior to MungeCryptoPropertiesFilePath"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:4"
|
|
||||||
"Identifier" = "8:_DCF56A01_EC29_4577_BF02_98B5C0530733"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_963A40E37B0B4C4D88DF53E8857DFC55"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaIdenTokenSettingsEditor.bat)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaIdenTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaIdenTokenSettingsEditor.bat"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:11"
|
|
||||||
"Identifier" = "8:_3A733ACF_EEB9_4CB3_AC1F_1BE0D2754801"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A8313CF92A734AF496D20732762B3AC8"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - CasaAuthPolicyEditor.bat)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthPolicyEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthPolicyEditor.bat"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:9"
|
|
||||||
"Identifier" = "8:_A0F2A4A3_2CAF_4930_9CA7_394EBED23657"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_BA6223F1398F4FFDAAB8418B6CBA7254"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (SetupAsWindowsService)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" SetupAsWindowsService installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:14"
|
|
||||||
"Identifier" = "8:_7A98817C_F65F_4FA3_86D5_1CA9941CB2ED"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_BC29F1229F604A44B70AC43EEE347C89"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (MungeCryptoPropertiesFilePath) Must occur after InitConfigFile for crypto.properties and prior to UpdateWarFile"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" MungeCryptoPropertiesFilePath input=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:5"
|
|
||||||
"Identifier" = "8:_0DF5E5EA_0E59_4C5A_89E9_8E215C5B65EE"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_CF3F745785C74730B9C621D7CA4601BE"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (ClientKeystoreSetup)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" ClientKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
|
||||||
"EntryPoint" = "8:"
|
|
||||||
"Sequence" = "3:2"
|
|
||||||
"Identifier" = "8:_23EDDD01_570B_4D80_BFE1_F1506C8BE5D3"
|
|
||||||
"InstallerClass" = "11:FALSE"
|
|
||||||
"CustomActionData" = "8:"
|
|
||||||
}
|
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E0F0B5DC44B644FEA323F054D95632EA"
|
|
||||||
{
|
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - startup.bat)"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
"FileType" = "3:2"
|
|
||||||
"InstallAction" = "3:1"
|
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\startup.bat output=[TARGETDIR]ats\\bin\\startup.bat"
|
|
||||||
"EntryPoint" = "8:"
|
"EntryPoint" = "8:"
|
||||||
"Sequence" = "3:7"
|
"Sequence" = "3:7"
|
||||||
"Identifier" = "8:_CA5EFB45_9474_4F04_93D5_67848CE9D58A"
|
"Identifier" = "8:_18F0776E_A735_4E77_B376_47F1F4F23F97"
|
||||||
"InstallerClass" = "11:FALSE"
|
"InstallerClass" = "11:FALSE"
|
||||||
"CustomActionData" = "8:"
|
"CustomActionData" = "8:"
|
||||||
}
|
}
|
||||||
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E7EF78190F31478F894EC953D6954F80"
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_4AB953C8E8AA4E44B7A3D2DDD163C040"
|
||||||
{
|
{
|
||||||
"Name" = "8:Primary Output from CommandLauncher (Active) (InitConfigFile - server.xml)"
|
"Name" = "8:CommandLauncher.exe (MungeCryptoPropertiesFilePath) Must occur after InitConfigFile for crypto.properties and prior to UpdateWarFile"
|
||||||
"Condition" = "8:"
|
"Condition" = "8:"
|
||||||
"Object" = "8:_CABCFB3A84AF483B87164D02AE147ACE"
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
"FileType" = "3:2"
|
"FileType" = "3:2"
|
||||||
"InstallAction" = "3:1"
|
"InstallAction" = "3:1"
|
||||||
"Arguments" = "8:\"[ATS_JAVA_EXE]\" -cp \"[TARGETDIR]ats\\bin\" InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\server-sun.xml output=[TARGETDIR]ats\\catalinabase\\conf\\server.xml"
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin MungeCryptoPropertiesFilePath input=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:5"
|
||||||
|
"Identifier" = "8:_489F695D_617D_408B_A286_9096FF4C6030"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_529AA37D245B449F931A370D031F1328"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - server.xml)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\server-sun.xml output=[TARGETDIR]ats\\catalinabase\\conf\\server.xml"
|
||||||
"EntryPoint" = "8:"
|
"EntryPoint" = "8:"
|
||||||
"Sequence" = "3:3"
|
"Sequence" = "3:3"
|
||||||
"Identifier" = "8:_81520F3E_2A16_41C2_8617_0E2A7AE15DC3"
|
"Identifier" = "8:_55B66D91_2329_429C_883B_90948337E433"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_89821E71155946E687F31736E33F4DB7"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (ServerKeystoreSetup)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin ServerKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:1"
|
||||||
|
"Identifier" = "8:_BD8E6CE6_3A8A_422F_92E2_AE38B360F1D9"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_A374DE89164249E0BDB101D9571CF8E9"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - CasaSvcSettingsEditor.bat)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaSvcSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaSvcSettingsEditor.bat"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:12"
|
||||||
|
"Identifier" = "8:_2E92C5A6_F77B_4CDA_A4EB_7819264E6DA9"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_AE2874BFCE6B428B9B16A9C5556C632E"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - CasaAuthPolicyEditor.bat)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthPolicyEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthPolicyEditor.bat"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:9"
|
||||||
|
"Identifier" = "8:_AC56AE2C_72B9_43DD_BEEF_7C3CD286D8AE"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_B0B10FA0B8764388BBD2E27EF9369BD1"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - shutdown.bat)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\shutdown.bat output=[TARGETDIR]ats\\bin\\shutdown.bat"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:8"
|
||||||
|
"Identifier" = "8:_03320D51_6BDF_4F8C_B6C0_214BF474A4C7"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_B9B971E2D7DC41D1888E7896C4E29984"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (UpdateWarFile) Must occur after MungeCryptoPropertiesFilePath"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin UpdateWarFile ATS_INSTALL_DIR=[TARGETDIR]"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:6"
|
||||||
|
"Identifier" = "8:_20F8E908_8BBA_40B5_B8AD_76B2F6C7A562"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_C085F74CD409462F8662188E243C3B3E"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - svc.setting)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\svc.settings output=[TARGETDIR]ats\\etc\\svc\\svc.settings"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:13"
|
||||||
|
"Identifier" = "8:_276FE83B_55B4_4779_B844_1E46693FBDE3"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_CBD36E7C65454FAEAFAFBB089F552379"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - crypto.properties) Must occur prior to MungeCryptoPropertiesFilePath"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] template=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.template output=[TARGETDIR]ats\\etc\\svc\\templates\\crypto.properties.munge"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:4"
|
||||||
|
"Identifier" = "8:_52B37947_0117_4E54_A3CE_CE1092EF5AFF"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_D79DF1FB77624071BF5551DB76E3FC15"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - CasaIdenTokenSettingsEditor.bat)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaIdenTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaIdenTokenSettingsEditor.bat"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:11"
|
||||||
|
"Identifier" = "8:_FD7621D3_DCE1_4D53_855E_7F3A809067BB"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_E127B13AEB1E4F6ABFDE9FF0E6309065"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (ClientKeystoreSetup)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin ClientKeystoreSetup installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:2"
|
||||||
|
"Identifier" = "8:_26CA921F_983F_4174_9FBE_0CA0D335BF56"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_F866EA13E789416D8C4A00BF1AF426BB"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (InitConfigFile - CasaAuthTokenSettingsEditor.bat)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin InitConfigFile ATS_INSTALL_DIR=[TARGETDIR] propertyfile=[PROPERTYFILE] template=[TARGETDIR]ats\\etc\\svc\\templates\\CasaAuthTokenSettingsEditor.bat output=[TARGETDIR]ats\\bin\\CasaAuthTokenSettingsEditor.bat"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:10"
|
||||||
|
"Identifier" = "8:_91DE6CAB_D3AF_4332_B355_F25852979834"
|
||||||
|
"InstallerClass" = "11:FALSE"
|
||||||
|
"CustomActionData" = "8:"
|
||||||
|
}
|
||||||
|
"{4AA51A2D-7D85-4A59-BA75-B0809FC8B380}:_FDB694C476A043499BB15516B7E7C6B2"
|
||||||
|
{
|
||||||
|
"Name" = "8:CommandLauncher.exe (SetupAsWindowsService)"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Object" = "8:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
"FileType" = "3:2"
|
||||||
|
"InstallAction" = "3:1"
|
||||||
|
"Arguments" = "8:[ATS_JAVA_EXE] -cp [TARGETDIR]ats\\bin SetupAsWindowsService installdir=[TARGETDIR] propertyfile=[PROPERTYFILE]"
|
||||||
|
"EntryPoint" = "8:"
|
||||||
|
"Sequence" = "3:14"
|
||||||
|
"Identifier" = "8:_61CF50D6_CFBF_4737_A055_8FE995A2D184"
|
||||||
"InstallerClass" = "11:FALSE"
|
"InstallerClass" = "11:FALSE"
|
||||||
"CustomActionData" = "8:"
|
"CustomActionData" = "8:"
|
||||||
}
|
}
|
||||||
@ -593,14 +593,6 @@
|
|||||||
{
|
{
|
||||||
"LaunchCondition"
|
"LaunchCondition"
|
||||||
{
|
{
|
||||||
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BA7D09B79B98484EA57C0B200985420C"
|
|
||||||
{
|
|
||||||
"Name" = "8:.NET Framework"
|
|
||||||
"Message" = "8:[VSDNETMSG]"
|
|
||||||
"Version" = "8:2.0.50727"
|
|
||||||
"AllowLaterVersions" = "11:FALSE"
|
|
||||||
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=9832"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"File"
|
"File"
|
||||||
@ -805,6 +797,26 @@
|
|||||||
"IsDependency" = "11:FALSE"
|
"IsDependency" = "11:FALSE"
|
||||||
"IsolateTo" = "8:"
|
"IsolateTo" = "8:"
|
||||||
}
|
}
|
||||||
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_32E2D317FBCD4B25904D5402E547B8A8"
|
||||||
|
{
|
||||||
|
"SourcePath" = "8:..\\CommandLauncher\\bin\\CommandLauncher.exe"
|
||||||
|
"TargetName" = "8:CommandLauncher.exe"
|
||||||
|
"Tag" = "8:"
|
||||||
|
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Vital" = "11:TRUE"
|
||||||
|
"ReadOnly" = "11:FALSE"
|
||||||
|
"Hidden" = "11:FALSE"
|
||||||
|
"System" = "11:FALSE"
|
||||||
|
"Permanent" = "11:FALSE"
|
||||||
|
"SharedLegacy" = "11:FALSE"
|
||||||
|
"PackageAs" = "3:1"
|
||||||
|
"Register" = "3:1"
|
||||||
|
"Exclude" = "11:FALSE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"IsolateTo" = "8:"
|
||||||
|
}
|
||||||
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4023D519AC024666B875F39FEE70302D"
|
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_4023D519AC024666B875F39FEE70302D"
|
||||||
{
|
{
|
||||||
"SourcePath" = "8:..\\..\\..\\Svc\\tomcat5\\conf\\windows\\server-sun.xml"
|
"SourcePath" = "8:..\\..\\..\\Svc\\tomcat5\\conf\\windows\\server-sun.xml"
|
||||||
@ -1901,13 +1913,6 @@
|
|||||||
}
|
}
|
||||||
"LaunchCondition"
|
"LaunchCondition"
|
||||||
{
|
{
|
||||||
"{836E08B8-0285-4809-BA42-01DB6754A45D}:_8AEFF1A6376B4319B6A6D2DDC9A2E067"
|
|
||||||
{
|
|
||||||
"Name" = "8:Visual J# .NET"
|
|
||||||
"Condition" = "8:REQ_VJSLIB_VER_PRESENT = \"TRUE\""
|
|
||||||
"Message" = "8:[VSDVJSMSG]"
|
|
||||||
"InstallUrl" = "8:http://msdn.microsoft.com/vjsharp"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
"Locator"
|
"Locator"
|
||||||
{
|
{
|
||||||
@ -1919,9 +1924,9 @@
|
|||||||
"Product"
|
"Product"
|
||||||
{
|
{
|
||||||
"Name" = "8:Microsoft Visual Studio"
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
"ProductName" = "8:server-java_msi"
|
"ProductName" = "8:CasaAuthTokenSvc"
|
||||||
"ProductCode" = "8:{A8C0CB21-B404-4B79-B076-ECA9AB23D80A}"
|
"ProductCode" = "8:{A8C0CB21-B404-4B79-B076-ECA9AB23D80A}"
|
||||||
"PackageCode" = "8:{C55D4877-9F39-49A6-9BA9-3ABFF15B61E7}"
|
"PackageCode" = "8:{B0D90017-E0E4-4DAD-807A-F40C90AC5172}"
|
||||||
"UpgradeCode" = "8:{DCF8EE94-B530-4C96-9C74-CEA1A54769AF}"
|
"UpgradeCode" = "8:{DCF8EE94-B530-4C96-9C74-CEA1A54769AF}"
|
||||||
"RestartWWWService" = "11:FALSE"
|
"RestartWWWService" = "11:FALSE"
|
||||||
"RemovePreviousVersions" = "11:FALSE"
|
"RemovePreviousVersions" = "11:FALSE"
|
||||||
@ -1931,7 +1936,7 @@
|
|||||||
"Manufacturer" = "8:Novell"
|
"Manufacturer" = "8:Novell"
|
||||||
"ARPHELPTELEPHONE" = "8:"
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
"ARPHELPLINK" = "8:"
|
"ARPHELPLINK" = "8:"
|
||||||
"Title" = "8:server-java_msi"
|
"Title" = "8:CasaAuthTokenSvc"
|
||||||
"Subject" = "8:"
|
"Subject" = "8:"
|
||||||
"ARPCONTACT" = "8:Novell"
|
"ARPCONTACT" = "8:Novell"
|
||||||
"Keywords" = "8:"
|
"Keywords" = "8:"
|
||||||
@ -2439,40 +2444,9 @@
|
|||||||
}
|
}
|
||||||
"ProjectOutput"
|
"ProjectOutput"
|
||||||
{
|
{
|
||||||
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_CABCFB3A84AF483B87164D02AE147ACE"
|
|
||||||
{
|
|
||||||
"SourcePath" = "8:..\\CommandLauncher\\bin\\CommandLauncher.exe"
|
|
||||||
"TargetName" = "8:"
|
|
||||||
"Tag" = "8:"
|
|
||||||
"Folder" = "8:_62B357DC6D484761A18291FA3525320C"
|
|
||||||
"Condition" = "8:"
|
|
||||||
"Transitive" = "11:FALSE"
|
|
||||||
"Vital" = "11:TRUE"
|
|
||||||
"ReadOnly" = "11:FALSE"
|
|
||||||
"Hidden" = "11:FALSE"
|
|
||||||
"System" = "11:FALSE"
|
|
||||||
"Permanent" = "11:FALSE"
|
|
||||||
"SharedLegacy" = "11:FALSE"
|
|
||||||
"PackageAs" = "3:1"
|
|
||||||
"Register" = "3:1"
|
|
||||||
"Exclude" = "11:FALSE"
|
|
||||||
"IsDependency" = "11:FALSE"
|
|
||||||
"IsolateTo" = "8:"
|
|
||||||
"ProjectOutputGroupRegister" = "3:1"
|
|
||||||
"OutputConfiguration" = "8:"
|
|
||||||
"OutputGroupCanonicalName" = "8:Built"
|
|
||||||
"OutputProjectGuid" = "8:{B52EF84A-D745-4637-9F59-DBD6E21C179C}"
|
|
||||||
"ShowKeyOutput" = "11:TRUE"
|
|
||||||
"ExcludeFilters"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
"VJSharpPlugin"
|
"VJSharpPlugin"
|
||||||
{
|
{
|
||||||
"{9AEDD1B1-1EB5-4D12-B9BF-B1D3825A492E}:_8AEFF1A6376B4319B6A6D2DDC9A2E067"
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user