Pregunta

Digamos, por ejemplo, que mi aplicación admite impresoras Epson e impresoras Canon.

Me gustaría tener una opción durante la instalación, tal vez botones de opción o, mejor, casillas de verificación (para tener la opción de elegir ambas) que digan "Instalar controladores Epson" e "Instalar controladores Canon".

Luego, según la selección del usuario, el paquete de instalación instalaría sólo los controladores Epson, sólo los controladores Canon, o ambos.

Supongo que lo que quiero también se puede describir como que tiene varios requisitos previos, pero hágalos opcionales.

¿Alguna sugerencia sobre por dónde empezar?

¿Fue útil?

Solución

Parece que lo que necesito no se puede hacer desde la configuración e implementación de VS, ya que estoy intentando ejecutar un msi desde msi, lo cual no está permitido.Entonces, como solución alternativa, tuve que crear una pequeña aplicación de Windows Forms 'contenedor' con algunas casillas de verificación y una función como esta.

    private void InstallComponent(string filePath)
    {
        System.Diagnostics.Process installerProcess;

        installerProcess = System.Diagnostics.Process.Start(filePath);

        while (installerProcess.HasExited == false)
        {
            //indicate progress to user
            Application.DoEvents();
            System.Threading.Thread.Sleep(250);
        }
    }

y el botón 'Instalar' que haría algo parecido a

    private void buttonInstall_Click(object sender, EventArgs e)
    {
        if (checkBoxCanonDrivers.Checked)
        {
            InstallComponent("CanonSetup.exe");
        }

        if (checkBoxEpsonDrivers.Checked)
        { 
            InstallComponent("EpsonSetup.exe");
        }

        // ............

        InstallComponent("MyMainApplicationSetup.exe");
    }

Ahora vamos a hacer que esta aplicación sea flexible, como leer las ubicaciones de los archivos de configuración desde un archivo XML, etc., pero eso está fuera del alcance de la pregunta...

Otros consejos

Creo que se puede hacer esto en un proyecto de implementación de Visual Studio, al menos para los casos simples (hasta 4 casillas de verificación, creo, pero puedo estar equivocado). Ver este artículo de MSDN: Las casillas de verificación del cuadro de diálogo de interfaz de usuario ; se explica cómo presentar un cuadro de diálogo con casillas de verificación durante la instalación y de incluir o excluir archivos basado en la selección casilla de verificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top