Compartir a través de


Solucionar problemas de proyectos de instalación e implementación

En los temas de esta sección se explican distintos problemas que pueden producirse al crear proyectos de implementación e implementar aplicaciones.

La versión de .NET Framework que requiere el proyecto de instalación es diferente de la versión de .NET Framework de destino de la aplicación

Los proyectos de instalación tienen una condición de inicio que comprueba si hay una versión determinada de .NET Framework. Sin embargo, es posible que la versión no sea la misma que la versión de .NET Framework de destino que usa la aplicación. Por ejemplo, su aplicación puede tener como destino .NET Framework 2.0, pero la condición de inicio en el proyecto de instalación puede buscar e instalar .NET Framework 3.5. Otro ejemplo es que una plantilla de proyecto de Visual Studio puede tener como destino .NET Framework 4 Client Profile, pero el proyecto de instalación tiene una condición de inicio para comprobar e instalar .NET Framework 4.

Para cambiar este comportamiento predeterminado, siga estos pasos:

  1. En el Explorador de soluciones, haga clic en el proyecto de instalación.

  2. En el menú Ver, elija Editor y, a continuación, haga clic en Condiciones de inicio.

  3. Haga clic en .NET Framework.

  4. En la ventana Propiedades, cambie la propiedad Version por la versión de .NET Framework que desea que el proyecto de instalación compruebe e instale.

Asegúrese de que el programa Setup.exe también comprueba e instala la versión correcta de .NET Framework. Para obtener más información, vea Requisitos previos (Cuadro de diálogo) y Cómo: Instalar los requisitos previos en la implementación de Windows Installer.

No se puede instalar .NET Framework 3.5 SP1 en Windows Server 2008 R2 o Windows 7

Puede configurar los proyectos de instalación para incluir .NET Framework 3.5 SP1 como un requisito previo. Sin embargo, al instalar este requisito previo en un equipo con Windows Server 2008 R2 o Windows 7, aparece el siguiente mensaje de error: "Debe utilizar la herramienta Administración de funciones para instalar o configurar Microsoft .NET Framework 3.5 SP1". Windows Server 2008 R2 tiene .NET Framework 3.5 SP1 como un componente opcional del sistema operativo pero, de forma predeterminada, este requisito previo está desactivado. Para obtener más información, vea Which Version of .NET is Built into Windows?

Para evitar este error, cambie el paquete de arranque de .NET Framework 3.5 SP1.

  1. Cree un programa ejecutable que ejecute esta línea de comandos: "ocsetup Netfx3".

  2. Navegue hasta la carpeta %ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1.

  3. Copie el programa ejecutable en la carpeta DotNetFX35SP1.

  4. Navegue hasta la carpeta en y abra el archivo package.xml con privilegios de administrador.

  5. Agregue un elemento <Command> en la sección <Commands> para ejecutar el programa ejecutable.

Errores que se producen al usar la utilidad de captura del Registro de Microsoft Visual Studio en Windows 7

Si usa la utilidad de captura del Registro de Microsoft Visual Studio (regcap.exe) en un equipo que ejecuta Windows 7, puede ver el siguiente error: "La utilidad de captura del Registro de Microsoft Visual Studio dejó de funcionar". El proyecto de instalación pude compilarse, pero, posteriormente, el archivo dll no se instalará.

Para evitar este error, siga estos pasos:

  1. Navegue hasta %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\Tools\Deployment.

  2. Haga clic con el botón secundario en regcap.exe y, a continuación, haga clic en Propiedades.

  3. Haga clic Compatibilidad.

  4. Active la casilla situada bajo el modo Compatibilidad.

No se detectan dependencias con proyectos de instalación de Visual C++

Si agrega un proyecto de instalación a una solución de Visual C++, las dependencias de la solución de Visual C++ tal vez no se detecten si la ruta de acceso de la carpeta tiene espacios en el nombre. Para solucionar este problema, cambie el nombre de los proyectos para quitar el espacio o agregue manualmente las dependencias. Por ejemplo, cambie el nombre Documents\Visual Studio 2010\Projects a Documents\VisualStudio2010\Projects.

No se pueden compilar proyectos de instalación en Visual Studio con control de código fuente

Cuando compila proyectos de instalación en Visual Studio 2008, puede ver errores como "El comando que está intentando no se puede completar porque el archivo filename.vdproj está bajo control de código fuente y no está desprotegido". Los proyectos de instalación no desprotegen automáticamente los archivos del control de código fuente.

Compatibilidad con el sistema operativo

El arranque de Visual Studio y el instalador de Visual Studio (proyectos de instalación) no se admiten en Windows Server 2008 Server Core ni en Windows Server 2008 R2 Server Core, que proporcionan un entorno de servidor de bajo mantenimiento y funcionalidad limitada. Por ejemplo, la opción de instalación Server Core solo admite .NET Framework 3.5 Server Core Profile, por lo que no se pueden ejecutar las características de Visual Studio que dependen de la versión completa de .NET Framework. Para obtener más información, vea Server Core.

No se pueden instalar acciones personalizadas administradas

Al instalar una acción personalizada administrada, puede ver un mensaje de error que dice que falta el archivo .installstate. Esto se produce si la acción personalizada administrada no implementa la acción Install. La acción Install crea el archivo .installstate y las demás acciones actualizan el archivo.

Para evitar este error, implemente las acciones Instalar, Desinstalar, Confirmar y Revertir en la acción personalizada.

No se pueden instalar los paquetes de idioma de .NET Framework 3.5 SP1 para una configuración regional si Visual Studio 2008 utiliza otra diferente

Cuando se selecciona .NET Framework 3.5 SP1 como un requisito previo en proyectos de instalación, Visual Studio no genera un arranque o un programa de instalación para instalar el paquete de idioma para una configuración regional diferente. Por ejemplo, si está utilizando una versión no japonesa de Visual Studio, el proyecto de instalación no incluye el paquete de idioma japonés de .NET Framework 3.5 SP1.

Para evitar este error y crear un redistribuible de japonés para .NET Framework 3.5 SP1, cree un nuevo directorio ja en %ProgramFiles%\Microsoft SDKs\Windows\v7 .0A\Bootstrapper\Packages\DotNetFX35SP1. El directorio ja debería contener un archivo eula.rtf y un archivo package.xml.

No se pueden instalar paquetes de idioma si .NET Framework 3.5 SP1 ya está instalado

Si .NET Framework 3.5 SP1 ya está instalado en un equipo, los paquetes de idioma de .NET Framework 3.5 SP1 no se pueden instalar. Por ejemplo, si un equipo ya tiene .NET Framework 3.5 SP1 instalado, no puede instalar el paquete de idioma japonés de .NET Framework 3.5 SP1 como un requisito previo en un instalador de aplicación diferente.

Como solución alternativa, cree un paquete de arranque para los paquetes de idioma únicamente. En el paquete de arranque, agregue una dependencia en .NET Framework 3.5 SP1 para que los paquetes de idioma solo se instalen si ya está instalado .NET Framework. Alternativamente, puede instalar los paquetes de idioma manualmente.

Las acciones personalizadas administradas de 64 bits producen una excepción System.BadImageFormatException

Si agrega una acción personalizada administrada de 64 bits a un proyecto de instalación, el proceso de compilación de Visual Studio incrusta una versión de 32 bits de InstallUtilLib.dll en el MSI como InstallUtil. A su vez, .NET Framework de 32 bits se carga para ejecutar la acción personalizada administrada de 64 bits y produce una excepción BadImageFormatException.

Como solución alternativa, reemplace el archivo InstallUtilLib.dll de 32 bits por la versión de 64 bits.

  1. Abra el .msi resultante en Orca, incluido en el Kit de desarrollo de software de Windows Installer.

  2. Seleccione la tabla Binary.

  3. Haga doble clic en la celda [Binary Data] para registrar InstallUtil.

  4. Asegúrese de que la opción "Leer binario de nombre de archivo" esté seleccionada y haga clic en el botón Examinar.

  5. Vaya a %WINDIR%\Microsoft.NET\Framework64\v2.0.50727.

    Nota

    El directorio Framework64 se instala únicamente en plataformas de 64 bits y corresponde al tipo de procesador de 64 bits.

  6. Seleccione InstallUtilLib.dll.

  7. Haga clic en el botón Abrir.

  8. Haga clic en el botón Aceptar.

Para obtener más información, vea 64-bit Managed Custom Actions with Visual Studio.

Crear una ruta de acceso para un cuadro de diálogo y cuadro de texto personalizados

Si crea un cuadro de diálogo con un cuadro de texto personalizado, el cuadro de diálogo "Carpeta de instalación" se debería colocar después del cuadro de diálogo personalizado. Después, el valor del directorio se propagará automáticamente. De lo contrario, si el orden del cuadro de diálogo y el cuadro de diálogo "Carpeta de instalación" se invierte, se debe propagar el valor del directorio manualmente.

En la Ventana de salida aparecen errores de compilación adicionales

Cuando se tiene un error de compilación concreto, también se pueden ver mensajes de error genéricos como "Error general al generar el arranque" o "Error irrecuperable de compilación". Ignore estos mensajes de error genéricos y aborde el error concreto.

Los archivos excluidos previamente se incluyen de nuevo cuando se vuelve a abrir la solución

Cuando se excluye un archivo de un proyecto de instalación, puede ver que el archivo se incluye de nuevo después de cerrar y volver a abrir la solución. Esto puede pasar si hay dos copias del mismo archivo DLL de dos ubicaciones de origen diferentes.

Para solucionarlo, cambie la propiedad Copy Local en uno de los archivos:

  1. En el Explorador de soluciones, haga clic en la referencia de la DLL que desea quitar.

  2. En el menú Ver, haga clic en la ventana Propiedades.

  3. Cambie la propiedad Copy Local a False.

Los proyectos de instalación dan el error 'No hay suficiente memoria disponible para completar esta operación' al compilar

Cuando agrega archivos grandes a un proyecto de instalación, el siguiente error aparece cuando intenta compilarlo: "No hay suficiente memoria disponible para completar esta operación" aun cuando el disco duro local tenga el espacio en disco disponible. También puede haber un aumento del uso de la memoria virtual durante el proceso de compilación.

Para evitar este error, agregue más RAM al equipo de compilación o pruebe esta solución alternativa:

  1. En el proyecto, agregue un archivo con el mismo nombre que el archivo grande.

  2. En la página de propiedades del proyecto, establezca el instalador para empaquetar como Archivos separados sin comprimir.

  3. Compile.

  4. Copie los archivos grandes completos en la ubicación de compilación.

El proyecto de instalación no actualiza los archivos modificados

Aun cuando configura el proyecto de instalación para que se quiten las versiones anteriores de los archivos, Windows Installer no reemplaza los archivos modificados o reemplazados por el usuario. Para obtener más información, vea Ningún archivo tiene una versión con comprobación hash.

No se puede utilizar una condición de inicio para comprobar .NET Framework 3.5 SP1

La detección de requisito previo para .NET Framework 3.5 SP1 no se admite con escenarios de MSI únicamente. En su lugar, debe configurar el arranque Setup.exe para que compruebe e instale .NET Framework 3.5 SP1. Para obtener más información, vea Requisitos previos (Cuadro de diálogo).

Cómo crear un arranque de 64 bits que incluya .NET Framework

Incluir .NET Framework 3.0 como un requisito previo e instalar el arranque Setup.exe en equipos de 64 bits da un mensaje de error que indica que no se admiten los sistemas operativos de 64 bits.

.NET Framework 3.5 admite los sistemas operativos de 32 y 64 bits. Si su aplicación tiene como destino sistemas operativos de 32 y 64 bits, seleccione .NET Framework 3.5 en el cuadro de diálogo Requisitos previos. Para obtener más información, vea Requisitos previos (Cuadro de diálogo).

¿Cómo se instalan los paquetes de arranque para SQL 2008 y .NET Framework 3.5 SP1?

Los paquetes de arranque para SQL 2008 y .NET Framework 3.5 SP1 se pueden instalar en el equipo de desarrollo instalando las ediciones de Visual Studio Express. Para Visual Studio 2010, SQL 2008 y .NET Framework 3.5 SP1, los paquetes de arranque están incluidos y esta solución alternativa no es necesaria.

La barra diagonal inversa en un cuadro de texto produce una excepción de URL o de directorio no válido

Si su acción personalizada confía en que los clientes escriban una ruta de acceso de una carpeta de instalación, puede ver un mensaje de error ArgumentException. Esto puede estar relacionado con un directorio o dirección URL no válidos.

Para evitar este mensaje de error, reemplace la barra diagonal inversa en la propiedad Edit1 y en el cuadro de texto Edit1Value con un espacio: /nombre="[TARGETDIR] ". Después, analice el valor y cree una ruta de acceso completa mediante el método Combine.

No se puede agregar una línea nueva (\n) a un mensaje de error en un proyecto de instalación

Si escribe un mensaje de error en un proyecto de instalación, el carácter de nueva línea no se puede agregar al proyecto con Orca.exe. Pero puede hacerlo utilizando la API de Windows Installer en una acción posterior a la compilación con el siguiente comando: "INSERT INTO `Property` (`Property`, `Value`) VALUES 'ERRORMESSAGELINES', 'first\r\nnext\r\nlast')". Para obtener más información sobre cómo utilizar una acción posterior a la compilación, vea https://go.microsoft.com/fwlink/?LinkId=150770.

No se puede seleccionar .NET Framework 2.0 SP1 o .NET Framework 3.0 SP1 en el cuadro de diálogo Requisitos previos

El cuadro de diálogo Requisitos previos no muestra .NET Framework 2.0 SP1 o .NET Framework 3.0 SP1 en la lista de aplicaciones para instalar cuando no están instaladas. No están disponibles como archivos redistribuibles independientes. Para que se instalen como requisito previo en equipos de usuario final, seleccione .NET Framework 3.5 en el cuadro de diálogo Requisitos previos. Para obtener más información, vea Requisitos previos (Cuadro de diálogo).

El valor predeterminado de los cuadros de texto sobrescribe los parámetros de la línea de comandos

Si ejecuta el instalador utilizando la marca \qb y pasa parámetros de línea de comandos para establecer propiedades en un cuadro de diálogo de usuario, estos parámetros pueden sobrescribirse. Para evitar que el valor predeterminado de una propiedad la sobrescriba un cliente, cambie el archivo msi con Orca.exe.

  1. Establezca el valor del campo de edición del cuadro de diálogo en su nombre de propiedad. Por ejemplo, establezca la propiedad Edit1Value en [EDITB1].

  2. Compile el MSI en Visual Studio.

  3. Modifique el MSI mediante ORCA y coloque el valor predeterminado de la propiedad en la tabla de propiedades.

  4. Guarde el MSI.

También puede utilizar una acción posterior a la compilación para efectuar este cambio. Para obtener más información sobre cómo utilizar una acción posterior a la compilación, vea https://go.microsoft.com/fwlink/?LinkId=150770.

No se detectaron las dependencias de ensamblado

Al agregar a un proyecto de implementación el grupo de resultados de un proyecto, un ensamblado o un módulo de combinación, los ensamblados dependientes se detectan y se agregan automáticamente al proyecto. Se recomienda agregar un grupo de resultados que contenga el ensamblado porque las herramientas de implementación pueden detectar más fácilmente las dependencias de un grupo de resultados.

Si un ensamblado dependiente se carga en tiempo de ejecución mediante código, las herramientas de implementación no podrán detectarlo. En la medida de lo posible, evite cargar ensamblados desde el código; si lo hace, deberá agregar manualmente al proyecto de implementación los ensamblados dependientes. La siguiente tabla recoge problemas de detección de dependencias y sus soluciones.

Problema de dependencia

Soluciones

El proyecto hace referencia a un componente que debe instalarse únicamente como parte de otro producto.

  • Excluya el componente del proyecto de implementación.

  • Agregue una condición de inicio para comprobar si el componente está en el equipo de destino. Si no se encuentra el componente, detenga la instalación.

El proyecto hace referencia a un componente no administrado que no expone todas sus dependencias.

El proyecto hace referencia a un ensamblado que tiene una dependencia de un componente no administrado.

Una aplicación MFC no se localiza cuando está instalada en un equipo cuya configuración regional no es inglés

Al implementar una aplicación MFC utilizando un proyecto de implementación de Visual Studio, no se detectan las dependencias de los módulos de combinación localizados Mfc_loc_e.msm y Mfc_loc_fe.msm. Los módulos de combinación se incluyen con Visual C++; la ubicación de instalación predeterminada es \Program Files\Common\Merge Modules. Para poder distribuir una aplicación MFC localiza, los dos módulos de combinación deben agregarse manualmente al proyecto de implementación.

No pueden encontrarse los archivos en un servidor web después de instalarlos

Al instalar un programa de instalación web en un servidor web, la propiedad VirtualDirectory de la carpeta de aplicación web y cualquier otra carpeta web personalizada determinan dónde se instalarán los archivos de esas carpetas con respecto a la raíz web. Si esta propiedad se deja en blanco, los archivos se instalarán en la carpeta raíz web (inetpub\wwwroot). Para obtener más información, vea VirtualDirectory (Propiedad).

¿Cómo se instala una aplicación web en el directorio raíz del servidor Web?

De forma predeterminada, al instalar una aplicación web utilizando un proyecto de implementación de programa de instalación web, los archivos se instalan en una carpeta con el mismo nombre que el proyecto de implementación, directamente bajo la carpeta raíz web. La propiedad VirtualDirectory de la carpeta de aplicación Web determina dónde se instalan los archivos. Para realizar la instalación en el directorio raíz web, cambie la propiedad VirtualDirectory a null (elimine el valor predeterminado). Para obtener más información, vea VirtualDirectory (Propiedad).

¿Cómo desactivo el análisis de dependencias?

No existe ningún método directo para desactivar la búsqueda y resolución de análisis de dependencias. Sin embargo, existe una solución alternativa: puede desactivar la opción Incluir rutas de acceso de búsqueda estándar en el cuadro de diálogo que aparece al hacer clic en la propiedad SearchPath.

Deben tenerse en cuenta una serie de consideraciones adicionales:

  • Los archivos deben agregarse con el comando Agregar archivo (en el menú Proyecto, seleccione Agregar y, a continuación, Archivo). Si usa Agregar resultados del proyecto (en el menú Proyecto, seleccione Agregar y, a continuación, Resultados del proyecto), se incluirán las dependencias indicadas en el proyecto de código.

  • Al compilar un proyecto, es posible que aparezcan una o varias advertencias de tipo No se puede encontrar la dependencia pero, en este caso, pueden pasarse por alto.

  • Si sólo desea desactivar el análisis de dependencias para algunos archivos, puede incluir dichos archivos en un proyecto de módulo de combinación con las rutas de acceso de búsqueda estándar desactivadas. A continuación, use Agregar módulo de combinación (en el menú Proyecto, seleccione Agregar y, a continuación, Agregar módulo de combinación) para incluir el archivo .msm en un proyecto de instalación normal con las rutas de acceso de búsqueda estándar activadas.

¿Cómo desactivo la reparación en un archivo que se espera que los usuarios modifiquen o eliminen?

Visual Studio crea accesos directos anunciados de forma que, cuando el programa se inicia, comprueba la existencia de todos sus archivos. Para modificar este comportamiento de modo que Visual Studio no repare el archivo, seleccione los archivos del proyecto de instalación y cambie la propiedad Condition a NOT REINSTALL para que el archivo no vuelva a instalarse durante una reparación, y establezca la propiedad Transitive en TRUE para que la condición vuelva a evaluarse. Esto hace que el instalador aparezca brevemente en la pantalla tras la eliminación del archivo, porque comprueba que el archivo no vuelve a instalarse; después de esto, ya no verá el instalador.

¿Cómo depuro una clase de acción/instalador personalizada?

Puede utilizar alguno de los siguientes métodos:

  • Agregue una llamada en su código a System.Diagnostics.Debugger.Launch. Este método abre la depuración Just-In-Time y le permite asociar un nuevo depurador al código.

  • Agregue una llamada en su código a MessageBox.Show("Debug Me"). Cuando se muestre el cuadro de mensaje, use Visual Studio para asociarlo al proceso MessageBox. A continuación, agregue saltos (en proyectos de Visual C#) o paradas (en proyectos de Visual Basic) en el código.

  • Establezca las preferencias de depuración para iniciar %windir%\Microsoft. net\Framework\versión\InstallUtil.exe como un programa externo en la Página de depuración del Diseñador de proyectos. El nombre del ensamblado de acción personalizado es el argumento de la línea de comandos. Cuando presiona F5, visita el punto de interrupción. InstallUtil.exe ejecutará las acciones personalizadas de la misma manera que lo hace MSI.

No funciona el registro de ensamblados con interfaces COM

Se trata de un error RegAsm conocido. Si el ensamblado incluye una dependencia, por ejemplo, de otra biblioteca de clases, puede que RegisterCOM no funcione ya que se llama a RegAsm para obtener la información de registro. Como se llama a RegAsm en el directorio \obj, la dependencia no se encuentra y se produce un error sin notificación en RegAsm. La mejor solución consiste en agregar manualmente el ensamblado desde el directorio \bin. Otra solución consiste en utilizar RegisterSelfReg.

Asegúrese también de que realiza el registro manualmente mediante RegAsm/Codebase. Si el ensamblado no está en una ubicación compartida, no se encuentra a menos que esté en el mismo directorio que el código de llamada. /Codebase escribe el directorio en el Registro.

¿Cómo soluciono problemas en las instalaciones de Windows Installer utilizando archivos de registro?

Windows Installer graba en un archivo de registro las operaciones que lleva a cabo mientras instala programas. El archivo de registro se sitúa en el directorio donde se encuentra el archivo .msi.

¿Cómo obtengo un archivo de registro para mi instalación?

Existen dos formas:

  • Realice la ejecución desde la línea de comandos con el modificador de registro.

    misexec /i mysetup.msi /l*v mylog.txt
    
  • Guarde el siguiente texto como un archivo .reg y cárguelo en el Registro.

    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
    "Logging"="voicewarmup"
    "Debug"=dword:00000007
    

    A continuación, abra el directorio \temp y ordene los archivos por fecha. El archivo msi*.log más reciente corresponde a la operación de instalación o desinstalación más reciente.

¿Cómo realizo la instalación en el subdirectorio de un producto previamente instalado?

  1. Supongamos que el producto previamente instalado, Producto 1, está instalado y tiene un archivo denominado MyFile.txt.

  2. Utilice Orca.exe (del Kit de desarrollo de software de Windows Installer) para ver la tabla File y buscar la fila que representa MyFile.txt.

  3. Obtenga el valor de la columna Component_ y, a continuación, abra la tabla Component.

  4. En la tabla de componentes, busque la fila que tiene el valor Component_ en la columna de componente y obtenga el ComponentID. Copie este valor en el Portapapeles. Cierre Orca.exe.

  5. En su proyecto de instalación, abra el Editor de condiciones de inicio y agregue una búsqueda de componentes de Windows Installer. Pegue el ComponentID en la propiedad ComponentID de la nueva búsqueda.

  6. Copie la propiedad Property. Debería ser similar a COMPONENTEXISTS1.

  7. Abra el Editor del sistema de archivos y seleccione la carpeta de la aplicación.

  8. Edite la propiedad DefaultLocation de forma que resulte similar a [COMPONENTEXISTS1]MySubFolder (dado que la ruta de acceso en COMPONENTEXISTS1 incluye una barra diagonal inversa '\' final).

Una vez efectuado el paso 6 del procedimiento anterior, es posible que desee agregar una condición al Editor de condiciones de inicio para comprobar si se ha encontrado el componente y para bloquear la instalación y mostrar un mensaje si no se encuentra. La condición sería COMPONENTEXISTS1 (que significa que puede ejecutarse Installer si COMPONENTEXISTS1 no está vacío).

¿Cómo instalo carpetas Web personalizadas en un puerto no predeterminado?

Para instalar las carpetas web personalizadas en un puerto que no esté designado de forma predeterminada, ejecute la instalación desde la línea de comandos. El comando debe incluir los valores de la propiedad Property de cada una de las carpetas Web personalizadas. Normalmente, un valor debería ser similar a NEWWEBPROPERTY1. También necesita incluir TARGETPORT para la carpeta de aplicación Web.

Por ejemplo, si el servidor web está en el puerto 20, la línea de comandos debería tener el siguiente aspecto:

msiexec /i mywebsetup.msi TARGETPORT=20 NEWWEBPROPERTY1PORT=20

El comando anterior es para una sola carpeta web. Si tiene más de una carpeta web, agregue más pares PROPERTY=VALUE, tal y como se ha especificado anteriormente, a cada carpeta para redirigir el puerto de cada carpeta mostrada al puerto especificado.

Puede que desee quitar el cuadro de diálogo Dirección de la instalación ya que, si alguien cambia el puerto en la interfaz de usuario durante la instalación, las carpetas Web personalizadas utilizarán el valor de la línea de comandos.

¿Cómo instalo en la raíz de un sitio Web?

Para instalar en la raíz de un sitio Web, por ejemplo c:\inetpub\wwwroot, establezca VirtualDirectory en una cadena vacía en el proyecto de instalación Web o durante la instalación.

¿Cómo instalo un elemento ServicedComponent en la GAC y lo configuro en el catálogo de COM+?

Si intenta instalar un elemento ServicedComponent en la GAC y configurarlo en el catálogo de COM+, podría recibir el error de compilación siguiente:

"Unable to build custom action named 'Primary output from RegServer (Active)' because the file's Folder property is set to Global Assembly Cache."

No se admite esta instalación, porque los ensamblados en la GAC no siempre están disponibles (se confirma a la GAC) cuando se ejecutan las acciones personalizadas.

La solución alternativa consiste en incluir el código en archivos diferentes y el código de acción personalizada en un archivo que no vaya a la GAC, si es posible. A veces, no es posible distribuir el código de esta forma.

¿Cómo creo un vínculo de desinstalación en mi acceso directo?

  1. En el directorio de su proyecto de instalación, cree un nuevo archivo Uninstall.bat.

  2. En su proyecto de instalación, copie la propiedad ProductCode (un valor como [12345678-1234-1234-1234-123412341234]).

  3. Edite Uninstall.bat para que incluya una línea que contenga lo siguiente, donde ProductCode es el valor que se copió en el paso 2:

    Msiexec /x ProductCode

  4. Agregue Uninstall.bat a la carpeta de aplicación de su proyecto de instalación.

  5. Haga clic con el botón secundario en Uninstall.bat y seleccione Crear acceso directo para crear un acceso directo.

  6. Coloque el acceso directo en la carpeta del menú Inicio adecuada en el proyecto de instalación.

  7. Cambie el nombre del acceso directo por algo similar a "Desinstalar <nombre de la aplicación>".

¿Dónde puedo encontrar ejemplos de cómo usar los proyectos de instalación?

Consulte Tareas y tutoriales de implementación para obtener ejemplos de cómo usar los proyectos de instalación.

¿Cómo planeo la implementación de aplicaciones basadas en .NET Framework?

Esta guía proporciona la información necesaria para planear y llevar a cabo una implementación eficaz de las aplicaciones basadas en .NET Framework: Deploying .NET Framework-based Applications.

¿Dónde puedo descargar el Kit de desarrollo de software de Windows Installer?

El SDK de Windows Installer se puede descargar desde el Centro de descarga de Microsoft.

https://go.microsoft.com/fwlink/?LinkId=161393.

¿Dónde puedo obtener las actualizaciones y ayuda para Crystal Reports?

El software actualizado y los módulos de combinación pueden instalarse desde la página de descargas y actualizaciones del sitio web BusinessObjects.com:

http://support.businessobjects.com/fix/downloads_updates.asp

¿Cómo resuelvo mensajes de error "Error irrecuperable de compilación"?

Si recibe el mensaje "Error irrecuperable de compilación" cuando compila proyectos de instalación e implementación, lea este artículo:

"PRB: 'Unrecoverable Build Error' Error Message When You Build Setup and Deployment Projects" en la dirección https://support.microsoft.com/?id=329214.

¿Cómo resuelvo mensajes de error de validación?

Si recibe mensajes de error como An error occurred when validating. HRESULT = '80040155' lea el artículo "PRB: "Unrecoverable Build Error" Error Message When You Build Setup and Deployment Projects" en la dirección https://support.microsoft.com/?id=329214 y siga los pasos de "Missing Registrations".

¿Cómo modifico IIS durante la implementación con acciones personalizadas?

En el artículo "Modifying Internet Information Services During Deployment with Custom Actions" en https://msdn.microsoft.com/es-es/library/aa289522(vs.71).aspx(vs.71).aspx(vs.71).aspx se explica cómo corregir problemas habituales. Entre estas estructuras se incluyen las siguientes:

  • Cómo modificar los parámetros de una carpeta IIS que no estén disponibles en una carpeta web del Editor del sistema de archivos

  • Cómo implementar una aplicación híbrida que use tanto Visual Basic 6 como Visual Basic .NET y versiones posteriores.

  • Cambios en la implementación de aplicaciones escritas en Visual Studio .NET y posterior con respecto a las aplicaciones de Visual Basic 6.

¿Cómo implemento aplicaciones ASP.NET?

Para obtener información acerca de cómo implementar una aplicación ASP.NET con Visual Studio .NET, vea Deploying an ASP.NET App Using Visual Studio .NET.

Tras la instalación en Windows 2000, la aplicación emite una advertencia de que se requiere MDAC 2.8

Cualquier aplicación que haga referencia al espacio de nombres System.Data presenta una dependencia de Microsoft Data Access Components (MDAC) 2.8 o versiones posteriores. En la mayoría de los casos, el archivo ya se encuentra instalado como parte del sistema operativo. En Windows 2000 Service Pack 3 y versiones anteriores, puede que sea necesario instalar el componente con la aplicación. Puede hacer esto agregándolo al paquete de arranque y descargando el archivo de Microsoft durante la instalación. Para obtener más información, vea Requisitos previos para la implementación de aplicaciones.

¿Cómo se cambia el nivel de permisos para las acciones personalizadas?

De forma predeterminada, las acciones personalizadas se ejecutan con privilegios del SISTEMA, pero puede suceder que la acción personalizada requiera más privilegios para completar la tarea. Para cambiar este comportamiento predeterminado, deshabilite la marca "noimpersonate" de la acción personalizada. Para obtener más información, vea Acción personalizada en opciones de ejecución de script.

Artículos de Knowledge Base relacionados

Los siguientes artículos de Knowledge Base proporcionan información sobre problemas de implementación de Windows Installer:

Vea también

Referencia

VirtualDirectory (Propiedad)

Otros recursos

Implementar aplicaciones y componentes

Tareas y tutoriales de implementación