lunes, 30 de junio de 2008

Porque se aparecen un exe y msi cuando genero mi aplicación

Estás días y días programando y por fín has terminado tu programa. Ahora es tiempo de distribuirlo. Lo primero, claro está, es compilarlo como dios manda y para eso lo tienes sencillo: desde tu Visual Studio te vas al menú Generar y seleccionas Generar xxxx (te pondrá Generar y el nombre de tu aplicación). Con esto ya tienes tu programa recien compilado.

Ahora, te vas a hacer tu instalable (del que ya hablamos en este blog sobre como hacerlo) y cuando lo tienes hecho te das cuenta que aparece un setup.exe y un fichero llamado miaplicacion.msi (es decir, si tu programa se llama calculadora, tendrás un calculadora.msi). Y la pregunta del millón ¿cual ejecuto?

Pues la respuesta es sencilla: siempre ejecuta el setup.exe ¿porqué? Pues verás: si tu programa lleva algún otro componente, como por ejemplo el CRRedist2005_x86.msi (el Crystal Reports para .Net Framework) el setup.exe es el encargo de instalar, además de tu programa este otro componente.

Dicho de otro modo: si tu programa lleva más cosas y sólo ejecutas el msi, no se instalará correctamente, y todas esas cosas que lleva se quedarán sin instalar. Mientras que si ejecutas el setup.exe, todas esas cosas se irán instalando una detrás de otra. A si que, ya sabes, siempre que generes un instalable luego instala tu programa desde el setup.exe que es el que controla toda la instalación y así tu programa funcionará sin ningún problema.

domingo, 29 de junio de 2008

La programación es como el sexo

"La programación es como el sexo: un error y tendrás que darle soporte por el resto de tu vida" (anónimo)

jueves, 26 de junio de 2008

Comandos típicos en redes - Netstat


Otro comando que es realmente útil es netstat. Netstat te muestra todas las conexiones activas en el equipo. Tenemos estos modificadores:

Netstat -a: nos muestra todas las conexiones y puertos.
Netstat -e: muestras las estadísticas Ethernet
Netstat -n muestra direcciones y puertos en forma de numero.
Netstat -o: muestra que programa esta asociado a la conexión activa
Netstat - p (protocolo): permite especificar que protocolo se desea ver.TCP/UDP
Netstat -s: muestra estadísticas clasificas por protocolo.

miércoles, 25 de junio de 2008

Video tutoriales de Gimp


Suele ocurrir bastante a menudo que cuando estás programando necesitas hacer alguna retoque a alguna imagen para incluirla en tu programa, o necesitas un fondo para un formulario, o simplemente, capturar un icono que te iría de perlas en tu aplicación. Utilizar un programa potente como Gimp es una buena alternativa, especialmente por el hecho de que es libre y lo tienes disponible en la web. Pero claro, tu eres programador y no un diseñador gráfico, a si que, quizás te puedan venir bien estos videotutoriales de Gimp para que te puedas defender con lo más básico y sacarte de esos pequeños apuros que a veces uno se encuentra.

martes, 24 de junio de 2008

Consejos para ser un buen programador


En kabytes.com tenemos un listado extenso, comentado y muy ilustrativo con 20 consejos para ser un beun programador. De todos los que da (recomendamos su lectura desde estas líneas), me quedaría como los más importantes con los siguientes:

- Estudia, estudia y estudia
- Busca antes de preguntar
- Comenta todo lo que sea necesario

Y sobre todo, algo que quizás se ha pasado un poco por alto: programa, programa y programa.

lunes, 23 de junio de 2008

Enamorado de las computadoras

"Y llevé este libro a casa, que describía la computadora PDP 8 y simplemente... oh, era como una biblia para mí. Es decir, todas esas cosas de las cuales por algún motivo me he enamorado, como cuando uno se enamora de un juego de cartas llamado Magic, o se enamora de hacer crucigramas u otra cosa, o tocar un instrumento musical, yo me enamoré de esas pequeñas descripciones de computadoras en su interior, y era un poco como las matemáticas: podía trabajar algunos problemas en papel, resolverlos, y ver como se resolvía, y luego llegar a mis propias soluciones y sentirme bien interiormente." Steve Wozniak, co-fundador de Apple

domingo, 22 de junio de 2008

sábado, 21 de junio de 2008

Como convertir mas de 300 formatos a pdf


Via adictos a la red tenemos primopdf una web donde puedes crear archivos pdf desde archivos Microsoft Word (DOC, DOCX, RTF), Excel (XLS, XLSX), Powerpoint (PPT, PPTX), ODF, HTML, JPG, TXT, PNG, TIFF y EPS. Su funcionamiento es sencillísimo: introducimos el email al qur queremos que nos llegue el pdf, cargamos el archivo a convertir y listo, en unos pocos segundos tendremos el fichero convertido en nuestro email.

Ideal para convertir toda la documentación técnica de nuestros programas o aquellos molestos manuales de usuario que a nadie nos gusta hacer.

jueves, 19 de junio de 2008

Rompe los passwords de Windows


Via geek.com.mx me encuentro con un programa llamado ophcrack que te permite romper los passwords de Windows Xp y Windows Vista. Lo único que necesitas es tener acceso a la partición donde se encuentra el sistema operativo y ejecutar el programa. Muy útil para según que casos ;-)

martes, 17 de junio de 2008

Snippely - El repositorio online de scripts


Snippely es un programa que nos premitirá tener un repositorio local con todos aquellos code snippets que tenemos por ahí desperdigados. Una forma sencilla de tener esos ejemplos de código ordenados en nuestro ordenador.

lunes, 16 de junio de 2008

Un video de Windows 7

Pues eso, un video con algunas capturas de como podría ser el futuro Windows 7 ¿será un fake?

jueves, 12 de junio de 2008

Kaspersky y el virus GpCode


Comentan en Mediavida que Kaspersky ha pedido ayuda para luchar contra un nuevo virus bautizado como GpCode:

"GpCode es un virus que nos encripta los archivos y nos extorsiona para que paguemos dinero si queremos desencriptarlos. Contiene una algoritmo de encriptación RSA de 1024 bits indescifrable hasta el momento. La clave utilizada en el virus es tan potente, que según los ingenieros de Kaspersky, se necesitarian 15 millones de ordenadores modernos trabajando durante un año para romperla. [...] El virus de tipo troyano, nos encripta 143 tipos diferentes de archivos añadiendo el sufijo “_CRYPT” al nombre del archivo y eliminando el original."

Como recomendación: tener una copia de seguridad de los archivos y por suspuesto, no navegar ni descargarse nada sospechoso, tener el sistema operativo actualizado y un buen antivirus.

Información sobre GpCode:

F-Secure.com
Viruslist.com
Otra entrada en Viruslist.com

En Alerta-Antivirus: Virus GpCode

martes, 10 de junio de 2008

Saber la velocidad real del procesador


Crystal CPUID es una aplciación indispensable que te permite conocer mucha información de tu procesador, entre la que cabe destacar su velocidad real. Además, resulta muy util para realizar ciertas tareas a nivel de hardware, como el overclocking. Funciona perfectamente en los siguientes sistemas operativos: Vista/2003/XP/2000/NT4/Me/98/95.

lunes, 9 de junio de 2008

Consulta Sql para devolver los nombre de las bases de datos en Sql Server

Alguna que otra vez, desde algún programa, aparece la necesidad de conocer que bases de datos existen en el servidor Sql para poder crear una nueva o no crearla. Para saber las bases de datos que tenemos en Sql Server podemos utilizar una sencilla consulta:

select name from master..sysdatabases

Esta consulta sql nos devuelve un registro por cada una de las base de datos que tengamos instaladas en nuestro servidor Sql Server.

martes, 3 de junio de 2008

Capturar las teclas pulsadas en un form

A veces resulta util capturar las teclas que un usuario pulsa en un form. Por ejemplo, tenemos la típica aplicación que al pulsar F2 hace una cosa, F4 otra y así sucesivamente. Pues en Visual Basic .Net lo tenemos sencillo.

Lo primero de todo es poner la propiedad Keypreview del form a true, para que registre los eventos del teclado. Luego lo tenemos sencillo. Basta con ejecutar un sencillo código en el keypress. Por ejemplo:

Public Class Form1

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

MessageBox.Show("Has pulsado la tecla " & e.KeyChar)

End Sub
End Class