Deseo crear un archivo DLL CustomAction C# que dependa de una DLL de .NET de terceros (en este caso específico, es MySql.Data.dll
). Tengo el archivo DLL de acción personalizada de C# que funciona con el fragmento de WiX a continuación. Solo intento descubrir cómo agregar de manera segura una dependencia a la acción personalizada. Nota: Realmente no necesito este archivo de archivo DLL de terceros para que se ejecute la aplicación instalada.Cómo ejecutar un archivo DLL de acción personalizada WiX con dependencias
<Binary Id="MyCustomAction.dll" SourceFile="MyCustomAction.CA.dll" />
<CustomAction Id="FixupConfigForMysql" Return="check" />
<InstallExecuteSequence>
<Custom Action='FixupConfigForMysql' After='InstallFiles'>NOT Installed</Custom>
</InstallExecuteSequence>
¿Es necesario instalar el archivo DLL de terceros (MySql.Data.dll
) con el fin de conseguir la acción personalizada para ejecutar?
¿Puedo agregar otra etiqueta binaria con el archivo DLL de terceros?
Parece que solo funciona, posiblemente debido a que el proceso de compilación de acción personalizada se encarga de agregar estas dependencias. Si lo entiendo correctamente, se convierten en parte del archivo .CA.dll generado por la compilación de acción personalizada. http://blogs.msdn.com/jasongin/archive/2008/05/23/custom-action-project-templates.aspx –
@AdamTegen Gracias por publicar ese artículo, me salvó otra semana de golpear mi cabeza contra ¡la pared! La línea importante era "El proceso de compilación de acción personalizada empaqueta automáticamente los ensamblajes no GAC de los que depende su CA" Tenía todos mis ensamblajes dependientes en el GAC en mi caja de desarrollo y no pude entender por qué no lo hicieron. Parece estar presente en la caja de prueba. ¡Gracias! –
Como nota para los demás, asegúrese de que su elemento 'Binario' apunta al archivo' .CA.dll' que genera WiX, y no el archivo DLL .NET original – Cocowalla