Tutorial: Implementar un documento en una carpeta local y un ensamblado en una carpeta de red (2003 System)
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Este tutorial muestra cómo implementar una personalización de nivel de documento de modo que el documento esté en el equipo de desarrollo y el ensamblado esté en una carpeta de un equipo de red. Este tipo de implementación se conoce como modelo de implementación de equipo local y red.
Para obtener más información sobre las opciones para implementar la solución, vea Modelos de implementación (2003 System). Para obtener más información sobre las personalizaciones de nivel de documento, vea Arquitectura de las personalizaciones de nivel de documento.
En este tutorial se muestran las siguientes tareas:
Editar el manifiesto de aplicación incrustado en un documento para que señale al ensamblado.
Conceder plena confianza a un ensamblado de solución de Visual Studio Tools para Office que está almacenado en una carpeta de red.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).
Microsoft Office Word 2003 o Microsoft Office Excel 2003.
Nota: Este tutorial da por hecho que está implementando una solución de Word. Si desea realizar el tutorial con una solución de Excel, reemplace el nombre del proyecto de Word por el nombre de un proyecto de Excel en todos los ejemplos de código.
Obtener acceso a un equipo de red para la implementación.
Privilegios de administrador en el equipo de desarrollo, con el fin de que pueda establecer la directiva de seguridad.
Crear una solución para implementarla
El primer paso consiste en crear una solución de Visual Studio Tools para Office básica para su implementación. Si ya tiene una solución que desea implementar, puede omitir esta sección y continuar con "Implementar el manifiesto de aplicación incrustado".
Para crear una solución para implementarla
Cree un proyecto de documento de Word con el nombre WordDeployment, mediante la plantilla de proyecto de Office 2003.
En el asistente, seleccione Crear un nuevo documento. Para obtener más información, vea Cómo: Crear proyectos de Visual Studio para Office.
En el Explorador de soluciones, haga clic con el botón secundario en el archivo de código ThisDocument y, a continuación, haga clic en Ver código.
Agregue el código siguiente al controlador de eventos ThisDocument_Startup. Este código muestra un mensaje cuando se abre el documento, lo cual simplifica la comprobación de si la solución se ha implementado correctamente.
MessageBox.Show("The deployment is successful")
MessageBox.Show("The deployment is successful");
Para obtener más información sobre el evento Startup, vea Eventos de proyectos de Visual Studio Tools para Office.
Presione F5 para generar y ejecutar el proyecto. Compruebe que aparece el mensaje.
Salga de Word.
Cierre la solución en Visual Studio.
Asegúrese de que el documento no está abierto en una instancia de Word o en el diseñador de proyectos. Si el documento está abierto, se producirá un error al intentar el acceso al documento en un paso posterior con ServerDocument.
Editar el manifiesto de aplicación incrustado
Cuando genera una solución, el documento asume que el ensamblado está en la misma carpeta que el documento. La ubicación del ensamblado se almacena en un manifiesto de aplicación que se incrusta en el documento. Si implementa el documento y el ensamblado en diferentes carpetas, debe editar el manifiesto de aplicación incrustado para especificar la nueva ruta de acceso del ensamblado.
En los pasos siguientes, utilizará la clase ServerDocument con el fin de editar el manifiesto de aplicación incrustado en el documento para que señale a la nueva ubicación del ensamblado de personalización. El código que utiliza ServerDocument para editar el manifiesto de aplicación incrustado debe estar fuera del ensamblado de proyecto de Visual Studio Tools para Office asociado con el documento que está implementando.
Para editar el manifiesto de aplicación incrustado
Cree un nuevo proyecto de Aplicación de consola. Para obtener más información, vea Cómo: Crear soluciones y proyectos.
Agregar al nuevo proyecto una referencia al ensamblado Microsoft.VisualStudio.Tools.Applications.Runtime.dll.
Agregar la siguiente instrucción using (C#) o Imports (Visual Basic) en la parte superior del archivo de código Program.cs o Module1.vb.
Imports Microsoft.VisualStudio.Tools.Applications.Runtime
using Microsoft.VisualStudio.Tools.Applications.Runtime;
Agregar el código siguiente en el método Main para actualizar el manifiesto de aplicación incrustado. Reemplace la ruta de acceso del documento completa por la ruta de acceso completa del documento en la ubicación de compilación en el equipo de desarrollo, por ejemplo, carpeta de proyecto\bin\debug\WordDeployment.doc. Reemplace la ruta de acceso completa al ensamblado por la ruta de acceso completa del ensamblado en la carpeta de red en la que se implementará, por ejemplo, \\DeploymentServer\DeploymentFolder\WordDeployment.dll.
Dim sd As ServerDocument = Nothing Try sd = New ServerDocument("full document path") sd.AppManifest.Dependency.AssemblyPath = _ "full assembly path" sd.Save() Finally If Not sd Is Nothing Then sd.Close() End If End Try
ServerDocument sd = null; try { sd = new ServerDocument(@"full document path"); sd.AppManifest.Dependency.AssemblyPath = @"full assembly path"; sd.Save(); } finally { if (sd != null) { sd.Close(); } }
Genere y ejecute el proyecto. La aplicación de consola actualiza la ruta de acceso de ensamblado en el manifiesto de aplicación incrustado y, a continuación, se cierra.
Cierre el proyecto de aplicación de consola.
Implementar la solución
Ahora que las rutas de acceso son correctas, puede implementar el documento en una carpeta del equipo de desarrollo y el ensamblado en una carpeta del equipo de red.
Para implementar la solución
Cree una carpeta denominada TestDeployDocument en el directorio raíz de la unidad de sistema de Windows (%SystemDrive%). Por ejemplo, si su unidad de sistema es C, la nueva carpeta sería C:\TestDeployDocument.
Cree una carpeta denominada DeploymentFolder en un equipo de red y comparta la carpeta consigo mismo. Por ejemplo, si el equipo de red se denomina DeploymentServer, el nuevo recurso compartido de red sería \\DeploymentServer\DeploymentFolder. Asegúrese de que el recurso compartido de red tiene el mismo nombre que especificó en el marcador de posición ruta de acceso completa al ensamblado cuando editó el manifiesto de aplicación incrustado en los pasos anteriores.
Copie el documento de la carpeta de resultados de la compilación (normalmente carpeta del proyecto\bin\debug o carpeta del proyecto\bin\release) en la carpeta %SystemDrive%\TestDeployDocument del equipo de desarrollo.
Copie el ensamblado desde la carpeta de resultado de generación en el recurso compartido de red \\DeploymentServer\DeploymentFolder.
Abra el documento en la carpeta %SystemDrive%\TestDeployDocument del equipo de desarrollo. Aparecerá un mensaje de error que indica que la directiva de seguridad actual de .NET no permite que se ejecute la personalización. Esto se debe a que no tiene plena confianza para el ensamblado en la carpeta de red.
Haga clic en Aceptar y, a continuación, cierre el documento.
Establecer una directiva de seguridad
Para que la solución pueda ejecutarse, debe otorgar plena confianza al ensamblado en la directiva de seguridad de .NET Framework 2.0. Este tutorial utiliza la herramienta de la directiva de seguridad de acceso a código (Caspol.exe) para conceder plena confianza al ensamblado. Para obtener más información sobre el uso de Caspol.exe, vea Herramienta de la directiva de seguridad de acceso a código (Caspol.exe) y Configurar directivas de seguridad mediante la herramienta Directiva de seguridad de acceso a código (Caspol.exe).
Nota de seguridad: |
---|
Éstos son los pasos básicos para establecer una directiva de seguridad basada en la evidencia de dirección URL con el fin de completar el tutorial. No utilice estos pasos para conceder confianza a los ensamblados en una solución real si no está seguro de que la ubicación es segura. Además, en una solución real debe basar la seguridad en más evidencias que la dirección URL del ensamblado. Para obtener más información, vea Requisitos de seguridad para ejecutar las soluciones de Office (2003 System). |
Para conceder plena confianza al ensamblado
En el símbolo del sistema, escriba el comando siguiente para crear un nuevo grupo de código que otorgue plena confianza al ensamblado.
%windir%\Microsoft.NET\Framework\v2.0.50727\caspol -m -ag LocalIntranet_Zone -url "full assembly path" FullTrust -n "Test_Deployment_Assembly"
Reemplace la ruta de acceso completa al ensamblado por la ruta de acceso completa del ensamblado en la carpeta de red, por ejemplo, \\DeploymentServer\DeploymentFolder\WordDeployment.dll.
El parámetro -n especifica un nombre para el nuevo grupo de código. Este parámetro no es necesario, pero al especificar una etiqueta resulta más fácil identificar y quitar posteriormente el nuevo grupo de código después de completar el tutorial.
Escriba sí cuando se le pregunte si confirma que desea realizar la operación y presione ENTRAR.
Abra el documento en la carpeta %SystemDrive%\TestDeployDocument del equipo de desarrollo y compruebe que aparece el mensaje.
Pasos siguientes
También puede implementar el documento y el ensamblado en carpetas locales o puede implementar el documento y el ensamblado en una carpeta de red. Para obtener más información, vea los tutoriales siguientes:
Tutorial: Implementar un documento y un ensamblado en una carpeta local (2003 System)
Tutorial: Implementar un documento y un ensamblado en diferentes carpetas locales (2003 System)
Tutorial: Implementar un documento y un ensamblado en una carpeta de red (2003 System)
Vea también
Tareas
Tutorial: Implementar un documento y un ensamblado en una carpeta local (2003 System)
Tutorial: Implementar un documento y un ensamblado en diferentes carpetas locales (2003 System)
Tutorial: Implementar un documento y un ensamblado en una carpeta de red (2003 System)
Conceptos
Implementar soluciones de Office (2003 System)
Implementar personalizaciones de nivel de documento (2003 System)