Hacer portable un programa en .NET

Published by:

El otro día tuve un problema al tener que generar un programa que se descargaba desde una pagina web. El problema principal me venia que el programa contenía una serie de dll’s necesarias para funcionar.

Parecía que fuera necesario hacer una instalación, pero el principal uso del programa era poder ser ejecutado desde un USB…

Después de buscar mucho por Internet encontré una página donde se documentaba un método propio de Microsoft para juntar exe y dll en un mismo paquete sea también un exe o dll.

Este método en mi caso, permite juntar el programa exe con las dll necesarias para su funcionamiento y esto dentro de un único exe. Esto me permitía tener un solo fichero exe que se podía ejecutar desde un USB. (recordad igualmente que es necesario el Framework con el que este compilado el programa o superior.)

Pasos a seguir

  1. Descargar el programa de Microsoft en el siguiente enlace
    http://www.microsoft.com/en-us/download/details.aspx?id=17630
    Puedes instalar también usando NuGet
    https://www.nuget.org/packages/ilmerge
    La documentación la tenéis en este enlace
    http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx
  2. Instalar el programa en la máquina.
  3. Abrir ventana de MS-DOS para ejecutar el programa
    Entrar en la carpeta donde se ha instalado el programa, normalmente esta en
    C:\Program Files (x86)\Microsoft\ILMerge\
  4. Ejecutar ILMerge para unir los ficheros en uno solo
    Sintaxis básica:

    ilmerge [programa.exe] [libreria1.dll] [libreriaN.dll] /out:[programaDestino.exe] /ndebug

Con esto ya tendremos nuestro programa con las dll incrustadas a él. Ya podemos ejecutar el programa sin necesidad de tener instalado las librerías necesarias.

Espero que os sirva de ayuda.

Activar TLS 1.2 y desactivar SSL2 en IIS

Published by:

Actualmente en mi empresa estamos potenciando las aplicaciones SaaS y para mejorar la seguridad e imagen frente al cliente tenia que aumentar la seguridad de los servidores Windows para que aceptarán mas protocolos de seguridad para las páginas web que tenemos alojadas en los IIS.

En la página web https://www.ssllabs.com/ssltest/ podemos comprobar la puntuación que nos da según la seguridad de nuestro certificado SSL y la configuración del servidor.

En esta página, si tenemos un servidor Windows 2008 R2 con el IIS, nos dará una puntuación de F, la peor…

En la propia página nos indica que protocolos es necesario activar para poder subir la nota.

Después de buscar mucho en Internet y realizar varias pruebas esta es la configuración que se le ha de indicar a Windows para que se activen los protocolos necesarias para que podamos obtener una “A-” en las pruebas SSL.

  1. Abrimos el registro de windows
    Ejecutamos regedit en la ventana ejecutar.
  2. Abrimos el arbol de registro 
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    

    como se ve en la imagen siguiente
    Imagen 20140520_112451

  3. Si las claves que vemos en la imagen no existen se han de crear. Recordad que el Registro de Windows distinge entre Mayusculas y Minusculas
  4. Dentro de Client y Server de las claves TLS 1.1 y TLS 1.2 se han de añadir dos valores DWORD de 32bits como se indica a continuación, desactivando el Disable y forzando la activación.
    Imagen 20140520_112525
  5. Dentro de Client y Server de las claves SSL 2 se han de añadir dos valores DWORD de 32 bits como se indica a continuación, Activando el Disabled y forzando que no se active.
    Imagen 20140520_112511
  6. Después de realizar estos cambios se ha de reiniciar el ordenador para que tengan efecto.

Ahora ya podéis volver a pasar el test de SSL y veréis como vuestra puntuación ha pasado a ser un A- en 2008 R2 o “A” si es un Windows 2012 R2.

Si queréis hacerlo mas rápido aquí debajo os dejo el código que podéis pegar un un bloc de notas y luego cambiar la extensión a .reg para que os genere los valores y claves de forma automática.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

Espero que os sirva de ayuda.

Office 365 – Convertir un buzon de usuario a compartido para liberar licencias y no perder datos

Published by:

Últimamente he necesitado liberar licencias de Office 365 para poder utilizar-la para otros usuarios. Como los buzones antiguos ya no tenían que enviar correos electrónicos, sino, que solo eran necesarios para la recepción de correos o consulta de correos antiguos, podía pasar dichos buzones a buzones compartidos

    1. Conectar por PowerShell contra Office 365.Si no sabeis en este otro post se esplica como hacerlo.
      Conectar a Office 365 usando PowerShell
    2. Ejecutar el siguiente comandoEstó convertirá el buzon de usuario a un buzon compartido.
Set-Mailbox {alias} –ProhibitSendReceiveQuota 5GB –ProhibitSendQuota 4.75GB –IssueWarningQuota 4.5GB –type shared
  1. Desactivar licencia al usuario.
    1. Entrar en la parte de administración de Office 365
      365Admin
    2. Usuarios
      365Users
    3. Hacer clic sobre el nombre del usuario para editarlo.
      365User
    4. Sacarle la licencia.
      365UserLicense
    5. Guardar.

Ahora ya puedes usar la licencia liberada para cualquier otro usuario.

Espero que os sirva de ayuda.

Office 365 – Conectar a Office 365 usando PowerShell

Published by:

Hay dos páginas principales para conectar con Office 365 usando PowerShell para poder administrar Exchange OnLine.

Instalación y configuración de Windows PowerShell

Y para conectar una vez tengamos instalado el PowerShell

Conexión de Windows PowerShell al servicio

También podemos generar un script llamado por ejemplo LogIn.ps1

$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

Y otro LogOut.ps1

Remove-PSSession $Session

Así podremos conectar y desconectar más fácilmente.

Aqui tienes tambien una página con los cmdlets disponibles en el PowerShell
Referencia a los cmdlets disponibles de PowerShell en Exchange Online

jQuery mobile 1.4.0 Final Demos & docs

Published by:

El 15 de agosto ha aparecido la 2a Alpha del popular entorno jQuery mobile, que ya había aparecido el Alpha 1 el 25 de Julio.

En esta versión entre las mejoras más destacables son:

– Se reduce el número de temas a 2, oscuro y claro (Sera una influencia de los temas holo de android…)

– Uso de iconos vectoriales para una mejor adaptación a las diferentes tipos de pantallas, manteniendo la compatibilidad con PNG para navegadores que no lo soporten.

Para que podáis probarlo y poder ayudar al equipo de jQuery a mejorar aquí tenéis la aplicación con la última versión de jQuery mobile 1.4.0 que irá actualizándose cada vez que jQuery realice las nuevas versiones.

[appbox googleplay com.obadiola.android.docs.jquerymobile14X]

jQuery mobile 1.3.0 Final Demos & docs

Published by:

Hoy se ha actualizado la aplicación a la versión Release Final que ha sacado el equipo jQuery mobile el día 23 de febrero.

El entorno de demo y documentos se ha cambiado completamente, mostrando una interfaces mas limpia y actualizada. El propio entorno ahora hace uso de los paneles que justamente se han incluido en esta versión.

Espero que os sea de utilidad.

[appbox googleplay com.obadiola.android.docs.jquerymobile130]

jQuery mobile 1.1.0 Demos & docs

Published by:

Es una aplicación que contiene todos los documentos y demos de jQuery mobile 1.1.0 en formato offline.

Se puede ver el comportamiento de este magnifico framework sobre cualquier móvil Android desde la versión 2.1

Dentro de la aplicación se encuentra un pequeño servidor web para que el funcionamiento de jQuery mobile sea completo, igual que si estuviera en un servidor de Internet, pero dentro de tu teléfono móvil.

La documentación original se encuentra en http://jquerymobile.com/demos/1.1.0/

El permiso de Internet solo se usa para las estadísticas y la publicidad.

Espero que os sea de utilidad.

[appbox googleplay com.obadiola.jquerymobile.docs110]

jQuery mobile 1.0.1 Demos & docs

Published by:

Es una aplicación que contiene todos los documentos y demos de jQuery mobile 1.0.1 en formato offline.

Se puede ver el comportamiento de este magnifico framework sobre cualquier móvil Android desde la versión 2.1

Dentro de la aplicación se encuentra un pequeño servidor web para que el funcionamiento de jQuery mobile sea completo, igual que si estuviera en un servidor de Internet, pero dentro de tu teléfono móvil.

La documentación original se encuentra en http://jquerymobile.com/demos/1.0.1/

El permiso de Internet solo se usa para las estadísticas y la publicidad.

Espero que os sea de utilidad.

[appbox googleplay com.obadiola.jquerymobile.docs]

jQuery mobile 1.1.1 Demos & docs

Published by:

Es una aplicación que contiene todos los documentos y demos de jQuery mobile 1.1.1 en formato offline.

Se puede ver el comportamiento de este magnifico framework sobre cualquier móvil Android desde la versión 2.1

Dentro de la aplicación se encuentra un pequeño servidor web para que el funcionamiento de jQuery mobile sea completo, igual que si estuviera en un servidor de Internet, pero dentro de tu teléfono móvil.

La documentación original se encuentra en http://jquerymobile.com/demos/1.1.1/

El permiso de Internet solo se usa para las estadísticas y la publicidad.

Espero que os sea de utilidad.

[appbox googleplay com.obadiola.jquerymobile.docs.last]

jQuery mobile 1.3.0 beta1 Demos & docs

Published by:

Es una aplicación que contiene todos los documentos y demos de jQuery mobile 1.3 beta1 en formato offline.

Se puede ver el comportamiento de este magnifico framework sobre cualquier móvil Android desde la versión 2.1

Dentro de la aplicación se encuentra un pequeño servidor web para que el funcionamiento de jQuery mobile sea completo, igual que si estuviera en un servidor de Internet, pero dentro de tu teléfono móvil.

El permiso de Internet solo se usa para las estadísticas y la publicidad.

Espero que os sea de utilidad.

[appbox googleplay com.obadiola.android.docs.jquerymobile130]