Error during installation - SharePoint 2013

Error instalando prerequisitos en SharePoint 2013

El primer paso antes de comenzar una instalación de SharePoint 2013 es lanzar la aplicación que comprueba los prerequisitos. Es en ese punto donde podemos encontrar este error:

Error: This tool supports Windows Server version 6.1 and version 6.2

 

Ventana de error al instalar prerequisitos en SharePoint 2013

La instalación se pretende realizar en un Windows 2008 R2. Al revisar el fichero de log generado por la aplicación de prerequisitos de SharePoint 2013 veremos algo como esto:

Processor architecture is (9)
Reading the following string value/name...
Common Startup
from the following registry location...
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
The value is...
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
Trying to remove the startup task if there is any.
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\SharePointServerPreparationToolStartup_0FF1CE14-0000-0000-0000-000000000000.cmd
Error: Startup task doesn't exist. This is not a continuation after a restart.
Locating the following command line arguments file:
D:\PrerequisiteInstaller.Arguments.txt
Error: This file does not exist
Details of the current operating system:
Major version number of the operating system:  (6)
Minor version number of the operating system:  (1)
Build number of the operating system:  (0X1DB0=7600)
Major version number of the latest Service Pack:  (0)
Minor version number of the latest Service Pack:  (0)
Platform ID of the operating system:  (2)
Product suites available on the operating system:  (0X112=274)
Product type of the operating system: VER_NT_SERVER
Product type:  (0)
OS type:  (2)
Error: This tool supports Windows Server version 6.1 and version 6.2
Configuring the application's property sheet...
Cannot retry
Opening log file
Opening log file
Opened action for user

Curiosamente el fichero de log muestra las siguientes líneas:

Major version number of the operating system: (6)
Minor version number of the operating system: (1)

Pero posteriormente el mensaje indica lo siguiente:

Error: This tool supports Windows Server version 6.1 and version 6.2

Cómo solucionar el error?

Para poder hacer la instalación de SharePoint 2013 es necesario tener un Windows 2008 R2 – SP1. Ese mensaje se produce porque el sistema operativo es un Windows 2008 R2, pero no está instalado el Service Pack 1.

Habrá que instalar el Service Pack 1 del sistema operativo:

Descarga del Service Pack 1 para Windows Server 2008 R2

Una vez instalado, la aplicación de prerequisitos se ejecutará correctamente. Luego podrán aparecer otros errores o problemas durante la instalación de SharePoint 2013, pero eso ya es otra historia…

El verdadero inventor del teléfono – Antonio Meucci

Si preguntásemos a un grupo de personas quién fue el inventor del teléfono, la mayoría (de los que supieran la respuesta claro) nos diría que el inventor fue Alexander Graham Bell. Sin embargo, eso no es cierto, el señor Bell tan solo fué el primero que lo patentó. El verdadero inventor del teléfono es Antonio Meucci, que originalmente lo llamó teletrófono y que debido a dificultades económicas en 1871 solamente pudo presentar una breve descripción del invento pero no formalizar la patente. Posteriormente en 1876 fue Graham Bell el que formalizó la patente y al que se le atribuyó el merito de haber sido el inventor del teléfono hasta que en el año 2002 el Congreso de Estados Unidos reconocía como verdadero inventor a Antonio Meucci.

Continue reading

Declarar funciones en páginas JSP

Al utilizar JSP, nuestro código finalmente se convierte en una clase Java, de forma que todo el código de la página JSP está contenido dentro de un método de esa clase.

En ocasiones necesitamos utilizar funciones dentro de nuestros JSP, para ello debemos añadir una declaración que estará situada entre los símbolos: <%! y %> de esa forma podremos tanto declarar variables como métodos que posteriormente podrán ser utilizados en el resto del código del JSP.

Veamos un ejemplo simple:

<%!
public String helloWorld(){
 return "Hello World";
}
%>

<%= helloWorld() %>

En este caso se ha declarado la función helloWorld y posteriormente, dentro del mismo JSP se hace una llamada a esta función.

Veamos otros ejemplo un poco más complejo:

<%@ page import="java.util.*" %>

<HTML>
<BODY>
<%!
Date theDate = new Date();
Date getDate()
{
System.out.println( "In getDate() method" );
return theDate;
}
%>

Hello! The time is now <%= getDate() %>

</BODY>
</HTML>

En este ejemplo se declara una variable theDate y un método getDate y los dos estarán disponibles posteriormente en el resto del código del JSP.

Sin embargo, si hacemos la prueba con el ejemplo anterior comprobaremos que en todas las llamadas al JSP la fecha siempre es la misma, independientemente de cuantas veces se recargue la página. Esto es debido a que estamos usando declaraciones, y el bloque en el que se incluyen solamente se evalúa una vez al cargar la página. En general, no es buena idea utilizar variables tal y como se muestra en el último ejemplo, ya que normalmente el JSP se ejecutará en forma de múltiples hilos, y para todos ellos habrá una única variable. En el caso de querer utilizar variables declaradas en el JSP habrá que hacer uso de la sincronización (synchronized ), sin embargo eso penalizará el rendimiento. Es por ello que todos los datos necesarios para el JSP deben estar en el objeto de sesión (session object) o en el de petición (request object).

Referencia original: JSP Declarations

Comando en windows para eliminar procesos en ejecución: taskkill

Hace unos días hablamos de un comando en windows para listar los procesos en ejecución, el objetivo era determinar la cantidad de memoria ocupada por un proceso  o un grupo de procesos. Bien, pero ¿que ocurre si lo que queremos es listar un proceso en ejecución y posteriormente eliminar este proceso? Por ejemplo, podriamos necesitar un script que compruebe si un determinado proceso se está ejecutando, y en tal caso eliminarlo. Incluso podriamos necesitar un script que se ejecute cada cierto tiempo, que compruebe la memoria ocupada por un determinado proceso y en caso de que esa memoria sobrepase unos límites se encargue de matar el proceso. Las opciones son variadas, y cuando lo que queramos sea eliminar procesos sin usar el administrador de tareas de Windows podremos usar el comando taskkill

Continue reading