0

例如,假设我的应用程序支持 Epson 打印机和 Canon 打印机。

我想在安装过程中有一个选项,可能是单选按钮,或者更好的是复选框(可以选择两者),上面写着“安装爱普生驱动程序”和“安装佳能驱动程序”。

然后,根据用户选择,安装程序包将仅安装 Epson 驱动程序,或仅安装 Canon 驱动程序,或两者兼而有之。

我想我想要的也可以被描述为有几个先决条件,但是让它们成为可选的。

关于从哪里开始的任何建议?

4

2 回答 2

2

看起来我需要的东西无法从 VS 设置和部署中完成,因为我试图从 msi 运行 msi,这是不允许的。因此,作为一种解决方法,我必须创建一个带有几个复选框和这样的功能的小型“包装”Windows 窗体应用程序

    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);
        }
    }

和“安装”按钮,它会做一些类似的事情

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

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

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

        InstallComponent("MyMainApplicationSetup.exe");
    }

现在关闭以使此应用程序灵活,例如从 XML 文件中读取设置文件位置等,但这超出了问题的范围...

于 2009-02-24T00:40:43.857 回答
0

我认为您可以在 Visual Studio 部署项目中执行此操作,至少对于简单的情况(我认为最多 4 个复选框,但我可能错了)。请参阅此 MSDN 文章:复选框用户界面对话框;它解释了如何在安装过程中显示一个带有复选框的对话框,并根据复选框的选择来包含或排除文件。

于 2009-03-20T23:40:18.143 回答