2012-08-22 9 views
5

Cuando uso 3.x WiX con Visual Studio 2010 para crear un Windows Installer XML "Proyecto C# acción personalizada" llamada "MyCustomActions", genera los siguientes archivos:¿Se puede cambiar el nombre de la clase y el ensamblaje generado (para Visual Studio) para una acción personalizada de WiX C#?

"CustomAction.config", "CustomAction.cs "y el archivo de proyecto" MyCustomActions.csproj ".

se utiliza un esquema de ensamblaje de nombres que incluye nuestro nombre de la empresa, por lo que cambiar el nombre de ensamblado a algo como: CompanyName.ProductName.MyCustomActions

Al mismo tiempo, cambiamos el nombre por defecto y el espacio de nombre real para el Clase CustomActions en CompanyName.ProductName.MyCustomActions, para que coincida con el nombre de conjunto.

¿Está bien hacer esto sin cambiar ningún otro nombre de archivo o clase?

Lo que me pregunto es sobre el uso del archivo "CustomAction.config" - ¿el nombre tiene que estar relacionado de algún modo con el nombre del conjunto de salida? No estoy seguro de cómo se usará "CustomAction.config".

También: El archivo "CustomAction.cs" contiene una clase llamada "CustomActions" (observe el plural), y nuestra convención de nombres dice que el archivo de código para una clase debe tener el mismo nombre que la clase en sí, así que quisiera cambiar el nombre del archivo de código a "CustomActions.cs". Estoy bastante seguro de que está bien ... ¿verdad?

Por último, si cambiamos el nombre de la clase CustomAction a otra cosa, ¿estaría bien? Nuevamente, me preocupa su relación con "CustomAction.config".

Supongo que todas estas preguntas se pueden agrupar en una: ¿Cuál es la relación entre el nombre del archivo "CustomAction.config" con el resto del espacio de nombres, el ensamblaje y los nombres de clase?

Si tengo la respuesta a eso, respondería a todas mis preguntas anteriores.

Respuesta

5

Para un proyecto de acción personalizada WIX, sin importar el nombre de sus clases, ensamblaje o espacio de nombres o cualquier otra cosa, el archivo de configuración siempre se debe llamar 'CustomAction.config' (considérelo codificado en WIX) y su compilación la acción en la propiedad del archivo en VS debe establecerse en 'Contenido'. No hay tal requisito para nada más en el proyecto.

Este archivo de configuración puede especificar la versión de CLR compatible (de hecho, se recomienda) y puede contener cualquier configuración adicional que su dll de acción personalizada pueda requerir.

Su dll podrá leer estos ajustes de configuración adicionales utilizando la API de configuración de la aplicación .Net estándar.

+0

Excelente, gracias por la respuesta definitiva. :) –

0

He utilizado el archivo de configuración para ejecutar la aplicación en otros marcos .NET junto con el marco compilado. Por ejemplo, si usamos CLR 2.0 (.NET framework 2.0 o 3.5), esa aplicación no se ejecutó solo en .NET Framework 4.0. En ese caso, si configuramos el siguiente código en el archivo de configuración y colocamos el archivo de configuración junto con la aplicación, se ejecutará solo en la máquina instalada de Framework 4.0.

<startup useLegacyV2RuntimeActivationPolicy="true"> 
<supportedRuntime version="v2.0.50727"/> 
<supportedRuntime version="v4.0"/> 

Espero que la misma razón para usar el archivo Configurar aquí.

+0

Gracias por la respuesta, pero no creo que me diga si está bien cambiar el nombre del archivo (me preocupa que no se use si cambio los nombres de las clases, etc.). –

Cuestiones relacionadas