Estos son algunos de los problemas con los que me he encontrado al instalar componentes de Persits y que suelen ser recurrentes en la mayoría de las instalaciones.
Los componentes que ofrece Persits son: AspEmail, AspUpload, AspJpeg, AspPdf, AspEncrypt, AspGrid, AspUser, Jupload, y Xupload.
¿Instalación automática o manual?
La instalación automática crea por defecto un directorio llamado Persits Software en Archivos de programa y además de extraer y registrar el componente (la .dll), extrae toda la documentación del mismo, los ejemplos…
En ocasiones falla la instalación o simplemente se quiere los componentes y ningún “extra” más. Para ello:
- Copia la dll en el servidor, por ejemplo aspupload.dll. Sino tienes la .dll puedes instalar en cualquier otro equipo y hacer un copy/paste del archivo.
- Registra el componente. Para ello debes utilizar el siguiente comando:
regsvr32 c:\componentesasp\aspupload.dll
3. Da permisos a los componentes y directorios donde estos vayan a escribir. El usuario de IIS que ejecuta el sitio necesita permisos NTFS de escritura en los directorios donde tenga que escribir y necesita control total al componente para poder crear el objeto.
La documentación de Persits recomienda Control total a todos en los directorios donde tenga que escribir y en los dll, aunque a mí me gusta ser algo más restrictivo que eso al menos en los directorios publicados con IIS.
4. Para todos los servicios de IIS y vuelve a levantarlos.
net stop iisadmin /y
iisreset /start
¿x32 o x64, Qué versión escoger?
La duda sólo la puedes tener si tu Windows es 64 bits, sino directamente escoge la versión de los componentes en 32 bits.
Hay que tener en cuenta que cada versión de componente es un producto diferente.
Lo que debes hacer es verificar el modo en el que corre IIS, esto se ve en la propiedad Enable32BitAppOnWin64 de la Metabase. Si esta a True IIS lanza sus procesos en modo de emulación 32 bits y si está a False (valor por defecto) entonces está corriendo en modo 64 bits.
¿Qué hacer si ya has adquirido la versión 64 bits y la que necesitas es la 32 bits?
No es necesario comprar la versión 32 bits del producto si sigues estos pasos:
-
Desinstala la versión de 64 bits.
-
Instala la versión de 32 bits. Si lo haces de forma automática cuando te pida el key dejalo en blanco y continua, así se instala en modo trial-license.
-
Abre el registro de windows y crea una nueva entrada llamada RegKey y que contenga la llave que tengas de Persits (Cambia AspEmail por el nombre del componente que corresponda):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Persits Software\AspEmail\RegKey
¿Qué hacer si ya has adquirido la versión 32 bits y la que necesitas es la 64 bits?
En este caso tienes 2 posibilidades:
-
Comprar la versión de 64 bits.
-
Pasar IIS a funcionar en modo 32 bits.
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 True
Algunos errores típicos
Persits.PdfManager.1 error ’800a002e’
Opening Output file failed: Access is denied.
====================================
Persits.Upload.1 (0x800A0005)
Access is denied.
La solución es dar permisos al usuario de IIS (IUSR_XXXX) sobre el directorio donde vamos a guardar los archivos generados.
Persits.MailSender.4 error ’800a0011′
Access is denied.
Este es otro problema común de permisos donde el usuario de IIS necesita permisos sobre el directorio de cola de mensajes (queue).
550 Relaying Denied
El motivo es que no se están cumpliendo las normas de envío del servidor de correo. Normalmente esto pasa por no usar un método con autenticación. Debes incluir las siguientes líneas antes de hacer el envío.
<%
Mail.Username = sergiosainz@mimail.com
Mail.Password = P@ssw0rd!
%>
Server object, ASP 0178 (0×80070005)
The call to Server.CreateObject failed while checking permissions. Access is denied to this object.
Se soluciona dando permisos Control Total a Todos a los .dll.