¿Cómo cambiar las propiedades del instalador en mi acción personalizada C#?cambiar las propiedades del instalador en C# acción personalizada
Respuesta
Para acceder a una propiedad de WiX, como las establecidas con el elemento de propiedad, use el indexador del objeto de sesión . Aquí hay un ejemplo:
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
string myProperty = session["MY_PROPERTY"];
return ActionResult.Success;
}
Establecer las propiedades es igual de fácil. Establecerá el valor haciendo referencia a la clave con el nombre de su propiedad. Aquí hay un ejemplo:
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session["MY_PROPERTY"] = "abc";
return ActionResult.Success;
}
Si la propiedad no existe cuando la configura, se creará. Del mismo modo, puede borrar una propiedad estableciendo su valor en nulo. Crear o cambiar los valores de propiedad desde una acción personalizada no impide que el instalador muestre esas propiedades en el registro de instalación. Por lo tanto, si una propiedad contiene información que debería estar oculta, es mejor que lo declare en su marcado WiX primero y establezca su atributo Oculto en "sí".
<Property Id="MY_PROPERTY" Hidden="yes" />
No puede. Solo Win32 DLL y VBScript Inmediato acciones tienen acceso de escritura a las propiedades del instalador. Cualquier otro tipo de acción personalizada solo puede recibir propiedades a través de su línea de comando oa través de CustomActionData.
Aquí hay un tutorial para una acción de C++ DLL personalizada: http://www.codeproject.com/KB/install/msicustomaction.aspx
para obtener y establecer las propiedades de Windows Installer puede utilizar MsiGetProperty() y MsiSetProperty().
- 1. WIX C++ acción personalizada
- 2. Acción personalizada C# en Wix
- 3. Problema de acción personalizada del instalador: no se puede escribir en la clave de registro
- 4. Modificación de las propiedades del instalador de NSIS
- 5. ¿Cómo transfiero las propiedades de msiexec a una acción personalizada de WiX C#?
- 6. acción personalizada en SonataAdminBundle
- 7. no puedo pasar propiedades a la acción personalizada de WiX
- 8. ¿Cambiar las propiedades de la fuente UINavigationBar?
- 9. no puedo encontrar C/C++ en las propiedades del proyecto
- 10. Representación de retraso del elemento dom al cambiar las propiedades
- 11. Detectar la instalación silenciosa en .NET Acción personalizada
- 12. Jquery para cambiar la acción del formulario
- 13. Significado del? operador en C# para las propiedades
- 14. cómo establecer las propiedades del sistema en C#
- 15. Acción personalizada no funciona - Proyecto de instalación de Visual Studio
- 16. ASP.NET MVC: cambiar las propiedades del modelo en la devolución de datos
- 17. Necesito una acción personalizada MSI que copie un archivo del directorio fuente MSI
- 18. Error 2896 usando un WiX C#/.NET acción personalizada 4
- 19. Argparse - ¿Acción personalizada sin argumento?
- 20. Wix: Agregar al Listbox desde C++ Acción personalizada
- 21. Cambiar la apariencia del texto en Emacs: las superposiciones funcionan, las propiedades de texto no
- 22. Lazy propiedades del diccionario en C#
- 23. La acción personalizada en C# utilizada a través de WiX falla con el error 1154
- 24. Rieles: agregue acción personalizada al recurso
- 25. Acción <T> equivalente para las propiedades
- 26. ¿Cambiar un puntero se considera una acción atómica en C?
- 27. Instalador para la aplicación C#
- 28. ¿Cómo obtengo el nombre de los usuarios actuales en una acción personalizada para el instalador de Windows?
- 29. El instalador de MSI no puede encontrar InstallState cuando se usa una acción personalizada con los parámetros
- 30. ASP.NET MVC Pass objeto de acción personalizada Filtro de Acción
¿Qué pasa si está usando DFT, sin embargo, para escribir su CA administrada? –
Sí, la respuesta es correcta, pero solo parcialmente correcta. Las clases de instalador (de Visual Studio) no pueden acceder a las propiedades, ya que no hay referencias ni remotos del identificador del instalador. Sin embargo, las soluciones de acción personalizada mejor administradas proporcionan acceso, ya sea a través de abstracciones como Session ["property"] o a través de P/Invoke directo en el identificador de Installer. –