private static boolean doAction(String action, String root, String path, String type, String key, String data)
	{
		StringBuilder sb = new StringBuilder("");
		String[] query = null;
		Map<String, List<String>> results = null;
		
		try {
			sb.append("REG " + action + " " + root + path + " ");
	
			if( key == null ) 					{ }
			else if( key.trim().length() == 0 )	sb.append("/ve ");
			else								sb.append("/v " + key + " ");
			
			if( action.equals("ADD") )
			{
				sb.append("/t " + type + " " + "/d \"" + data + "\" ");
			}
			else if( action.equals("DELETE") )
			{
				
			}
			
			sb.append("/f");
			
			query = SyscallCreatorUtils.generate(sb.toString());
			results = ProcessUtils.run(query);
			
			for( int i = 0; i < results.size(); i++ )
				if( results.get("output").get(i).toLowerCase().contains("success") )
					return true;
			
		} catch (Exception e) {
			trace(STDERR, e);
			BugReportUtils.showBugReportDialog(e);
			return false;
		}
		return false;
	}