¿Cómo obtener un dominio de directorio activo disponible en la red usando WIX? [cerrado]

Estoy desarrollando un instalador WIX. La configuración requiere un nombre de dominio activo como entrada mientras que la instalación con un clic de un botón dice "Examinar". Busqué en Google mucho pero no encontré ninguna manera de implementar. Ayude a implementar lo mismo o sugiera alguna otra forma de lograrlo. Gracias.

preguntado el 03 de diciembre de 13 a las 13:12

No entiendo lo que estás preguntando. ¿Qué quiere decir con dominio activo disponible? Active Directory consta de bosques y dominios y puede haber más de un dominio disponible. ¿Cuál necesitas? ¿Por qué lo necesitas? Explique claramente su escenario con más detalle. -

@ChristopherPainter: quiero que el usuario explore el dominio disponible en el directorio activo. Puede haber varios dominios. Cada dominio puede contener varios grupos de usuarios. Al hacer clic en el botón Examinar, se debe mostrar un cuadro de diálogo que contiene una lista de dominios para que el usuario pueda seleccionar cualquier dominio para continuar con la instalación. Por favor, hágamelo saber si necesita más detalles. -

¿En qué lenguaje de programación desea escribir la acción personalizada? ¿C++, C#? -

C#. Pero, ¿realmente necesito escribir una acción personalizada? ¿No hay una extensión integrada en WIX para lograr lo mismo? -

Usted mismo etiquetó la pregunta custom-action. No hay una extensión incorporada. ¿Tienes que escribir uno? Probablemente no. No estoy seguro de para qué va a usar esto, pero posiblemente podría diferirlo hasta la primera ejecución de la aplicación y manejarlo allí. -

1 Respuestas

Aquí hay un esquema de alto nivel de cómo hacer lo que quieres.

Cree su cuadro de diálogo que tendrá el botón de exploración. (Diálogo principal) Cree su diálogo que mostrará la lista de dominios (Diálogo secundario) Configure sus elementos de publicación (ControlEvents) en el botón Examinar principal del diálogo para generar el diálogo secundario.

Cree una acción personalizada en C++ o C# que consulte las API de Windows para obtener una lista del dominio del bosque. Use las API de Windows Installer para llenar filas temporales en la tabla ListBox. Esta tabla se utilizará como control ListBox en el cuadro de diálogo Hijo. Es posible que deba usar un elemento GuaranteeTable para asegurarse de que se cree la tabla ListBox.

En C# puede leer cómo obtener una lista de dominios aquí: ¿Cómo obtener una lista de todos los dominios?

Para obtener información sobre los registros temporales, consulte mi blog aquí: Interfaz de usuario dinámica de Windows Installer

Programe la acción personalizada para que se ejecute en la secuencia de la interfaz de usuario después de AppSearch. Construir y probar.

Así es como funciona. El instalador inicia y ejecuta la CA. La CA obtiene una lista de dominios e inserta filas temporales en la tabla ListBox como si se hubieran creado en el momento de la compilación. El usuario accede al cuadro de diálogo principal y hace clic en el botón de exploración. Se genera el cuadro de diálogo secundario (modal en la parte superior) y muestra la lista de dominios. Seleccionan un registro y el valor asociado con el registro se establece en la propiedad asociada con ListBox. Hacen clic en Aceptar y luego en Siguiente y siguen su camino alegre. Más tarde, usa la propiedad en algún lugar como una entrada del Registro diciendo [DOMINIO SELECCIONADO] o cualquier otra cosa que haya llamado a la propiedad.

Ya que estamos hablando de propiedades con datos de configuración del usuario, ahora es un buen momento para mencionar:

El patrón "Recordar propiedad" del conjunto de herramientas de WiX

Esta es la respuesta más detallada que puedo proporcionar sin hacer el trabajo por usted. La asistencia adicional está disponible a una tarifa por hora.

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.