SOLUCION AL MSI.dot4msi, code 2753 Instalando impresora HP

Uno de los problemas que tenia al instalar una impresora HP del paquete "hp_LJ3050-3052-3055-3390-3392_Full_Solution" fue lo siguiente "Fatal error, MSI.dot4msi, code 2753 ..." no tenia idea de como solucionarlo y menos aun con la ayuda de HP la cual no me resulto efectiva.

Los pasos que para concluir con estos problemas son:

  1. Desintale programas anteriores que tenga de HP y elimine la informacion que se tiene en las carpetas de Instalación.
  2. Busque en "Services.msc" 2 servicios relacionados con HP, Pml Driver HPZ12 y Net Driver HPZ12, una vez encontrados proceda a detenerlos y a desactivarlos como servicios.
  3. Busque en el equipo 2 archivos (por lo general estaran en c:\windows\system32) HPZipm12.dll y HPZinw12.dll, una vez encontrados eliminelos y cuenteselo a quien mas confianza le tenga.
  4. Reinicie el equipo.
  5. Pruebe instalar su imporesora.
Luego de estos pasos la instalación se dió sin problemas, concluyendo asi con ratos de amargura.

Gracias a kiro-hikaru

Restar dos fechas GREGORIAN CALENDAR

El primer caso de restar dos fechas del tipo Gregorian Calendar, se presenta cuando ambas fechas implicadas pertenecen al mismo año. De esta manera la resta seria correcta en todo sentido.



GregorianCalendar t1 = new GregorianCalendar(2011,6,13);
GregorianCalendar t2 = new GregorianCalendar(2011,6,19);
// Restamos
int dias = t2.get(Calendar.DAY_OF_YEAR) - t1.get(Calendar.DAY_OF_YEAR);
//la respuesta sera de 6 dias

El problema se presenta cuando deseamos que esta resta se realice para fechas de diferente año para la cual presentamos una forma general que incluye el metodo anterior. Un punto importante aqui es identificar si los años tomado son bisiestos.


GregorianCalendar date1 = new GregorianCalendar(2009,11,25);
GregorianCalendar date2 = new GregorianCalendar(2010,0,2);
// verificamos si estamos en el mismo año
if (date1.get(Calendar.YEAR) == date2.get(Calendar.YEAR)) {
System.out.println( "Valor de Resta simple: " +String.valueOf(date2.get(Calendar.DAY_OF_YEAR) - date1.get(Calendar.DAY_OF_YEAR))); } else { // Si los años son distintos verificar que el año de inicio no sea bisiesto, ya que de serlo serian 366 dias el año, en caso contratio 365

int diasAnyo = date1.isLeapYear(date1.get(Calendar.YEAR)) ? 366 : 365;

// Calculando el rango de los años
int rangoAnyos = date2.get(Calendar.YEAR) - date1.get(Calendar.YEAR);

// Calculando rango de los dias que hay
int rango = (rangoAnyos * diasAnyo) + (date2.get(Calendar.DAY_OF_YEAR) - date1.get(Calendar.DAY_OF_YEAR));
}
System.out.println("Valor de rangoDias:" + (date2.get(Calendar.DAY_OF_YEAR) - date1.get(Calendar.DAY_OF_YEAR))); System.out.println("Valor de rangoAnyos: " + nAnyos); System.out.println("Valor de rango: " + rango);




Cambiar de puerto Oracle 10g XE

Hace unos meses tuve el problema con respecto al puerto que usaba la pagina principal de configuracion de Oracle 10g XE, por lo cual gracias a Neptuno encontre una forma saludable de cambiar dicho puerto.

En prime lugar me conecto a la base de datos por medio de la consola de Lineas de Comandos SQL y escribo lo siguiente:

SQL> connect system
Introduzca contraseña:
Conectado

SQL>; exec dbms_xdb.sethttpport(8095);

Procedimiento PL/SQL terminado correctamente.

SQL>; select dbms_xdb.gethttpport() from dual;

DBMS_XDB.GETHTTPPORT()
--------------------------------
8095


Tener en cuenta que no necesariamente tienen que usar el puerto que se indica, pueden elegir otro. Es todo, espero no volverlo a olvidar

Virus convierte carpetas en accesos directos

Hoy tuve un problema en la empresa al recibir una memoria infectada de un virus que convierte las carpetas en accesos directos, la cual infecto mi memoria USB. Luego de tranquilizarme busque en foros y encontre la siguiente solucion que me resultó genial.

Ingresar por medio del cmd a la letra de unidad donde se encuentra la memoria USB, y luego escribir el siguiente comando:

Attrib /d /s -r -h -s *.*
  • Attrib: Para visualizar o modificar atributos
  • /d: Para poder procesar carpetas
  • /s: Para poder procesar subcarpetas
  • -r: Quitar atributos de solo lectura
  • -h: Quitar atributos de oculto
  • -s: Quitar atributos de sistema
  • *.*: Para archivos de cualquier nombre, con cualquier extensión
Espero que les sirva de la misma forma que me sirvió.