Tengo un archivo MSI que se está creando con Wxs 3.0. Mi MSI hace referencia a una acción personalizada de C#, escrita usando el nuevo C# Custom Action project.¿Cómo transfiero las propiedades de msiexec a una acción personalizada de WiX C#?
Quiero pasar un argumento msiexec que va a parar a mi acción personalizada - por ejemplo:
msiexec/i MyApp.msi AMBIENTE = PRUEBA #
En mi archivo .wxs, me refiero a mi acción personalizada como esto:
<Property Id="ENVIRONMENT"/>
<Binary Id="WixCustomAction.dll" SourceFile="$(var.WixCustomAction.Path)" />
<CustomAction Id="WixCustomAction" BinaryKey="WixCustomAction.dll" DllEntry="ConfigureSettings"/>
<InstallExecuteSequence>
<Custom Action="WixCustomAction" After="InstallFiles"></Custom>
</InstallExecuteSequence>
mi C# acción personalizada se establece así:
[CustomAction]
public static ActionResult ConfigureSettings(Session session)
{
}
Esperaba poder acceder a la propiedad de esta manera:
cadena environmentName = session.Property ["ENVIRONMENT"];
pero esto no parece funcionar.
¿Cómo puedo acceder a la propiedad que pasé a msiexec en mi acción personalizada?
Una cosa es que no de las muestras, no debe haber ningún espacio alrededor del punto y coma. – epotter